BlenderToday LIVE #245
Changelog
1464 commits in total, of which 299 are fixes and 438 cleanup.
3D Paint Brush
- 3D Paint Brush: Disable Node Splitting - Jeroen Bakker
AUTHORS
- AUTHORS: add 20 new contributors - Campbell Barton
Alembic
- Alembic: read velocities on Points - Philipp Oeser
- Alembic: export render resolution on cameras - Philipp Oeser
Anim
- Anim: Add regression tests for NLA strip evaluation - Paolo Amadini
- Anim: View FCurve of Property in the Graph Editor - Christoph Lendenfeld
- Anim: Insert keyframes without keying sets - Christoph Lendenfeld
- Anim: Add basic autokey tests - Christoph Lendenfeld
- Anim: Restrict range of fcurve_to_keylist - Christoph Lendenfeld
- Anim: Marker Drawing Changes - Harley Acheson
- Anim: Change how Only Insert Needed works - Christoph Lendenfeld
- Anim: Add "Add/delete" track operations to NLA context menu - Nate Rupsis
- Anim: Refactoring NLA menu into more sensible format - Nate Rupsis
- Anim: store BoneCollections in a flat array - Nathan Vegdahl
- Anim: reorder "View in Graph Editor" buttons in the context menu - Damien Picard
- Anim: Don't use keying sets when inserting keyframes during autokeying - Christoph Lendenfeld
- Anim: Bake Channel operator - Christoph Lendenfeld
-
Anim: bone collections, split
ARMATURE_OT_collection_assignin two - Sybren A. Stüvel - Anim: better check for overrides when (un)assigning bone collections - Sybren A. Stüvel
-
Anim: clarify description of
armature.bone_collection_unassign_named- Sybren A. Stüvel - Anim: Unit Tests for "Insert Available" - Christoph Lendenfeld
- Anim: Graph Editor Scale From Neighbor - Christoph Lendenfeld
- Anim: add checks for system overrides to bone collection operators - Sybren A. Stüvel
-
Anim: RNA, mark
armature.collectionsas editable - Sybren A. Stüvel -
Anim: Remove
OPTYPE_REGISTERflag from some bone collection operators - Sybren A. Stüvel - Anim: make bone collections hierarchical - Sybren A. Stüvel
- Anim: remove debug print - Sybren A. Stüvel
- Anim: fix bone collection custom property copying on armature join - Alexander Gavrilov
- Anim: add unit test for armature bone collections - Sybren A. Stüvel
- Anim: Action bake custom properties - Nate Rupsis
-
Anim: Add
bone_collection.parentaccessor to RNA - Sybren A. Stüvel - Anim: tests, load factory-startup homefile in unit tests - Sybren A. Stüvel
-
Anim: add test for
bone_collection.bones- Sybren A. Stüvel -
Anim: add
bone_collection.bones_recursiveproperty - Sybren A. Stüvel -
Anim: replace
bone_collection.find_index()with.indexproperty - Sybren A. Stüvel -
Anim: make RNA property
bone_collection.parentwritable - Sybren A. Stüvel - Anim: hierarchical visibility for bone collections - Sybren A. Stüvel
- Anim: Unit tests for "Insert Needed" - Christoph Lendenfeld
-
Anim: add RNA getter for
bone_collection.is_visible_effectively- Sybren A. Stüvel - Anim: test, improve bone collection name tests - Sybren A. Stüvel
-
Anim: Bone Collections, replace
.move_to_parent()with.child_number- Sybren A. Stüvel - Anim: Outliner, show bone collections in their hierarchy - Sybren A. Stüvel
- Anim: ensure active bone collection doesn't change when adding new one - Sybren A. Stüvel
- Anim: fix Show All Bone Collections operator - Sybren A. Stüvel
- Anim: fix Solo Bone Collection operator - Sybren A. Stüvel
- Anim: armature.collections.move() now retains the active collection - Sybren A. Stüvel
- Anim: bone collection context menu, prevent operations on linked - Sybren A. Stüvel
- Anim: library override support for bone collection visibility - Sybren A. Stüvel
- Anim: fix assertion when un-assigning bone collection parent - Sybren A. Stüvel
- Anim: fix Python bone collection unit tests - Sybren A. Stüvel
Assets
- Assets: Cleanup/deduplicate usages of RNA enum for asset lib types. - Bastien Montagne
- Assets: RNA: Add RNA struct for 'AssetWeakReference' data. - Bastien Montagne
- Assets: Don't load previews when fetching asset list for menus - Julian Eisel
Audaspace
- Audaspace: faster audio resampling - Aras Pranckevicius
BKE lib remap
-
BKE lib remap: Add option to allow remapping of
ID.libpointers. - Bastien Montagne
BKE main
- BKE main: Add 'merge' utils to merge one Main content into another. - Bastien Montagne
BKE_lib
-
BKE_lib: Convert
BKE_lib_remapandlib_internheaders to be fully C++. - Bastien Montagne
BKE_lib_remap
-
BKE_lib_remap: Refactor: Replace
LinkNodebyblender::Span. - Bastien Montagne
BKE_main
- BKE_main: move header to be a fully CPP one. - Bastien Montagne
BLF
- BLF: Support All Render and Bitmap Formats - Harley Acheson
- BLF: Fix Shader Type Conversion - Harley Acheson
- BLF: Rename Text Shader Depth to Component Len - Harley Acheson
BLI
- BLI: support checking if two maps are the same - Jacques Lucke
- BLI: change timeit to use fmtlib instead of direct cout - Aras Pranckevicius
- BLI: Add utility to reverse index mask - Hans Goudey
- BLI: improve const handling in ImplicitSharingPtr - Jacques Lucke
- BLI: destruct non-trivial types after using remove_if - Guillermo Venegas
- BLI: Add "numbers" math header, decouple C API - Hans Goudey
BLI_fileops
- BLI_fileops: Harmonize 'rename' behaviors accross platforms. - Bastien Montagne
BLI_idprop
- BLI_idprop: simplify string creation logic, support unterminated strings - Campbell Barton
BMesh
- BMesh: Improve performance when copying attributes in same mesh - Hans Goudey
- BMesh: Use simpler element copy within the same mesh - Hans Goudey
- BMesh: don't make threading threshold dependent on debug/release build - Brecht Van Lommel
- BMesh: Optimize copying attributes from many elements at once - Hans Goudey
- BMesh: optimize attribute copying by reusing BMCustomDataCopyMap - Campbell Barton
Build
- Build: update rocky8 setup script to install the Jack audio library - Iyad Ahmed
- Build: update wayland protocols to 1.32 - Campbell Barton
- Build: replace Blender specific DEBUG by standard NDEBUG - Brecht Van Lommel
- Build: enable mismatched-tags warning for CLANG - Campbell Barton
- Build: remove Cycles build options to disable RTTI - Brecht Van Lommel
- Build: Linux: patch ocloc to store binaries per-generation - Xavier Hallade
- Build: update Windows ocloc to store binaries per generation - Brecht Van Lommel
- Build: Library updates for 4.1 - Brecht Van Lommel
- Build: auto detect Python version available in libs for make format - Brecht Van Lommel
- Build: bump sse2neon to version 1.7.0 - Brecht Van Lommel
- Build: changes to macOS build flags to fix linker warnings - Brecht Van Lommel
- Build: bump sse2neon to latest main - Brecht Van Lommel
- Build: bump supported Python version to 3.11 on macOS - Brecht Van Lommel
- Build: Ninja: tweak pooljobs default settings. - Bastien Montagne
- Build: Ninja: Use similar logic for default heavy and regular jobs amount. - Bastien Montagne
- Build: Ninja: Enable pooljobs by default. - Bastien Montagne
- Build: Ninja: Move 'Unity builds' to heavy pooljobs. - Bastien Montagne
- Build: bump OpenAL-soft from 1.21.1 to 1.23.1 - Campbell Barton
CMake
- CMake: Disable vcpkg for msbuild based builds - Ray Molenkamp
- CMake: fix shader_builder build error - Ray Molenkamp
- CMake: Allow asserts to be enabled for release builds. - Ray Molenkamp
- CMake: suppress warning in flag removing macros - Campbell Barton
- CMake: Fix Compiling Shader Builder on macOS - Jeroen Bakker
- CMake: windows: disable vcpkg for blendthumb - Ray Molenkamp
- CMake: default to Python 3.11, auto-update existing variables - Campbell Barton
- CMake: default to Python 3.10 for macOS - Campbell Barton
- CMake: Windows: Install oidn HIP kernel if available - Ray Molenkamp
- CMake: remove redundant IMATH includes - Campbell Barton
- CMake: quiet undefined variable warnings - Campbell Barton
- CMake: restore IMATH_INCLUDE_DIRS include for APPLE/arm64 - Campbell Barton
CMake/MSVC
- CMake/MSVC: Remove stale OIIO sse flag - Ray Molenkamp
Clang Format
- Clang Format: bump to version 17 - Brecht Van Lommel
Cleanup
- Cleanup: Remove sculpt session mask pointer - Hans Goudey
- Cleanup: Access sculpt attributes with C++ attribute API - Hans Goudey
- Cleanup: Remove unused return argument from "ensure mask" function - Hans Goudey
- Cleanup: Move draw_subdivision.h to C++ - Hans Goudey
- Cleanup: Remove unnecessary keywords in C++ header - Hans Goudey
- Cleanup: rename node group to group node context - Jacques Lucke
- Cleanup: remove unused variable - Iliya Katueshenock
- Cleanup: Grammar in comments - Hans Goudey
- Cleanup: EEVEE-Next: Remove use of deprecated DRWView API - Clément Foucault
- Cleanup: rename sse2 specific functions to avoid accidentally using them - Brecht Van Lommel
- Cleanup: Slightly generalize attribute gather function - Hans Goudey
- Cleanup: Generalize some attribute propagation functions - Hans Goudey
- Cleanup: Correct offset indices slice assert - Hans Goudey
- Cleanup: Make format - Harley Acheson
- Cleanup: internally renaming NLA Channels to NLA Tracks - Nate Rupsis
- Cleanup: Make format - Harley Acheson
- Cleanup: Make format - Jeroen Bakker
- Cleanup: remove debug print - Jacques Lucke
- Cleanup: BLI: add assertion for uninitialized boolean in IndexMask.from_predicate - Iliya Katueshenock
-
Cleanup: typo in
rna_enum_asset_library_type_itemsname. - Bastien Montagne - Cleanup: CMake: Modernize bf_intern_clog dependencies - Ray Molenkamp
- Cleanup: CMake: Modernize bf_blenfont dependencies - Ray Molenkamp
- Cleanup: default initialize members of ParamHandle - Brecht Van Lommel
- Cleanup: CMake: Modernize bf_depsgraph dependencies - Ray Molenkamp
- Cleanup: CMake: Modernize bf_imbuf dependencies - Ray Molenkamp
- Cleanup: formatting - Iliya Katueshenock
- Cleanup: format - Campbell Barton
- Cleanup: add missing include - Campbell Barton
- Cleanup: spelling in comments, variables - Campbell Barton
- Cleanup: spelling in code - Campbell Barton
- Cleanup: various C++ updates from C - Campbell Barton
- Cleanup: declare functions with overrides in GHOST_ContextVK - Campbell Barton
- Cleanup: Use attribute propagation utility function in fillet curves - Hans Goudey
- Cleanup: silence warning inconsistent-missing-override - Habib Gahbiche
- Cleanup: remove line accidentally added in previous commit - Jacques Lucke
- Cleanup: Use optional for original indices in extrude node - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: Add missing return - Hans Goudey
- Cleanup: Remove redundant selection comparison from mesh tests - Hans Goudey
- Cleanup: USD: Fix unused declaration and argument - Charles Wardlaw
- Cleanup: Correct path used in example help text for bl_run_operators_event_simulate.py - dupoxy
- Cleanup: CMake: Modernize bf_intern_utfconv dependencies - Ray molenkamp
- Cleanup: CMake: Modernize bf_functions dependencies - Ray molenkamp
- Cleanup: remove redundant exception/report handling from FreeStyle - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: simplify Python API use running scripts - Campbell Barton
- Cleanup: Add constructor/destructor for drag data to avoid includes - Julian Eisel
- Cleanup: Remove mesh "vert coords" functions - Hans Goudey
- Cleanup: Remove unnecessary mesh C-API functions - Hans Goudey
- Cleanup: Remove unused BLI voronoi code - Hans Goudey
- Cleanup: Remove unused voxel sampling functions - Hans Goudey
- Cleanup: Remove/replace SmallHash data structure - Hans Goudey
- Cleanup: Move four blenkernel headers to C++ - Hans Goudey
- Cleanup: Remove unnecessary keywords from newly C++ headers - Hans Goudey
- Cleanup: Store BVH and shrinkwrap data with C++ types - Hans Goudey
- Cleanup: Move mesh looptri real edges function - Hans Goudey
- Cleanup: Remove outdated normals comment for mesh validation - Hans Goudey
- Cleanup: make hash sizes static, remove references to smallhash - Campbell Barton
- Cleanup: format - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: use default initializers for members of GWL_Seat - Campbell Barton
- Cleanup: avoid STR_ELEM expanding into multiple function calls - Campbell Barton
- Cleanup: replace MAX2 with std::max - Campbell Barton
- Cleanup: declare values for enums that may be written into blend files - Campbell Barton
- Cleanup: use single underscore prefixes - Campbell Barton
- Cleanup: remove unused code - Jacques Lucke
- Cleanup: Use proper type for subdiv CCG faces - Hans Goudey
- Cleanup: Remove unused curve positions variable - Hans Goudey
- Cleanup: Use C++ threading API in subdiv_ccg.cc - Hans Goudey
- Cleanup: Use references instead of pointers in subdiv_ccg.cc - Hans Goudey
- Cleanup: Use const SubdivCCGFace variables - Hans Goudey
- Cleanup: Use C++ arrays to store subdiv ccg data - Hans Goudey
- Cleanup: Grammar in a few comments - Hans Goudey
- Cleanup: pass const arguments to BKE_mesh_fair functions - Campbell Barton
- Cleanup: use 'r_' prefix for output arguments, order last - Campbell Barton
- Cleanup: suppress CLANG warnings, remove unused variables - Campbell Barton
- Cleanup: use style for doxygen comment blocks - Campbell Barton
- Cleanup: quiet CLANG conversion warnings - Campbell Barton
- Cleanup: remove warning suppression which is no longer needed - Campbell Barton
- Cleanup: move writeffmpeg to C++ - Aras Pranckevicius
- Cleanup: various non-functional changes for C++ - Campbell Barton
- Cleanup: declare pointers const where possible - Campbell Barton
- Cleanup: compiler warning in release build - Brecht Van Lommel
- Cleanup: Make format - Harley Acheson
- Cleanup: Pass all nodes to paint hiding functions - Hans Goudey
- Cleanup: Avoid using keyword in sculpt header - Hans Goudey
- Cleanup: Move enum definition out of header - Hans Goudey
- Cleanup: Move paint hide file to namespace - Hans Goudey
- Cleanup: Use enum class int paint hide operator - Hans Goudey
- Cleanup: use const variables and arguments - Hans Goudey
- Cleanup: Remove redundant subdiv pointers from PBVH - Hans Goudey
- Cleanup: Small tweaks to C++ style in lib remap code - Hans Goudey
- Cleanup: naming for GPUSelectResult - Campbell Barton
- Cleanup: assign values for enums that may be stored in blend files - Campbell Barton
- Cleanup: pass const vectors BKE_lnor_space_define - Campbell Barton
- Cleanup: Rename GPU_select header to indicate its move to C++ - Jesse Yurkovich
- Cleanup: PBVH: Process multiple nodes at once in visibility update - Hans Goudey
- Cleanup: Reduce usage of mesh data pointers in PBVH - Hans Goudey
- Cleanup: Move PBVH draw args function to where it's used - Hans Goudey
- Cleanup: use references, const arguments for PBVH draw args function - Hans Goudey
- Cleanup: Move draw_pbvh.h to C++ - Hans Goudey
- Cleanup: Move draw_pbvh to a C++ namespace - Hans Goudey
- Cleanup: Use object arguments in many drawing related functions - Hans Goudey
- Cleanup: Remove unused argument to PBVH draw functions - Hans Goudey
- Cleanup: Pass PBVH draw attribute requests as span - Hans Goudey
- Cleanup: return managed pointer when copying geometry component - Jacques Lucke
- Cleanup: Solve missing declaration warning for grease pencil operator - Hans Goudey
- Cleanup: Rename Glossy To Metallic - Jeroen Bakker
- Cleanup: MTL: Framebuffer: Make code less verbose - Clément Foucault
- Cleanup: Remove unused threading C-API functions - Hans Goudey
- Cleanup: make name more specific for simulations - Jacques Lucke
- Cleanup: Use const arguments for some paint functions - Hans Goudey
- Cleanup: Move constant variable declarations outside of loop - Hans Goudey
- Cleanup: Make format - Harley Acheson
- Cleanup: Pass PBVH node grid indices as Span - Hans Goudey
- Cleanup: format - Campbell Barton
- Cleanup: Make format - Harley Acheson
- Cleanup: to_bools comment - Pratik Borhade
- Cleanup: minor simplification to internal Wayland cursor API - Campbell Barton
- Cleanup: match logic & naming between bmesh & mesh crazyspace functions - Campbell Barton
- Cleanup: use more descriptive function names - Jacques Lucke
- Cleanup: Remove unused arguments to sculpt update function - Hans Goudey
- Cleanup: Move paint_mask functions to proper namespace - Hans Goudey
- Cleanup: Use const arguments to PBVH functions - Hans Goudey
- Cleanup: Return multires grid key by value - Hans Goudey
- Cleanup: Store SubdivCCG in unique_ptr - Hans Goudey
- Cleanup: Remove unused DMFlagMat struct - Hans Goudey
- Cleanup: Return PBVH vertex data arrays as spans - Hans Goudey
- Cleanup: Remove unused BoundBox flag - Hans Goudey
- Cleanup: Fully remove legacy displacement_method property - Jesse Yurkovich
- Cleanup: compiler warning - Brecht Van Lommel
- Cleanup: Improve comments in BKE mesh types header - Hans Goudey
- Cleanup: Store more mesh runtime data with unique_ptr - Hans Goudey
- Cleanup: Avoid passing context to shrinkwrap blenkernel function - Hans Goudey
- Cleanup: quiet warning - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: use existing bone iterator function - Nathan Vegdahl
- Cleanup: Anim, remove accidentally committed declaration - Sybren A. Stüvel
- Cleanup: Use FunctionRef for PBVH batch drawing - Hans Goudey
- Cleanup: Remove remnants of old color layer preview system - Hans Goudey
- Cleanup: Remove unused modifier functions - Hans Goudey
-
Cleanup: run
make format- Sybren A. Stüvel -
Cleanup: GPv3: Use
foreach_range- Falk David - Cleanup: Move BMesh headers to C++ - Hans Goudey
- Cleanup: BMesh: Add function for copying within the same BMesh - Hans Goudey
- Cleanup: Remove unusd custom data function - Hans Goudey
- Cleanup: Remove unnecessary size argument to CustomData free function - Hans Goudey
- Cleanup: Simplify common logic for BMesh attribute copy - Hans Goudey
- Cleanup: update comment, reference issue number - Campbell Barton
- Cleanup: minor correction to exception message, add doxy section - Campbell Barton
- Cleanup: Resolve inconsistent struct vs. class declaration warning - Hans Goudey
- Cleanup: Avoid unnecessary indentation level in region overlap function - Julian Eisel
- Cleanup: clarify #ifndef checks in trailing #endif comments - Campbell Barton
- Cleanup: remove redundant define checks - Campbell Barton
- Cleanup: format, function style cast - Campbell Barton
- Cleanup: spelling in comments, strings - Campbell Barton
- Cleanup: tweak error checks for time access for GHOST/X11 - Campbell Barton
- Cleanup: Remove unused sculpt functions - Hans Goudey
- Cleanup: Move sculpt_face_set.cc to C++ namespace - Hans Goudey
- Cleanup: Use C++ vector to store temporary sculpt undo update tags - Hans Goudey
- Cleanup: Avoid repeatedly retrieving object in sculpt undo nodes - Hans Goudey
- Cleanup: Move RNA enum definitions to smaller scope - Hans Goudey
- Cleanup: Use enum class for some sculpt enums - Hans Goudey
- Cleanup: Move mesh visibility and selection flushing to C++ namespace - Hans Goudey
- Cleanup: Add utility to compare non-indexed and indexed span values - Hans Goudey
- Cleanup: remove GHOST_System::getMilliSeconds - Campbell Barton
- Cleanup: reference a const wl_cursor from Wayland - Campbell Barton
- Cleanup: replace unordered_map for cursor lookups with an array - Campbell Barton
- Cleanup: Removed redundant code in OIDN integration - Werner, Stefan
- Cleanup: Fix missing declaration warning - Hans Goudey
- Cleanup: Resolve mix of bool and char warning - Hans Goudey
- Cleanup: make format - Brecht Van Lommel
- Cleanup: Write sculpt mask directly when restoring data before stroke - Hans Goudey
- Cleanup: consistent indentation for HTML templates, wrap long lines - Campbell Barton
- Cleanup: Change some view3d projection functions to use C++ types - Hans Goudey
- Cleanup: Move sculpt undo system to C++ namespace - Hans Goudey
- Cleanup: remove unused variables - Campbell Barton
- Cleanup: minor formatting tweaks - Campbell Barton
-
Cleanup: GPv3:
retrieve_editable_*functions - Falk David - Cleanup: remove unused variable, invalid comment & typo - Campbell Barton
- Cleanup: Use references for sculpt undo nodes - Hans Goudey
- Cleanup: Store sculpt undo nodes with C++ Vector - Hans Goudey
- Cleanup: Sculpt explicitly retrieve mesh face visibility attribute - Hans Goudey
- Cleanup: Move majority of sculpt paint module to C++ namespaces - Hans Goudey
- Cleanup: Return sculpt node automasking data by value - Hans Goudey
- Cleanup: Use consistent "mesh" variable name (replace "me") - Hans Goudey
- Cleanup: Remove excessive use of optimized IndexMask functions - Hans Goudey
- Cleanup: Use simpler positions name in curves selection functions - Hans Goudey
- Cleanup: VSE waveform drawing variables - Richard Antalik
- Cleanup: make read_file_as_buffer into a generic utility function - Campbell Barton
- Cleanup: avoid redundant read(..) call in read_file_as_buffer - Campbell Barton
- Cleanup: minor changes to read_file_as_buffer logic - Campbell Barton
- Cleanup: replace WM_cursor_set with WM_cursor_wait for image copy/paste - Campbell Barton
- Cleanup: indent readme.html - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: add missing header, sort files - Campbell Barton
- Cleanup: minor style tweaks, surround ELEM by parenthesis - Campbell Barton
- Cleanup: match header/source argument naming - Campbell Barton
- Cleanup: remove redundant "contains" checks before erasing items - Campbell Barton
- Cleanup: avoid pass-by-value on vector argument for ContextVK - Campbell Barton
- Cleanup: correct assert to avoid null pointer deference - Campbell Barton
- Cleanup: use const variables & arguments, remove unused assignments - Campbell Barton
- Cleanup: pass BMesh by pointer instead of reference - Campbell Barton
- Cleanup: Remove unused BoundBox functions - Hans Goudey
- Cleanup: rename bArmature.collections -> bArmature.collections_legacy - Nathan Vegdahl
- Cleanup: Move opensubdiv C-API headers to C++ - Hans Goudey
- Cleanup: GPv3: render engine - Falk David
- Cleanup: EEVEE-Next: Add pipeline defines - Clément Foucault
-
Cleanup: Use
is_empty()instead ofsize() == 0- Hans Goudey - Cleanup: Remove unnecessary "using namespace" lines - Hans Goudey
- Cleanup: Doxygen section title case consistency - Hans Goudey
- Cleanup: Remove unused curves keymap items - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: Use C++ Vector in transform translate - Germano Cavalcante
- Cleanup: Improve mesh MLoopTri struct comment - Hans Goudey
- Cleanup: compiler warnings - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: rename GHOST event processing arguments - Campbell Barton
- Cleanup: Suppress Unused Variables In Release Builds - Jeroen Bakker
- Cleanup: correct & improve MLoopTri struct comment - Campbell Barton
- Cleanup: compiler warning - Brecht Van Lommel
- Cleanup: Use loops instead of PBVH iter macro in sculpt undo - Hans Goudey
- Cleanup: Remove unnecessary "sculpt_undo" prefix for local functions - Hans Goudey
- Cleanup: Simplify vertex index retrieval in sculpt undo nodes - Hans Goudey
- Cleanup: Slightly improve variable naming in sculpt undo nodes - Hans Goudey
- Cleanup: Remove unnecessary PBVH function - Hans Goudey
- Cleanup: Change information messages to not mention "VSE" but "Video Sequencer" - Sebastian Parborg
- Cleanup: move internal Wayland cursor API's into their own doxy section - Campbell Barton
- Cleanup: Move mesh update tags to DNA struct - Hans Goudey
- Cleanup: Use C++ attribute API instead of CustomData API - Hans Goudey
- Cleanup: EEVEE-Next: Avoid use of float math when needed - Clément Foucault
- Cleanup: Move draw_manager_text.h to C++ - Hans Goudey
- Cleanup: Remove inline functions and extra includes from draw extraction - Hans Goudey
- Cleanup: remove redundant clamp with BLI_str_utf8_offset_from_index - Campbell Barton
- Cleanup: Move Cryptomatte node defines into enums - Omar Emara
-
Cleanup: Move
BKE_blendfileheaders to CPP. - Bastien Montagne - Cleanup: rename dynamic paint specific volume grid - Jacques Lucke
- Cleanup: remove unnecessary alias - Jacques Lucke
- Cleanup: Remove unnecessary Mesh C-API functions - Hans Goudey
- Cleanup: Un-inline mesh data access functions - Hans Goudey
- Cleanup: Forward declare some classes in mesh headers - Hans Goudey
- Cleanup: Remove const for Span and by-value types in headers - Hans Goudey
- Cleanup: Move two mesh functions to C++ header - Hans Goudey
- Cleanup: follow convention for naming array lengths - Campbell Barton
- Cleanup: merge doc-strings, correct comments in WM_api.hh - Campbell Barton
- Cleanup: clarify naming for MLoopTri - Campbell Barton
- Cleanup: match argument naming for headers/source - Campbell Barton
- Cleanup: replace C expressions with plain text in cloth errors - Campbell Barton
- Cleanup: use naming for the size of a looptris array - Campbell Barton
- Cleanup: quiet parentheses warning - Campbell Barton
- Cleanup: typo in internal ghost/wayland prefix - Campbell Barton
- Cleanup: duplicate assert left in by mistake - Campbell Barton
- Cleanup: remove libdecor workaround for fractional scale - Campbell Barton
- Cleanup: use local variable, replace pointer with reference - Campbell Barton
- Cleanup: Remove unused EnumPropertyItem - Christoph Lendenfeld
- Cleanup: Move BLI_delaunay_2d.hh to C++ - Hans Goudey
- Cleanup: Remove unnecessary C API for delaunay triangulation - Hans Goudey
- Cleanup: Anim, add explanation to bone collection assign operator - Sybren A. Stüvel
- Cleanup: Fix compiler warning in face group boundaries node - Iliya Katueshenock
- Cleanup: Conver macros into functions - Miguel Pozo
- Cleanup: Use utility function to calculate face normal - Hans Goudey
- Cleanup: Slightly simplify delaunay triangulation input gathering - Hans Goudey
- Cleanup: Slightly simplify some loops in delaunary triangulation - Hans Goudey
- Cleanup: Move PBVH update functions to C++ namespace - Hans Goudey
- Cleanup: Remove useless PBVH update function - Hans Goudey
- Cleanup: Remove unnecessary sculpt visibility update - Hans Goudey
- Cleanup: Pass vertex update array as argument when building PBVH - Hans Goudey
- Cleanup: Tweak PBVH node face indices functions, add comments - Hans Goudey
- Cleanup: Remove unnecessary PBVH threading settings function - Hans Goudey
- Cleanup: Simplify PBVH build process slightly - Hans Goudey
- Cleanup: Remove unused sculpt code - Hans Goudey
- Cleanup: unhyphenate track-pad & thumb-stick - Campbell Barton
- Cleanup: remove unused variable - Christoph Lendenfeld
- Cleanup: Remove extern "C" from mesh C header - Hans Goudey
- Cleanup: make format - Brecht Van Lommel
- Cleanup: Move more PBVH code to C++ namespaces - Hans Goudey
- Cleanup: Use FunctionRef for PBVH callbacks - Hans Goudey
- Cleanup: Remove unused PBVH node pointer - Hans Goudey
- Cleanup: Remove unnecessary namespace specification - Hans Goudey
- Cleanup: format - Campbell Barton
- Cleanup: quite unused variable warning with CMake - Campbell Barton
- Cleanup: correct struct member comment name - Campbell Barton
- Cleanup: spelling in comments, correct outdated comment - Campbell Barton
- Cleanup: use color after doxygen parameters - Campbell Barton
- Cleanup: remove unused defines - Campbell Barton
- Cleanup: use boolean & nullptr literals - Campbell Barton
- Cleanup: various C++ changes (use ELEM & string copy macros) - Campbell Barton
- Cleanup: remove duplicate null check in blf_search_by_mem_name - Campbell Barton
- Cleanup: odd line wrapping for doc-string - Campbell Barton
- Cleanup: make format - Brecht Van Lommel
- Cleanup: VSE strips update callback - Richard Antalik
- Cleanup: use static set to test against multiple literals - Campbell Barton
- Cleanup: tweaks to Wayland scale updating for new windows - Campbell Barton
- Cleanup: order GHOST_WindowWayland new/delete before other methods - Campbell Barton
- Cleanup: remove redundant path join for recursive operations on Haiku - Campbell Barton
- Cleanup: variable naming, reduce variable scope - Campbell Barton
- Cleanup: Tweak PBVH grid faces update retrieval - Hans Goudey
- Cleanup: Remove unnecessary function and data in PBVH - Hans Goudey
- Cleanup: spelling correction: "adjacent" & spelling in comments - Campbell Barton
- Cleanup: use doxygen comments for usd.h - Campbell Barton
- Cleanup: remove f-string usage - Campbell Barton
- Cleanup: remove unused include - Campbell Barton
- Cleanup: specify defines for enum values stored in blend-files - Campbell Barton
- Cleanup: move extensions flag to DNA_userdef_types.h, rename flag - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: comment style - Philipp Oeser
- Cleanup: correct outdated comment - Philipp Oeser
- Cleanup: Avoid uninitialized variable warning - Hans Goudey
- Cleanup: Check for null before copying datablocks - Hans Goudey
- Cleanup: Fix build warnings introduced in e02eeaf888 - Richard Antalik
- Cleanup: remove redundant casts, use const casts - Campbell Barton
- Cleanup: Grammar, redundant "private" in class - Hans Goudey
- Cleanup: Rename Mesh loop_data to corner_data - Hans Goudey
- Cleanup: Make all 'Experimental -> Debug' preferences OFF by default. - Bastien Montagne
- Cleanup: move image_intern.h -> .hh - Aras Pranckevicius
- Cleanup: fix Linux/gcc build - Aras Pranckevicius
- Cleanup: extract function to show missing openvdb error message - Jacques Lucke
- Cleanup: avoid openvdb include in general in common header - Jacques Lucke
- Cleanup: Remove unused paint struct - Hans Goudey
- Cleanup: Remove LibOverride Template experimental feature. - Bastien Montagne
- Cleanup: Use utility to fill default attribute values - Hans Goudey
- Cleanup: Move attribute domain enum to C++ header, use enum class - Hans Goudey
- Cleanup: Use accessor functions for point cloud positions - Hans Goudey
- Cleanup: Use forward declarations to replace includes of BKE_attribute.hh - Hans Goudey
- Cleanup: Inconsistent struct vs. class declaration warning - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: fix missing include - Jacques Lucke
- Cleanup: Move BKE_mesh_calc_edges to bke namespace - Hans Goudey
- Cleanup: Remove unnecessary DNA_meshdata_types.h includes - Hans Goudey
- Cleanup: Replace MVertTri type with C++ vector - Hans Goudey
- Cleanup: Debug build error, unused variable warnings - Hans Goudey
- Cleanup: Inconsistent struct vs. class declaration warning - Aras Pranckevicius
- Cleanup: Make format - Jeroen Bakker
- Cleanup: move BKE_colorband.h and BKE_colorcools.h to .hh - Aras Pranckevicius
- Cleanup: Make format - Jeroen Bakker
-
Cleanup: Non-const version of
get_active_layer- Falk David - Cleanup: Use dynamic declaration for sample curve node - Hans Goudey
- Cleanup: Remove unnecessary argument in mesh normals code - Hans Goudey
- Cleanup: fix warning - Iliya Katueshenock
- Cleanup: format - Campbell Barton
- Cleanup: Use std::queue instead of GSQueue in sculpt code - Hans Goudey
- Cleanup: Use std::queue instead of GSQueue in multires_unsubdivide - Hans Goudey
- Cleanup: Use std::queue instead of GSQueue in depsgraph scheduling - Hans Goudey
- Cleanup: Use std::queue instead of GSQueue for thread queue - Hans Goudey
- Cleanup: Remove unused GSQueue container - Hans Goudey
- Cleanup: Use BitVector instead of BLI_bitmap in sculpt code - Hans Goudey
- Cleanup: Remove unnecessary/indirect includes in sculpt headers - Hans Goudey
- Cleanup: Correct and improve comments in DNA_customdata_types.h - Hans Goudey
- Cleanup: Remove most indirect includes of BKE_customdata.hh - Hans Goudey
- Cleanup: Revert replacement of GSQueue with std::queue - Hans Goudey
- Cleanup: EEVEE-Next: Change bind_resource syntax - Clément Foucault
-
Cleanup: Anim, document
bonecoll_ensure_name_unique- Sybren A. Stüvel - Cleanup: Anim, reformatting - Sybren A. Stüvel
-
Cleanup: Anim, document
ANIM_armature_bonecoll_move_to_indexmore - Sybren A. Stüvel - Cleanup: Anim, clarify comment in rna_def_armature - Sybren A. Stüvel
- Cleanup: Remove unnecessary namespace specification - Hans Goudey
- Cleanup: Move sculpt cloth simulation struct to sculpt header - Hans Goudey
- Cleanup: Sculpt: Split mask and position smooth brushes - Hans Goudey
- Cleanup: Improve sculpt variable name - Hans Goudey
- Cleanup: Sculpt: Add utility to duplicate mask data - Hans Goudey
- Cleanup: Slightly improve virtual array docs - Hans Goudey
- Cleanup: Return attribute unique name string by value - Hans Goudey
- Cleanup: Make format - Habib Gahbiche
- Cleanup: Use FunctionRef instead of std::function - Hans Goudey
- Cleanup: move CMake test utility functions into testing.cmake - Brecht Van Lommel
- Cleanup: Unused calculation in sculpt clay brush - Sergey Sharybin
- Cleanup: move CMake test utility functions into testing.cmake - Brecht Van Lommel
- Cleanup: Anim, insert section start/end comments - Sybren A. Stüvel
- Cleanup: Move remaining window manager headers to C++ - Hans Goudey
- Cleanup: Remove unnecessary keywords from C++ headers - Hans Goudey
- Cleanup: Format - Hans Goudey
- Cleanup: Remove unnecessary C default argument macro - Hans Goudey
- Cleanup: Use C++ math functions instead of macros - Hans Goudey
- Cleanup: Miscellaneous C++ changes to file handlers - Hans Goudey
- Cleanup: Anim, typo fix - Sybren A. Stüvel
- Cleanup: Improve some mesh topology map variable naming - Hans Goudey
- Cleanup: Move five draw headers to C++ - Hans Goudey
- Cleanup: Move remaining draw geometry extraction code to C++ namespace - Hans Goudey
- Cleanup: Improve face corner variable name, simplify iteration - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: Use blender C++ containers for USD - Jesse Yurkovich
- Cleanup: Warning fix - Jesse Yurkovich
- Cleanup: Remove some indirect includes in common headers - Hans Goudey
- Cleanup: Use new OIIO valid_file API - Jesse Yurkovich
- Cleanup: Silence warnings from 1254fee589 - Guillermo Venegas
- Cleanup: Move array store files to C++ - Hans Goudey
- Cleanup: Grammar in comments - Hans Goudey
- Cleanup: Fix build warnings and errors after recent commits - Hans Goudey
- Cleanup: remove unused simplify level from volume runtime data - Jacques Lucke
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: comment block formatting - Campbell Barton
- Cleanup: various non-functional changes for C++ - Campbell Barton
- Cleanup: trailing newlines - Campbell Barton
- Cleanup: apply clang-tidy modernize-deprecated-headers - Campbell Barton
- Cleanup: remove unused imports - Campbell Barton
- Cleanup: early return & avoid duplicate warnings in WM_dropbox_add - Campbell Barton
- Cleanup: make format - Sybren A. Stüvel
- Cleanup: Fix spelling mistakes in recent spelling fix commit - Hans Goudey
- Cleanup: remove unused variable - Campbell Barton
- Cleanup: sort cmake file lists - Campbell Barton
- Cleanup: Remove unused include - Christoph Lendenfeld
-
Cleanup: add missing
const- Sybren A. Stüvel - Cleanup: formatting - Jacques Lucke
- Cleanup: Constraints, update documentation of some flags - Sybren A. Stüvel
- Cleanup: GPv3: Require layer when retrieving a drawing - Falk David
- Cleanup: Use math vector types in delaunay triangulation code - Hans Goudey
- Cleanup: use RNA_STACK_ARRAY define, avoid extra loop - Campbell Barton
- Cleanup: remove outdated comment - Campbell Barton
- Cleanup: use colon after doxygen parameters - Campbell Barton
- Cleanup: suppress invalid warning from GCC - Campbell Barton
- Cleanup: remove use of scoped defer to ensure memory is freed - Campbell Barton
- Cleanup: Python Style: Fix lint buildbot error. - Bastien Montagne
- Cleanup: EEVEE-Next: Remove unused random noise in lightprobe_eval - Clément Foucault
- Cleanup: Continue loop to corner rename in some mesh code - Hans Goudey
- Cleanup: make format - Brecht Van Lommel
- Cleanup: quiet mypy warning - Campbell Barton
- Cleanup: spelling in comments, comment blocks - Campbell Barton
- Cleanup: move BKE_pointcloud.h to C++ - Jacques Lucke
- Cleanup: replace raw function pointer with FunctionRef - Jacques Lucke
- Cleanup: Grammar in comments - Hans Goudey
- Cleanup: Fix variable name from copy and paste - Hans Goudey
- Cleanup: Small change to face set scupt undo - Hans Goudey
- Cleanup: Move Text Editor runtime data to a separate allocation - Guillermo Venegas
- Cleanup: GPv3: Use enum values for cap defaults instead of int - Falk David
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Make format - Jeroen Bakker
- Cleanup: remove redundant call to set the paint brush - Campbell Barton
- Cleanup: GPU: Remove warning about unused parameter - Clément Foucault
- Cleanup: EEVEE-Next: Deduplicate code - Clément Foucault
- Cleanup: tabs to spaces - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: use usernames in code-comments - Campbell Barton
- Cleanup: Simplify sculpt affected node gathering - Hans Goudey
- Cleanup: Remove unused arguments in sculpt code - Hans Goudey
- Cleanup: Sculpt return sampled area normal by value - Hans Goudey
- Cleanup: Use functional cast for enum in curves sculpt - Hans Goudey
- Cleanup: Use C++ math types for some sculpt variables - Hans Goudey
- Cleanup: use "space_text" prefix for functions taking a SpaceText - Campbell Barton
Clenaup
- Clenaup: spelling in comments - Campbell Barton
Collection
-
Collection: Revert moving
owner_idto runtime data. - Bastien Montagne
Color management
- Color management: multi-thread IMB_colormanagement_transform_from_byte_threaded simple case - Aras Pranckevicius
Compositor
- Compositor: UI: better node visibility for default node tree - Habib Gahbiche
- Compositor: Make split viewer a regular split node - Habib Gahbiche
- Compositor: Disable preview of Split node by default - Omar Emara
- Compositor: Use full precision inputs for GPU compositor - Omar Emara
- Compositor: Refactor File Output node - Omar Emara
- Compositor: Unify relative translate behavior with realtime compositor - Habib Gahbiche
- Compositor: Only execute compositor if result is viewed - Omar Emara
- Compositor: Support viewer offset in GPU compositor - Omar Emara
- Compositor: Fallback to render size for viewing values - Omar Emara
- Compositor: Redesign Sun Beams node - Omar Emara
- Compositor: Redesign Sun Beams node for CPU - Omar Emara
Core
- Core: Allow Optional Use of Harfbuzz and FriBiDi - Harley Acheson
- Core: Add ObjectRuntime::last_update transform, geometry and shading - Miguel Pozo
- Core: expose ID.session_uid in RNA - Jacques Lucke
Creator
- Creator: update image formats shown in the CLI help - Damien Picard
Curves
- Curves: Support for edit mode draw tool - laurynas
- Curves: Add edit mode duplicate operator - Hans Goudey
- Curves: Add edit mode tilt control - Hans Goudey
- Curves: Support View Selected in edit mode - Hans Goudey
- Curves: Add basic custom normals support - Hans Goudey
- Curves: Add "As NURBS" option to draw tool - laurynas
- Curves: Add extrude operator - laurynas
Cycles
- Cycles: clearer message when denoising in build without OpenImageDenoise - Brecht Van Lommel
- Cycles: Added quality parameter for OIDN - Stefan Werner
- Cycles: Make OIDN on GPU use the existing SYCL queue - Stefan Werner
- Cycles: update OSL to work with version 1.13.5 - Brecht Van Lommel
- Cycles: update to work with OpenVDB 11 - Brecht Van Lommel
- Cycles: Enable HIP devices for OpenImageDenoise - Stefan Werner
- Cycles: Display message in Render Devices preferences when disabled - Sun Kim
- Cycles: Log number of scheduled tiles - Nikita Sirgienko
- Cycles: add ROCm 6 compatibility for HIP - bsavery
- Cycles: Enable floating point atomic support in Metal - Michael Jones
Cycles UI
Depsgraph
- Depsgraph: avoid unnecessary image updates, for compositor caching - Brecht Van Lommel
Docs
- Docs: Add button to report python API documentation issue - Aaron Carlisle
- Docs: correct code comment for LaplacianSystem::tris - Campbell Barton
- Docs: add doc-strings for modifier mapping flags & edit-mesh cage - Campbell Barton
- Docs: add doc-strings for some GPU_matrix functions - Campbell Barton
Draw
Drivers
- Drivers: refactor driver_get_variable_property to return an enum. - Alexander Gavrilov
- Drivers: implement fallback values for RNA path based variables. - Alexander Gavrilov
Drivers Editor
- Drivers Editor: apply red underline to drivers that failed evaluation. - Alexander Gavrilov
EEVEE
- EEVEE: Lookdev HDRI Spheres - Jeroen Bakker
- EEVEE: Metal: Enable attachmentless FB support for VSM update FB - Jason Fielder
- EEVEE: Fix running render tests - Jeroen Bakker
EEVEE Next
- EEVEE Next: Ensure HiZ buffer update flag is cleared - Jason Fielder
EEVEE-Next
- EEVEE-Next: Add horizon scan to raytracing module - Clément Foucault
- EEVEE-Next: Displacement Option - Clément Foucault
- EEVEE-Next: Naming & UI tweaks Light Probes - Jeroen Bakker
- EEVEE-Next: Cleanup Lookdev as its shaders are never deferred compiled - Jeroen Bakker
- EEVEE-Next: Display render pass panel in viewport - Clément Foucault
- EEVEE-Next: Add back transparent render pass - Clément Foucault
- EEVEE-Next: Disable distant light if world contains absorption - Clément Foucault
- EEVEE-Next: Fix ObjectHandle::recalc - Miguel Pozo
- EEVEE-Next: Optimize GBuffer Layout and writting - Clément Foucault
- EEVEE-Next: Scene sync fixes and improvements - Miguel Pozo
- EEVEE-Next: Add tile deferred lighting - Clément Foucault
- EEVEE-Next: HiZBuffer: Add support for 2nd layer - Clément Foucault
- EEVEE-Next: Refactor Raytracing pipeline - Clément Foucault
- EEVEE-Next: More work into supporting horizon scan in AO node - Clément Foucault
- EEVEE-Next: Make AO node respect the normal input - Clément Foucault
- EEVEE-Next: Make Hi-Z buffer swap on set_source - Clément Foucault
- EEVEE-Next: Support ShaderToRGBA on Dithered materials - Clément Foucault
- EEVEE-Next: Add Light Path node support - Miguel Pozo
- EEVEE-Next: Add Translucent BSDF support - Clément Foucault
- EEVEE-Next: Irradiance Grid smooth transitions - Miguel Pozo
- EEVEE-Next: Volume: Combine the volume closure nodes - Clément Foucault
- EEVEE-Next: Partial World LightPath node support - Miguel Pozo
- EEVEE-Next: Fix Pointshader Requirements - Jeroen Bakker
- EEVEE-Next: Gbuffer Optimization - Clément Foucault
- EEVEE-Next: Remove Light eval hard coded closures - Clément Foucault
- EEVEE-Next: Add translucent contribution in probe capture - Clément Foucault
- EEVEE-Next: Add Raytracing Presets - Jeroen Bakker
- EEVEE-Next: Add debug scopes - Clément Foucault
- EEVEE-Next: Add lightweight deferred indirect lighting - Clément Foucault
- EEVEE-Next: Replace gl_LocalInvocationID by gl_LocalInvocationIndex - Clément Foucault
- EEVEE-Next: Bypass shadow update pipeline if shadow is disabled - Clément Foucault
- EEVEE-Next: Refactor Raytracing to support arbitrary closure - Clément Foucault
- EEVEE-Next: Gbuffer Read optimizations - Clément Foucault
- EEVEE-Next: Replace lighting tiles by direct stencil setup - Clément Foucault
- EEVEE-Next: Fix incorrect lighting on refraction closures - Clément Foucault
- EEVEE-Next: Split lightprobe volume eval to its own file - Clément Foucault
- EEVEE-Next: Remove sampling_lib from ray_generate_lib - Clément Foucault
- EEVEE-Next: Enable subgroup optimization on Metal - Clément Foucault
- EEVEE-Next: implement more efficient GGX VNDF sampling - Weizhen Huang
- EEVEE-Next: implement less noisy GGX VNDF sampling for reflections - Weizhen Huang
- EEVEE-Next: Simplify sphere lightprobe coordinates - Clément Foucault
- EEVEE-Next: Simplify sphere probe storage - Clément Foucault
- EEVEE-Next: Remove specialization workarounds - Clément Foucault
- EEVEE-Next: Clamp reflection probe before downsampling - Clément Foucault
EEVEE/EEVEE-Next
- EEVEE/EEVEE-Next: Split Diffuse and Subsurface closure - Clément Foucault
Extensions
- Extensions: add option to enable/disable an extensions repo - Campbell Barton
- Extensions: add/remove bl_ext sub-modules when repo.enabled is toggled - Campbell Barton
Externals
- Externals: update fmtlib to latest version (10.1.1) - Aras Pranckevicius
FIx
- FIx: memory leak when inserting keys - Christoph Lendenfeld
- FIx: Draw: Volume coordinates regression - Miguel Pozo
- FIx: EEVEE-Next: Forward SSS shader compilation - Miguel Pozo
Fix
- Fix: Vulkan Multi Indirect Drawing - Jeroen Bakker
- Fix: Duplicate node tools menus in sculpt mode - Hans Goudey
- Fix: Missing space in property description - Hans Goudey
- Fix: USD Export: Calculate extents property for lights - Charles Wardlaw
- Fix: crash when using attribute search in Named Attribute node - Iliya Katueshenock
- Fix: GPv3: Stutter while drawing - Falk David
- Fix: Geometry Nodes: wrong field inferencing in Shortest Edge Paths node - Iliya Katueshenock
- Fix: BLI: Math: Build error for bad overload-lookup - Iliya Katueshenock
- Fix: Crash with crazyspace mesh sculpting - Hans Goudey
- Fix: Error in previous commit - Hans Goudey
- Fix: bevel weights in Simple mode of Solidify - laurynas
- Fix: Avoid unnecessary conversions in rotation socket versioning - Hans Goudey
- Fix: crash when getting node tree logger - Jacques Lucke
- Fix: EEVEE-Next: MaterialKey - Miguel Pozo
- Fix: EEVEE-Next: Ambient Occlusion pass broken - Clément Foucault
- Fix: EEVEE-Next: blending of dithered material - Clément Foucault
- Fix: Increase thread stack size for musl libc - Leon Marz
- Fix: GPv3: Missing curve type counts update in hard erasor - Hans Goudey
- Fix: EEVEE-Next: Motion Vectors for non float4 position buffers - Miguel Pozo
- Fix: EEVEE-Next: Add transparency blending back - Miguel Pozo
- Fix: Failing bf_io_wavefront_obj_tests test - Harley Acheson
- Fix: EEVEE-Next: Metal shader compilation error - Clément Foucault
- Fix: Compiler warning about unused variable - Pratik Borhade
- Fix: Inserting keys no longer sets the FCurve channel color - Christoph Lendenfeld
- Fix: Segfault when inserting keyframes - Christoph Lendenfeld
- Fix: remove leading space in window title - RedMser
- Fix: EEVEE Compiler Issue Emission Shader - Jeroen Bakker
- Fix: Various Small GLSL Material Tweaks - Jeroen Bakker
- Fix: GPv3: Uninitialized runtime variable - Falk David
-
Fix: GPv3: Wrong location in
paint_init_pivot- Falk David - Fix: assert when randomizing mesh with zero faces - Jacques Lucke
- Fix: FCurve colors on bones - Christoph Lendenfeld
- Fix: missed some version bump code - Nathan Vegdahl
- Fix: EEVEE-Next: Object::visibility_flag in material_sync - Miguel Pozo
- Fix: Debug and lite build errors after recent cleanup - Hans Goudey
- Fix: Incorrect subdiv IndexMask construction - Hans Goudey
- Fix: allow overshoot numerical input in the Pose Breakdowner operator - Nathan Vegdahl
- Fix: GPv3: Smoothing even with factor of 0 - Falk David
- Fix: EEVEE-Next: Alpha hashed transparency doesn't converge - Miguel Pozo
- Fix: Missing compositor update upon changing tree options - Omar Emara
- Fix: script_validate_keymap test failed - Christoph Lendenfeld
- Fix: Sculpt drawing ignores hide status - Hans Goudey
- Fix: Crash building sculpt PBVH - Hans Goudey
- Fix: Depsgraph: Avoid duplicated operation nodes on geometry data - Miguel Pozo
- Fix: Compiling EEVEE Test cases - Jeroen Bakker
- Fix: EEVEE-Next: Crash when baking multiple volume probes - Miguel Pozo
- Fix: Dangling pointer in Split Viewer versioning - Omar Emara
- Fix: Missing versioning for generic sculpt mask conversion - Hans Goudey
- Fix: Various issues with multires visibility undo - Hans Goudey
- Fix: Debug build error after recent PBVH bounds change - Hans Goudey
- Fix: ensure function does not create geometry instances in all cases - Jacques Lucke
- Fix: GPv3: Strokes with hidden materials are editable - casey bianco-davis
- Fix: Protect against access of empty geometry bounds optional - Hans Goudey
- Fix: USD import: Improve texture color space choice - Charles Wardlaw
- Fix: Incorrect use of Vector resize in mesh_fair - Hans Goudey
- Fix: Send more appropriate notification at end of USD/Alembic import - Jesse Yurkovich
- Fix: GPv3: Missing add layer option in menu when list is empty - Pratik Borhade
- Fix: GPv3: Memory leaks in curve fitting functions - Falk David
- Fix: GPv3: Crash switching to draw mode for empty object - Pratik Borhade
- Fix: GPU: Avoid GPUMaterial/Pass collisions between engines - Miguel Pozo
- Fix: GPv3: Crash when drawing - Falk David
- Fix: EEVEE-Next: Deferred tile stencil compilation - Miguel Pozo
- Fix: Build error with MSVC - Ray Molenkamp
- Fix: GPv3: Compiler error - Falk David
- Fix: Build error and format fixes after previous cleanup - Hans Goudey
- Fix: Typo in recent commit to BMesh copy function - Hans Goudey
- Fix: update collada export code to use the new bone collections array - Nathan Vegdahl
- Fix: Assert When Using Shader Builder - Jeroen Bakker
- Fix: EEVEE-Next: ObjectKey - Miguel Pozo
- Fix: EEVEE-Next: Crash when using Planar Probe - Clément Foucault
- Fix: EEVEE-Next: Planar Probe rendering broken - Clément Foucault
- Fix: EEVEE-Next: Broken HiZ for planar probe - Clément Foucault
- Fix: EEVEE-Next: Undefined behavior with only diffuse material - Clément Foucault
- Fix: Crash copying BMesh from typo in CustomData copy - Hans Goudey
- Fix: EEVEE-Next: Broken Shadow usage tagging - Clément Foucault
- Fix: EEVEE-Next: Film matrix - Miguel Pozo
- Fix: EEVEE-Next: Missing indirect light in ShaderToRGBA - Clément Foucault
- Fix: EEVEE-Next: Opaque dielectric packing broken - Clément Foucault
- Fix: Debug assert in file_handler_test - Jesse Yurkovich
- Fix: Sculpt undo crash for multires after recent cleanup - Hans Goudey
- Fix: Mesh draw normals extraction ignores sharp_edge with no sharp_face - Hans Goudey
- Fix: Out of bounds array access building PBVH for empty BMesh - Hans Goudey
- Fix: EEVEE-Next: Numerical imprecision with emission only volumes - Clément Foucault
- Fix: EEVEE-Next: OpenGL errors in probe capture - Clément Foucault
- Fix: EEVEE-Next: Broken surfel lighting - Clément Foucault
- Fix: Warnings and build error after previous forward declaration commit - Hans Goudey
- Fix: EEVEE-Next: DeferredProbelLayer emissive materials - Miguel Pozo
- Fix: GPU: from_up_axis - Miguel Pozo
- Fix: from_up_axis sign - Miguel Pozo
- Fix: EEEVEE-Next: Volume lighting - Miguel Pozo
- Fix: Cycles assert with CPU denoiser - Brecht Van Lommel
- Fix: Keying Channel Defaults - Christoph Lendenfeld
- Fix: PBVH has face sets check ignored for BMesh - Hans Goudey
- Fix: (studio-reported) crash in Solidify Modifier code. - Bastien Montagne
- Fix: New generic attributes uninitialized after curves draw tool - Hans Goudey
- Fix: mistake in previous formatting cleanup - Brecht Van Lommel
- Fix: crash with sequencer scene strips after previous refactor - Brecht Van Lommel
- Fix: crash when there is no tree logger in geometry nodes - Jacques Lucke
- Fix: EEVEE-Next: Metal shader compilation - Miguel Pozo
- Fix: compile error in debug build - Jacques Lucke
- Fix: EEVEE-Next: Workaround Load/Store broken on M1 - Clément Foucault
- Fix: EEVEE-Next: Undefined behavior on gbuffer load - Clément Foucault
- Fix: EEVEE-Next: Subsurface artifact on M1 - Clément Foucault
- Fix: normalize option not shown in noise texture node - Jacques Lucke
- Fix: EEVEE-Next: World.has_volume() - Miguel Pozo
- Fix: EEVEE-Next: Volume closure evaluation - Miguel Pozo
- Fix: EEVEE-Next: Lights do not render with Metal - Clément Foucault
- Fix: Autokeyframe with Insert Needed with no keyframes - Christoph Lendenfeld
- Fix: Crash in single value input to Glare node - Omar Emara
- Fix: Incorrect curves asset in recent commit - Hans Goudey
- Fix: VSE Slip Strips operator doesn't move effect strips inside of a meta strip. - ok_what
- Fix: failing unit tests due to "stack-use-after-scope" - Christoph Lendenfeld
- Fix: bf_animrig_tests test failure - Brecht Van Lommel
- Fix: layout panels headers don't take block width into account - Jacques Lucke
- Fix: EEVEE-Next: Broken Support for SSS - Clément Foucault
- Fix: EEVEE-Next: Broken capture shader compilation - Clément Foucault
- Fix: EEVEE-Next: Wrong function declaration order - Clément Foucault
-
Fix: #116349:
Connected Onlynot working for proportional editing - Casey Bianco-Davis - Fix: Bokeh images missing write usage flag - Omar Emara
- Fix: all curves drawn cyclic if "cyclic" attribute exists - laurynas
- Fix: EEVEE-Next: Broken surfel cluster shader compilation - Clément Foucault
- Fix: Triage Tools: Python error when accessing a 'created branch' activity - Germano Cavalcante
- Fix: Cycles invalid normals in various situations - Alaska
- Fix: VSE: image strip outline sometimes not matching image - Aras Pranckevicius
- Fix: temporarily disable Cycles patch map assert to avoid failing test - Brecht Van Lommel
- Fix: Compositor Texture node ignores Z component - Omar Emara
- Fix: Set active keying set menu showing wrong label - Christoph Lendenfeld
- Fix: Do not show WM_OT_clear_recent_files on Splash - Jonas Holzman
- Fix: GPU morphological feather erosion differ from CPU - Omar Emara
- Fix: Filtering does not work in GPU compositor - Omar Emara
- Fix: GPU: Fix Shader builder - Clément Foucault
- Fix: GPU: Crash caused by buffer overflow of name buffer - Clément Foucault
- Fix: memory leak during Property Search - Jesse Yurkovich
- Fix: EEVEE-Next: Implicit type conversions - Clément Foucault
- Fix: GPU Directional Blur node does not match CPU - Omar Emara
- Fix: EEVEE-Next: GPU_framebuffer_clear assertion - Miguel Pozo
- Fix: frame snapping for the time extend transformation mode - Alexander Gavrilov
- Fix: EEVEE-Next: Forward Material compilation - Miguel Pozo
- Fix: Node Editor overlay settings cannot be added to Quick Favourites - Philipp Oeser
- Fix: EEVEE-Next: Use uint for header_tx.clear - Miguel Pozo
- Fix: EEVEE-Next: Update gbuffer_fb bind_ex - Miguel Pozo
- Fix: False positives/negatives in curves_selection.cc#contains - Thomas Barlow
- Fix: Incorrect operator name in VSE retiming menu - Richard Antalik
- Fix: memory leak - Jacques Lucke
- Fix: EEVEE-Next: HiZ: Wrong specialization constant default value - Clément Foucault
- Fix: EEVEE-Next: Crash on start - Miguel Pozo
- Fix: EEVEE: Fix crash on start - Miguel Pozo
- Fix: EEVEE(Legacy): Broken dielectric material shading - Miguel Pozo
- Fix: build error when not using unity build - Brecht Van Lommel
- Fix: invalid memory access in Hydra world and material export - Brecht Van Lommel
- Fix: make format wrong results on Linux with system Python 3.12 - Brecht Van Lommel
- Fix: USD import: lazily create cache file - Michael Kowalski
- Fix: Frist retiming key can not be selected. - Richard Antalik
- Fix: Incorrect retiming key type - Richard Antalik
- Fix: Uninitialized variable in retiming drawing - Richard Antalik
- Fix: Build error from renamed header - Hans Goudey
- Fix: Broken sculpt face set undo restore after recent cleanup - Hans Goudey
-
Fix: Align buttons context's
dirwith actually present attributes - Tomoaki Kawada - Fix: make update fails in some cases after recent changes - Brecht Van Lommel
- Fix: more meaningful error when autopep8 is missing - Eugene Kuznetsov
- Fix: API doc build error after adding missing texture_node to context - Brecht Van Lommel
- Fix: foreach_get/set does not work on multidimensional arrays - Thomas Barlow
- Fix: leak in edit mesh snap cache when changing shapekeys - Germano Cavalcante
- Fix: Formatting - Aaron Carlisle
- Fix: Sort Elements node breaks curves sculpt - Iliya Katueshenock
- Fix: EEVEE: Potential Read From Unallocated Memory - Jeroen Bakker
- Fix "make doc_man" not working, after changes in 61d99d45 - Brecht Van Lommel
- Fix "make doc_man" not working, after recent changes - Campbell Barton
- Fix "project_source_info" use with clang - Campbell Barton
- Fix #100784: Truncate Text with Ellipsis inside Number Inputs - Harley Acheson
- Fix #104926: Object Info node doesn't give negative scale - Hans Goudey
- Fix #105460: Overlay "Backwire Opacity" is 0.0 in new 3D Views - Germano Cavalcante
- Fix #105548: I18n: many keymap sections cannot be translated - Campbell Barton
- Fix #107465: Compositor Texture node produces artifacts - Omar Emara
- Fix #107634: selecting random hair curves ignores operator settings - Thomas Barlow
- Fix #109194: window decorations mismatch on startup under Wayland - Campbell Barton
- Fix #1092563: invalid event timestamps on X11 after 49 days uptime - Campbell Barton
- Fix #112293: wrong console line cursor position with multi-byte chars - Damien Picard
- Fix #112394: 'Absolute Grid Snap' not working correctly plane constraint - Germano Cavalcante
- Fix #112599: Blender freezes for half a minute when opening File Browser - Germano Cavalcante
- Fix #112767: Outliner unlink operation fails to unlink from scene - Pratik Borhade
- Fix #113059: file selector shrinks on each display under KDE - Campbell Barton
- Fix #113059: file selector shrinks on each display under KDE - Campbell Barton
- Fix #113728: fireflies in Principled Hair Huang with MIS - Weizhen Huang
- Fix #114151: Workbench: Assert with volume and thumbnail rendering - Clément Foucault
- Fix #114168: EEVEE-Next: Viewport image render sampling - Miguel Pozo
- Fix #114284: EEVEE-Next: Light cutoff with small radius - Miguel Pozo
- Fix #114291: EEVEE-Next: Deferred tranparency blending - Miguel Pozo
- Fix #114302: EEVEE Next: Curves material compilation errors - Miguel Pozo
- Fix #114442: wrong attribute propagation in repeat zone leads to crash - Jacques Lucke
- Fix #114461: Check Interactivity in button comparisons - Harley Acheson
- Fix #114482: EEVEE-Next: Wrong Texture Coordinates - Miguel Pozo
- Fix #114557: UI scrollbar "focus bubble" interaction wrong in cases - Philipp Oeser
- Fix #114582: Replace unknown node types with an 'undefined' node - Lukas Tönne
- Fix #114596: snap to face nearest failing with transformed objects - Germano Cavalcante
- Fix #114609: compose key sequences includes continuation keys on Wayland - Campbell Barton
- Fix #114630: Retiming fails if movie and scene FPS does not match - Richard Antalik
- Fix #114651: EEVEE-Next: SSS NaNs - Miguel Pozo
- Fix #114692: Sculpt on certain modifiers does not update normals - Sergey Sharybin
- Fix #114760: new attribute does not get active for some domains - Philipp Oeser
- Fix #114828: Don't rebuild outliner tree when frame scrubbing - Christoph Lendenfeld
- Fix #114838: Force Full Redraw When Duplicating Areas - Harley Acheson
- Fix #114860: Edge bevel weights in complex solidify - laurynas
- Fix #114861: Add NLA region padding if markers are present. - Nate Rupsis
- Fix #114951: Waveform drawn incorrectly in strips with hold offset - Richard Antalik
- Fix #114982: Crash when rendering scene strips - Richard Antalik
- Fix #115007: Crash when creating transition from last reiming key - Richard Antalik
- Fix #115024: Anchored brushes repeat action with incorrect normals - Hans Goudey
- Fix #115037: Crash deleting tool node group from outliner - Philipp Oeser
- Fix #115043: Compositor crashes for huge render sizes - Omar Emara
- Fix #115046: Crash updating string custom property UI data - Hans Goudey
- Fix #115056: man page generation fails with Python error - HurricanePootis
- Fix #115056: man-page fails to build with non-portable install - Campbell Barton
- Fix #115086: Retimed hard split sound strip does not seek correctly - Richard Antalik
- Fix #115108: Object dimensions infinite for armatures - Hans Goudey
- Fix #115117: Crash displaying status info on undo with subsurf mesh - Campbell Barton
- Fix #115140: Crash undoing painting on linked image from 3DView - Philipp Oeser
- Fix #115144: isect_data_setup compiler error - Miguel Pozo
- Fix #115151: ID property's id_type enum is missing the SCREEN type. - Bastien Montagne
-
Fix #115151, step one: Fallback to
ID_OBin case of defined unknown ID type. - Bastien Montagne - Fix #115153: Snap Base in Camera View crashes Blender - Germano Cavalcante
- Fix #115160: Keyboard layout sometimes ignored on Wayland - Campbell Barton
- Fix #115167: crash opening files with missing fonts on disk - Philipp Oeser
- Fix #115169: Loop Cut overlay broken with Mirror Bisect Modifier - Campbell Barton
- Fix #115171: Transfer Mode operator tries and fails on linked objects - Pratik Borhade
- Fix #115181: RMB Select sometimes to enter pose mode when selected - Campbell Barton
- Fix #115202: Set Selection node crash in object mode - Hans Goudey
- Fix #115206: Sheen renders incorrectly when viewed head on - Alaska
- Fix #115207: dynamically typed Viewer node - Iliya Katueshenock
- Fix #115214: Incorrect vertex paint with image texture - Sergey Sharybin
- Fix #115226: Shader Nodes: Don't execute the same node twice - Miguel Pozo
- Fix #115253: NDOF zoom-speed depends on selected objects - Campbell Barton
- Fix #115275: Allow Wrapping of Single Column Enum Menus - Harley Acheson
- Fix #115276: Vertex group canvas picker errors with no active group - Philipp Oeser
- Fix #115277: cannot create group interface for custom sockets - Jacques Lucke
- Fix #115279: FModifier.type enum 'NULL' item was renamed to 'nullptr' - Germano Cavalcante
- Fix #115288: EEVEE-Next: Horizon Scan light leaking - Clément Foucault
- Fix #115289: EEVEE-Next: Negative scale lights - Miguel Pozo
- Fix #115291: Object dimension setting ignores modifiers - Hans Goudey
- Fix #115298: Sculpt mask removed with undo involving mode change - Hans Goudey
- Fix #115305: Sound equalizer not applied when rendering - Richard Antalik
- Fix #115326: Memory leak toggling dyntopo on and off with empty mesh - Hans Goudey
- Fix #115330: Animation not updating when cancelling modal operators in the Graph Editor - Christoph Lendenfeld
- Fix #115363: Scrollbars for template_lists in popups update issue - Philipp Oeser
- Fix #115366: Missing task isolation subdividing loose edges - Hans Goudey
- Fix #115368: Auto smooth node is added every time if the file has linked object - Pratik Borhade
- Fix #115393: Set Snap Base not working - Germano Cavalcante
- Fix #115400: "Face Sets from Visible" missing undo and redraw - Hans Goudey
- Fix #115424: Cycles object space normal map wrong with backfaces - Brecht Van Lommel
- Fix #115431: Crash on right click on string button inside menu - Julian Eisel
- Fix #115432: UV Follow Active Quads operator moves unselected vertices - Campbell Barton
- Fix #115434: custom bone colors invisible in stick mode - Nathan Vegdahl
- Fix #115444: Revert "Refactor: Text Editor Formatted Output" - Harley Acheson
- Fix #115451: hard to resize collapsed nodes - Jacques Lucke
- Fix #115471: Crash opening files with particle boid goal objects - Philipp Oeser
- Fix #115486: Linked scenes disappear after reopening file. - Bastien Montagne
- Fix #115499: Add node group modifier doesn't ensure unique name - Hans Goudey
- Fix #115510: Poly Build does not update snapped geometry - Germano Cavalcante
- Fix #115521: Voxel remesh resets smooth with attribute propagation off - Hans Goudey
- Fix #115526: missing normals on first chunk of array modifier - Philipp Oeser
- Fix #115540: nodes with sockets only on one side are hard to resize - Jacques Lucke
- Fix #115548: Missed sort after multithreaded algorithm - Iliya Katueshenock
- Fix #115562: Issues with color picker and color values near 1 - Brecht Van Lommel
- Fix #115570: Crash when using snap to volume and clipping region - Germano Cavalcante
- Fix #115572: shape_key_remove operator leaves shared normals - Philipp Oeser
- Fix #115581: Channel Context Menu mis-labeled - Andres Stephens
- Fix #115590: UV window menus disappearing - Germano Cavalcante
- Fix #115594: EEVEE Next: Crash with VDB - Miguel Pozo
- Fix #115601: Clamp Color Picker Vertical Value Slider Position - Harley Acheson
- Fix #115655: Removing transition keys is buggy - Richard Antalik
- Fix #115657 : Bone's tail is still selected after invert selection - Philipp Oeser
- Fix #115662: Outliner slows down many geometry operations in big scenes - Philipp Oeser
- Fix #115667: Sculpt face sets draw wrong with subdivision modifier - Philipp Oeser
- Fix #115678: Padding not applied correctly when framing keyframes - Christoph Lendenfeld
- Fix #115683: Crash with IK constraint - Christoph Lendenfeld
- Fix #115704: Crash when using transfer mode on empty space - Pratik Borhade
- Fix #115715: Boolean behaves as if the object is on it's origin - Z-Map
- Fix #115716: Empty Grease Pencil Keymap Warning - Falk David
- Fix #115775: Curve object to mesh conversion crash - Hans Goudey
- Fix #115779: Compositor Split node factor 0 still shows the other image - Habib Gahbiche
- Fix #115782: crash when dangling reroute has outgoing link into repeat zone - Jacques Lucke
- Fix #115786: EEVEE-Next: Texture paint delayed redraw - Miguel Pozo
- Fix #115811: Wayland picker cursor isn't displayed - Campbell Barton
- Fix #115813: Handles get broken when scaling annotation keyframes in Dope Sheet - Germano Cavalcante
- Fix #115815: Include Category name in Enum Row Calculation - Harley Acheson
- Fix #115827: Follow active quad fails with an assertion - Campbell Barton
- Fix #115829: Add Metal <-> OpenGL fallbacks for userpref - Andrew Oates
- Fix #115830: Poly Build tool crash with clipping borders - Philipp Oeser
- Fix #115856: Sculpt Face sets drawing sometimes uses wrong default - Hans Goudey
- Fix #115857: UV project modifier crash with invalid name - Hans Goudey
- Fix #115859: Cryptomatte node considers preview channels - Omar Emara
- Fix #115862: Shadow linking causes error on GPU - Sergey Sharybin
- Fix #115878: build error with LIBDECOR & WITH_GHOST_WAYLAND_DYNLOAD=OFF - Campbell Barton
- Fix #115887: Fallback tool only tweaks single elements - Campbell Barton
- Fix #115895: Surface drawing artifacts at borders - Falk David
- Fix #115907: Select similar edge direction skips opposite direction - Philipp Oeser
- Fix #115909: Walk Navigation Up and Down is interrupted by WASD - Pratik Borhade
- Fix #115924: Sculpt: Draw face sets not working on first try - Hans Goudey
- Fix #115933: Assert with invalid time-stamp on X11 with XIM input - Campbell Barton
- Fix #115937: Context override fails to restore screen - Campbell Barton
- Fix #115938: BLF Handle Negative Left-Side Bearings - Harley Acheson
- Fix #115977: Regression: Sculpt: Clay Thumb brush extra offset - Sergey Sharybin
- Fix #115978: FCurve extrapolation ignored in NLA. - Nate Rupsis
- Fix #115979: Object bounds display type doubled size - Hans Goudey
- Fix #115994: Crashes with edit mode tools using custom data correction - Hans Goudey
- Fix #116000: Face set toggle visibility not working correctly - Pratik Borhade
- Fix #116011: Sorting Attributes by Name in UILists does not work - Philipp Oeser
- Fix #116017: Mesh edit mode vertex slide allocation ignores alignment - Hans Goudey
- Fix #116019: Solidify Crease Inner not working with edge crease attribute - laurynas
- Fix #116022: Binary PLY import fails if first data byte is 0x0A or 0x0D - Aras Pranckevicius
- Fix #116024: Face set unhide crash for masked type - Pratik Borhade
- Fix #116025: Uninitialized value when versioning old node trees - Hans Goudey
- Fix #116029: Regression: Ctrl+Z breaks vertex paint. - Bastien Montagne
- Fix #116031: EEVEE-Next: Nishita sky does not work - Miguel Pozo
- Fix #116037: Corner Pin mask retains original alpha - Omar Emara
- Fix #116058: 'Align Rotation to Target' does not consider object orientation - Germano Cavalcante
- Fix #116058: 'Align Rotation to Target' does not consider object orientation - Germano Cavalcante
- Fix #116061: BoneCollection ID property user count handling incorrect - Sybren A. Stüvel
- Fix #116069: Incorrect data transfer custom normals behavior - Hans Goudey
- Fix #116075: OpenGL Shader Compilation On Selected Platforms - Jeroen Bakker
- Fix #116099: Shader to RGB not in menu in EEVEE Next - Prikshit singh
- Fix #116121: Resolve framebuffer resize issue in Metal - Jason Fielder
- Fix #116122: Frame Selected/All operators incorrectly frame view - Hans Goudey
- Fix #116128: Resolve EEVEE Next deferred light sync in Metal - Jason Fielder
- Fix #116130: Mirrored custom normals broken again - Philipp Oeser
- Fix #116135: Ensure blf_font_width_to_rstrlen always works - Harley Acheson
- Fix #116137: Overflow causing event time false positive warnings - Harley Acheson
- Fix #116140: GPU subdivision ignores completely smooth shading - Hans Goudey
- Fix #116141: Missing task isolation when storing sculpt undo node - Hans Goudey
- Fix #116144: Tag update relations for Active Camera node - Iliya Katueshenock
- Fix #116188: Symmetry breaks the Puff hair sculpting tool - Philipp Oeser
- Fix #116193: Assert on selecting object in outliner. - Bastien Montagne
- Fix #116196: Edge selection with hidden Asset Shelf - Harley Acheson
- Fix #116211: Cycles light linking incorrect with transparent objects - Brecht Van Lommel
- Fix #116215: Sequencer crashes unlinking packed text - Campbell Barton
- Fix #116216: Only support Memoryless texture flag on TBDR GPUs - Jason Fielder
- Fix #116220: Context property driver does not update during playback - Sergey Sharybin
- Fix #116229: Fix EEVEE GLitches on Legacy AMD Platforms - Jeroen Bakker
- Fix #116239: Propagate to Shapes overwrites all vertices with mirroring - Philipp Oeser
- Fix #116252: Corrections to Text Object Special Characters Menu - Harley Acheson
- Fix #116256: Unintentional override of node type property in API - Hoshinova
- Fix #116270: Sculpt: Simplify brush crash - Pratik Borhade
- Fix #116275: Snap (align to target) crash without valid target location - Philipp Oeser
- Fix #116280: bpy.ops.wm.url_open() cannot open file:/// - Dalai Felinto
- Fix #116297: Context override error passing in a window without a screen - Campbell Barton
- Fix #116308: muted nodes don't do type conversion correctly - Jacques Lucke
- Fix #116317: Ensure that USD materials reside in a Prim Scope - Jesse Yurkovich
- Fix #116320: Crash assigning bone to collection of other armature - Pratik Borhade
-
Fix #116325: crash assigning non-valid
material.paint_active_slot- Philipp Oeser - Fix #116342: crash when moving GP3 keyframe - Germano Cavalcante
- Fix #116343: Drawing on frame with auto-keying off gives error - Falk David
- Fix #116346: USD importer ignores camera near clipping plane - Philipp Oeser
- Fix #116351: Assert in sculpt mode with no faces - Hans Goudey
- Fix #116367: Scale snapping not working in Graph Editor - Christoph Lendenfeld
- Fix #116369: missing dependency on time when there is a bake animation node - Jacques Lucke
- Fix #116372: Crash in boolean triangulation after recent cleanup - Hans Goudey
- Fix #116373: Error using foreach_get on MeshLoopTriangle loops - Hans Goudey
- Fix #116389: Sculpt: Box Hide tool keymap option "Outside" not working - Pratik Borhade
- Fix #116403: Workbench: Broken overlays with clipping planes - Miguel Pozo
- Fix #116415: Show Empty text for Current Asset Library - Harley Acheson
- Fix #116418: Stroke direction wrong on curved surfaces - Marcelo Mutzbauer
- Fix #116424: GPU Nodes: UDIM texture user count - Miguel Pozo
- Fix #116432: Crash when changing source of image node - Omar Emara
- Fix #116471: some menus incorrectly display vertical on macOS - Brecht Van Lommel
- Fix #116489: Improper use of enum in GLSL file - Clément Foucault
- Fix #116504: Node group assets in "Instance" catalog show twice - Hans Goudey
- Fix #116515: Single Value Only applies to wrong input in geometry nodes modifier - Jacques Lucke
- Fix #116520: OBJ exporter does not add leading zeros in frame filenames - Aras Pranckevicius
- Fix #116522: Compositor incorrectly extrapolates values - Omar Emara
- Fix #116532: Cloth filter performance issue from mask attribute access - Hans Goudey
- Fix #116541: Wireframes with overlays and x-ray disabled - Miguel Pozo
- Fix #116546: Disable openexr core - Jesse Yurkovich
- Fix #116558: Console error due to missing property use_template_override - Andres Stephens
- Fix #116581: DoF Aperture Ratio for Camera has incorrect softmin value - Pratik Borhade
- Fix #116585: adding new hook results in crash - Jacques Lucke
- Fix #116614: Empty Point Cloud crash Points to Curves - Iliya Katueshenock
- Fix #116618: Win32 Use Null for Background Window Brush - Harley Acheson
- Fix #116623: GL/VK: Specialization constant error - Clément Foucault
- Fix #116647: Sculpt smooth brushes ineffective with low strength - Hans Goudey
- Fix #116671: update socket availability after node declaration update - Iliya Katueshenock
- Fix #116687: Crash on reload scripts and dropping blend files - Campbell Barton
- Fix #116691: repeat zone does not propagate anonymous attributes correctly - Jacques Lucke
- Fix #116695: Cycles light tree crash with certain light visibility settings - Alaska
- Fix #116709: EEVEE-Next: Missing gbuffer closure writes - Miguel Pozo
- Fix #116727: crash when deleting geometry node group in node editor - Prikshit singh
- Fix #116734: Measure Tool Undo crash. - Bastien Montagne
- Fix #116792: Cycles render issue velocity attribute and motion steps > 1 - Brecht Van Lommel
- Fix #116806: IndexMask.find returns wrong result when mask has offset - Jacques Lucke
- Fix #116807: Crash for large multidimensional bpy property default value - Thomas Barlow
- Fix #116810: Cycles HIP OpenImageDenoise device not available - salipourto
- Fix #116842: Incorrect API docs for gpu.matrix.load_identity - Campbell Barton
- Fix #116843: Multires sculpting crash in undo step creation - Hans Goudey
- Fix #116848 : Mask handles set to "Free" ignore theme color - Philipp Oeser
- Fix #116854: context.property access crashes when properties have no ID - Campbell Barton
- Fix #116866: crash when adding volume - Jacques Lucke
- Fix #116880: Rotation discrepancy when converting a matrix to euler - Campbell Barton
- Fix #116885: Index Switch node assert fails when removing all items - Hans Goudey
- Fix #116924: Sculpt undo crash and missing update - Pratik Borhade
- Fix #116950: Redraw Issues in Open Recent Previews - Harley Acheson
- Fix #116961: UV project modifier always adds attribute - Hans Goudey
- Fix #116964: EEVEE(Legacy): Crash during render - Miguel Pozo
- Fix #116985: Workbench: Skip volume depth test in Wireframe mode - Miguel Pozo
- Fix #116988: TIFF ignores compression type None - Thomas Wilshaw
- Fix #116996: Problem linking to reroute nodes - Pratik Borhade
- Fix #117015: Crash with subsurf mesh & loose edges in edit-mode - Campbell Barton
- Fix #117022: Incorrect sculpt undo values when creating face sets - Hans Goudey
- Fix #40009: Win32 Use Message Time for Events not Current Time - Harley Acheson
- Fix #44834: Add bone selection icon next to face and vertex selection in weight paint mode - Daiki Hashimoto
- Fix #73524: Autokey inserts keyframes into the driver FCurve - Christoph Lendenfeld
- Fix #76101: I18n: add new preference to translate reports - Damien Picard
- Fix #92478: Shortcuts not shown in pie menu tooltips - Campbell Barton
- Fix #92621: foreach_get/set doesn't work for enum - Thomas Barlow
- Fix #93052: USD import: wrong varying interpolation conversion - Michael Kowalski
- Fix #95045: UI: keymap header in preferences truncated when filtering - Damien Picard
- Fix #95709: Improve pulldown menu corner rounding - Leon Schittek
- Fix (Unreported) VSE crash when editing retiming - Richard Antalik
- Fix (harmless) uninitialized variable usage in Cycles Metal device - Brecht Van Lommel
- Fix (unlikely) integer overflow error in writedata(..) - Campbell Barton
- Fix (unreported): VSE offset drawing not working - Richard Antalik
- Fix (unreported): Set Color Tag broken when inside meta strip - ok_what
- Fix (unreported) Scene Collection runtime data not cleared on write. - Bastien Montagne
- Fix (unreported) crash when trying to link/append while a linked scene is active. - Bastien Montagne
- Fix (unreported) missing Viewlayer update in liboverride code. - Bastien Montagne
- Fix Context.temp_override restoring freed values on exist - Campbell Barton
- Fix Context.temp_override(..) use with temporary screens - Campbell Barton
- Fix Cycles ASAN error with boolean kernel arguments - Brecht Van Lommel
- Fix Cycles division by zero with zero length curves - Brecht Van Lommel
- Fix Cycles rare assert in ensure_valid_specular_reflection - Brecht Van Lommel
- Fix Cycles versioning error after displacement_method removal - Brecht Van Lommel
- Fix EEVEE: Compilation on Metal - Clément Foucault
- Fix GHOST/Wayland handling of out-of-order time-stamps - Campbell Barton
- Fix RNG memory leak on various error conditions - Brecht Van Lommel
- Fix assert under Wayland when IME text input completed without a window - Campbell Barton
- Fix asserts is last commit - Germano Cavalcante
- Fix autopep8 reference for "make format" on Linux - Campbell Barton
- Fix bpy.context.copy() including evaluated_depsgraph_get - Campbell Barton
- Fix build error in freestyle when not using precompiled headers - Brecht Van Lommel
- Fix build error on architectures without SSE or sse2neon - Leon Marz
- Fix compilation error with WITH_COMPILER_ASAN=ON on macOS - Sergey Sharybin
- Fix crash reading an empty clipboard under Wayland - Campbell Barton
- Fix crash with change to window initialization order - Campbell Barton
- Fix divide by zero error Lightmap Unwrap & small N-gons - SebastianWitt
- Fix error in mirror modifier UI only checking X axis bisect - Campbell Barton
- Fix error in recent GHOST/Wayland thread priority function - Campbell Barton
- Fix error setting the initial window size with LIBDECOR on Wayland - Campbell Barton
- Fix error updating the tablets cursor scale on Wayland - Campbell Barton
- Fix eyedropper outside blender on mac - rajveermalviya
- Fix failing assert when hiding header with asset shelf available - Julian Eisel
- Fix hang on startup under Wayland & LIBDECOR with the VULKAN backend - Campbell Barton
- Fix heap buffer overflow in Cycles IES parser - Sergey Sharybin
- Fix incorrectly sized maximized windows on Wayland + KDE - Campbell Barton
- Fix invalid cursor move time-stamp on WIN32 - Campbell Barton
- Fix invalid size of allocated looptris array - Campbell Barton
- Fix macOS ARM build failing with make lite - Brecht Van Lommel
- Fix macOS not auto updating cmake cache for Python 3.11 - Brecht Van Lommel
- Fix missing NULL check from fix for #113059 on Wayland/LIBDECOR - Campbell Barton
- Fix missing null check from !115247 & simplify - Campbell Barton
- Fix missing tagging of collections in some BKE_collections codepath. - Bastien Montagne
- Fix mistake in previous commit - Richard Antalik
-
Fix reported build breaking in BSD/clang after change to
BLI_renamecode. - Bastien Montagne - Fix sequencer modifier operators crashing with no active strip set - Campbell Barton
- Fix shadowing error causing a value to be assigned to it's self - Campbell Barton
- Fix typo in UI message. - Bastien Montagne
- Fix uninitialized use_scene_unit for STL export - Campbell Barton
- Fix use after free error on abort() - Campbell Barton
- Fix use of undefined IMATH_INCLUDE_DIRS - Campbell Barton
- Fix use-after-free in Cocoa GHOST system creation - Sergey Sharybin
- Fix window frames not following blender window with fractional scaling - Campbell Barton
- Fix window updates with threaded event handling with LIBDECOR on Wayland - Campbell Barton
Fullframe compositor
- Fullframe compositor: unify behavior of size inference with realtime-compositor - Habib Gahbiche
- Fullframe compositor: unify scaling behavior with realtime compositor - Habib Gahbiche
- Fullframe compositor: unify size inference with GPU compositor part 2 - Habib Gahbiche
GHOST
- GHOST: remove X11 include when WITH_GHOST_X11=11 - Campbell Barton
GHOST/SDL
- GHOST/SDL: use SDL timestamps for events - Campbell Barton
GHOST/Wayland
- GHOST/Wayland: improve tablet event handling - Campbell Barton
- GHOST/Wayland: use time-stamps from Wayland input - Campbell Barton
- GHOST/Wayland: animated cursor support - Campbell Barton
- GHOST/Wayland: use minimum priority for helper threads - Campbell Barton
- GHOST/Wayland: use monotonic timer for getMilliSeconds - Campbell Barton
- GHOST/Wayland: skip more involved timestamp conversion where possible - Campbell Barton
- GHOST/Wayland: update cursor names - Campbell Barton
- GHOST/Wayland: correct fix for #106040 - Campbell Barton
- GHOST/Wayland: unbreak build without threaded event handling - Campbell Barton
- GHOST/Wayland: set windows scale on creation when it's known - Campbell Barton
- GHOST/Wayland: remove workaround when resizing windows with LIBDECOR - Campbell Barton
- GHOST/Wayland: correct internal error in size initialization - Campbell Barton
- GHOST/Wayland: note that GNOME's IME also give us bad time-stamps - Campbell Barton
GHOST/X11
- GHOST/X11: Support X11 time-stamps - Campbell Barton
- GHOST/X11: Enable desktop sample capability - rajveermalviya
GP3
- GP3: Select Alternate: Speedup - Iliya Katueshenock
GPU
- GPU: Sanitize closure nodes inputs - Miguel Pozo
- GPU: Assert no UINT push constants are used - Miguel Pozo
- GPU: cleanup texture view usage flags - Jason Fielder
- GPU: Resolve compilation error in Metal caused by type ambiguity - Jason Fielder
- GPU: Add flag when using explicit framebuffer loadstore state - Jason Fielder
- GPU: Shader Builder Filter - Jeroen Bakker
- GPU: Remove the Word OpenGL from Build Scripts - Jeroen Bakker
- GPU: Add function for setting float array uniforms - Omar Emara
- GPU: Add Shader specialization constant API - Jason Fielder
- GPU: Fix wrong error lines in tests - Clément Foucault
- GPU: Shader Builder CMake Fixes - Jeroen Bakker
GPUMaterial
- GPUMaterial: Add volume shader flags - Clément Foucault
GPv3
- GPv3: Material locking - Falk David
- GPv3: Replace depsgraph tag to ID_RECALC_GEOMETRY - Antonio Vazquez
- GPv3: Avoid unnecessarily creating cyclic attribute in hard erasor - Hans Goudey
- GPv3: Lock Unused Materials operator - Antonio Vazquez
- GPv3: Lock and Unlock all materials operators - Antonio Vazquez
- GPv3: Hide Others operator - Antonio Vazquez
- GPv3: Lock unselect materials operator - Antonio Vazquez
- GPv3: Fix #113994: Overlay: Hide points for locked layers. - casey bianco-davis
- GPv3: "Set Active Layer" operator and menu - Clément Busschaert
- GPv3: Duplicate Points operator - casey bianco-davis
- GPv3: Show and hide layers operators - Matias Mendiola
-
GPv3: Menu to Select Material using
Ukey - Antonio Vazquez - GPv3: Fix compiler warning and format - Antonio Vazquez
- GPv3: Drawing Placements - Falk David
- GPv3: Overlay: Show edit lines option - Casey Bianco-Davis
- GPv3: Overlay: Only show visible and editable materials - casey bianco-davis
- GPv3: Render to Image - Falk David
- GPv3: Clean loose points operator - Pratik Borhade
- GPv3: Avoid creating cyclic attribute when unnecessary in duplicate operator - Hans Goudey
- GPv3: Specialize duplicate function for curve selection domain - Hans Goudey
- GPv3: Material Render Preview - Antonio Vazquez
- GPv3: Drawing color conversion - Casey Bianco-Davis
- GPv3: Move set uniform and set opacity operators to Stroke Menu - Matias Mendiola
- GPv3: Crash deleting end points - Pratik Borhade
- GPv3: Crash when drawing in locked or hidden layer - Pratik Borhade
- GPv3: Subdivide operator - YimingWu
- GPv3: Python API: Add materials collection property - Falk David
- GPv3: Expose subdivide operator in UI - Pratik Borhade
- GPv3: Rendering "hardness" curve attribute - Falk David
- GPv3: Sample color - Casey Bianco-Davis
- GPv3: Copy Materials to Selected operator - Antonio Vazquez
- GPv3: Add Assign material menu - Antonio Vazquez
Geometry Nodes
- Geometry Nodes: Node tools: Support warnings - Hans Goudey
- Geometry Nodes: Edges to Face Groups speedup - Iliya Katueshenock
- Geometry Nodes: Parallel Edges to Face Groups - Iliya Katueshenock
- Geometry Nodes: Use rotation socket for the object info node - Hans Goudey
- Geometry Nodes: Index switch node - Hans Goudey
- Geometry Nodes: set soft min/max in Index Switch node - Jacques Lucke
- Geometry Nodes: add two inputs in Index Switch by default - Jacques Lucke
- Geometry Nodes: muting zone input and output nodes is not allowed - Jacques Lucke
- Geometry Nodes: Rewrite parts of extrude mesh node - Hans Goudey
- Geometry Nodes: Remove drag & drop requirement of geometry input - Hans Goudey
- Geometry Nodes: extract global data passed to a geometry nodes invocation to separate struct - Jacques Lucke
- Geometry Nodes: Remove experimental volume nodes - Lukas Tönne
- Geometry Nodes: make function for mixing baked data more reusable - Jacques Lucke
- Geometry Nodes: Face Group Boundaries node speedup - Iliya Katueshenock
- Geometry Nodes: Change Instance Rotation node to use rotation socket - Hans Goudey
- Geometry Nodes: Add Active Camera input node - Douglas Paul
- Geometry Nodes: add support for blackbody shader node - Kenzie
- Geometry Nodes: rename ValueOrField to SocketValueVariant - Jacques Lucke
- Geometry Nodes: use dynamic declaration for switch node - Jacques Lucke
- Geometry Nodes: refactor storage for socket values - Jacques Lucke
- Geometry Nodes: new Bake node - Jacques Lucke
- Geometry Nodes: Improve Shortest Edge Paths node performance - Iliya Katueshenock
- Geometry Nodes: initial display of attribute values as text in 3d viewport - Julian Plak
- Geometry Nodes: initial Volume Grid socket support - Lukas Tönne
- Geometry Nodes: support panels in geometry nodes modifier - Jacques Lucke
- Geometry Nodes: refactor indices for zone socket mapping - Iliya Katueshenock
- Geometry Nodes: Sort Elements node - Iliya Katushenock
Git
- Git: Update Cannonical Authors - Jeroen Bakker
Hydra
- Hydra: Parallelize and simplify submesh export - Hans Goudey
- Hydra: Support legacy hair particle curves - georgiy.m.markelov@gmail.com
I18N
- I18N: Updated UI translations from git/weblate (7dc048f65e2a). - Bastien Montagne
- I18N: UI Translatiion: Add Belarusian language entries. - Bastien Montagne
- I18N: Updated UI translations from git/weblate (55af06d62a579dcae). - Bastien Montagne
- I18N: Enable Belarusian language in UI translations. - Bastien Montagne
- I18N: Updated UI translations from git/weblate (f26db8403b919d). - Bastien Montagne
- I18N: Update UI messages from git/eblate repository (f1161c0d9985b97). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repo (94aa7cc090b7d06a). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repo (bd340604b). - Bastien Montagne
I18n
- I18n: translate new text object body - Damien Picard
- I18n: extract and disambiguate a few messages - Damien Picard
- I18n: Go over TIP_ and IFACE_ usages, change to RPT_ when relevant - Damien Picard
ID properties
- ID properties: Support enum values with items - Lukas Tönne
IMB
IO
- IO: Add initial support for File Handlers registration - Guillermo Venegas
- IO: Add support for multiple drag-n-drop files - Guillermo Venegas
- IO: remove experimental label from C++ based STL import/export - Aras Pranckevicius
- IO: Add support for Drag and Drop to FileHandlers - Guillermo Venegas
ImBuf
- ImBuf: optimize IMB_transform - Aras Pranckevicius
Initial exposure of compute dispatch and image store in Python API
LibOverride
- LibOverride: Refactor some part of hierarchy handling code. - Bastien Montagne
- LibOverride: Modify automatic handling of which IDs to override in a hierarchy. - Bastien Montagne
Liboverride
- Liboverride: Refactor 'refresh' tagging and handling. - Bastien Montagne
License headers
- License headers: add SPDX copyright entries - Campbell Barton
- License headers: add SPDX headers - Campbell Barton
- License headers: conform copyright to SPDX - Campbell Barton
Licenses
- Licenses: add MPL-2.0 (from recent inclusion of NanoVDB.h) - Campbell Barton
Linux
- Linux: add StartupWMClass to avoid duplicate dock items on some systems - Brecht Van Lommel
Lookdev
- Lookdev: Use Mid Grey for Diffuse HDRI Sphere - Jeroen Bakker
Make ImplicitSharingPtr constructor from data pointer explicit
Make the preference option "remap relative" apply for all save operations
- Make the preference option "remap relative" apply for all save operations - Sebastian Parborg
Mesh
- Mesh: Move sculpt mask to a generic attribute - Hans Goudey
- Mesh: Copy small caches when moving mesh data to Main database - Hans Goudey
- Mesh: Parallelize remaining topology maps - Hans Goudey
- Mesh: Improve remesh attribute transfer - Hans Goudey
- Mesh: add index-independent test for mesh equality - Wannes Malfait
- Mesh: Avoid calculating corner normals for drawing flat-shaded meshes - Hans Goudey
- Mesh: Add viewport normals simplify option - Hans Goudey
- Mesh: Rename MLoopTri variable names, and functions - Hans Goudey
- Mesh: Rename totvert, totedge, and totloop fields - Hans Goudey
Metal
- Metal: Ensure increased FB attachment count supported - Jason Fielder
- Metal: Remove old small-tiles optimization - Jason Fielder
- Metal: Add support for attachment-less framebuffer - Jason Fielder
- Metal: Add fallback path for texture atomics V2 - Jason Fielder
- Metal: Enable Shader Validation on Buildbot - Jeroen Bakker
- Metal: Resolve texture atomic compilation issue - Jason Fielder
- Metal: Remove warning about dummy attribute - Clément Foucault
- Metal: Improve shader logging - Clément Foucault
- Metal: Fix missing new line characters - Clément Foucault
- Metal: Allow pretty log for compute shader - Clément Foucault
- Metal: Add debug names to compute pipelines - Clément Foucault
- Metal: GPU: Add support for custom shader tuning parameters - Jason Fielder
Move
BKE_main_idmap
and
BKE_main_namemap
to be fully cpp headers.
-
Move
BKE_main_idmapandBKE_main_namemapto be fully cpp headers. - Bastien Montagne
Multires
- Multires: Use IndexMask for Subdiv CCG face updates - Hans Goudey
NLA
- NLA: Console warnings about missing channel_index property - Pratik Borhade
Nodes
- Nodes: support storing caller tree and node in node group compute context - Jacques Lucke
- Nodes: improve socket picking tolerances - Jacques Lucke
- Nodes: add node callback for extra info that is drawn above node - Jacques Lucke
- Nodes: add int and bool to shader nodegroups - Dyvine57
- Nodes: debug print for bNodeTreeZones - Iliya Katushenock
OBJ
- OBJ: add import option to create collection hierarchy by splitting names with a separator - Aras Pranckevicius
OpenGL
- OpenGL: Raise Minimum SSBO Bindings to 12. - Jeroen Bakker
- OpenGL: Mark Legacy Intel Drivers Unsupported - Jeroen Bakker
- OpenGL: Specialization Constants - Jeroen Bakker
Overlay
- Overlay: Wireframe: avoid using custom depth bias with xray enabled - Xavier Hallade
PBVH
- PBVH: Refactor hide and mask update to be data oriented and reusable - Hans Goudey
- PBVH: Specialize node bounds update, expose functions - Hans Goudey
- PBVH: Use C++ Bounds type for node bounds - Hans Goudey
PLY
- PLY: extend test coverage for #116022 - Aras Pranckevicius
PyAPI
- PyAPI: call 'sys.excepthook' for text editor exceptions - Campbell Barton
- PyAPI: use binary file access running scripts on non-WIN32 platforms - Campbell Barton
- PyAPI: raise an error when executing a directory on non-Windows systems - Campbell Barton
- PyAPI: remove use of stub script to execute files on WIN32 - Campbell Barton
- PyAPI: support overriding the "screen" with Context.temp_override() - Campbell Barton
- PyAPI: support global window areas with Context.temp_override - Campbell Barton
- PyAPI: micro optimization accessing keyword arguments for bpy functions - Campbell Barton
- PyAPI: support bpy.utils.register_tool without a keyconfig set - Campbell Barton
- PyAPI: drop support for Python 3.10 - Campbell Barton
- PyAPI: remove code for Python 3.10 - Campbell Barton
- PyAPI: support returning non ID types when accessing Context.property - Campbell Barton
- PyAPI: add preferences.filepaths.asset_libraries.new/remove methods - Philipp Oeser
Python
- Python: add Python API for layout panels - Jacques Lucke
Python API
-
Python API: Make
Screen.show_fullscreentrue also in fullscreen mode - Jonas Holzman - Python API: Add new method to move view layers - Damien Picard
RNA
- RNA: Expose ID type identifier in ID structs, add coherence test. - Bastien Montagne
- RNA: Add missing raw types for DNA types - Thomas Barlow
- RNA: Remove bitmask from BoolAttributeValue.value - Thomas Barlow
- RNA: Use PROP_RAW_BOOLEAN with single-byte PROP_BOOLEAN raw types - Thomas Barlow
RNA/BPY API
-
RNA/BPY API: Add
clear_liboverrideoption toID.make_local. - Bastien Montagne
Realtime Compositor
- Realtime Compositor: Rewrite inpaint node - Omar Emara
- Realtime Compositor: Implement zero cost external images - Omar Emara
- Realtime Compositor: Add utilities to handle texture formats - Omar Emara
- Realtime Compositor: Cache bokeh kernel image - Omar Emara
- Realtime Compositor: Add static cached images - Omar Emara
- Realtime Compositor: Implement Cryptomatte node - Omar Emara
- Realtime Compositor: Implement Defocus node - Omar Emara
- Realtime Compositor: Aspect correct mask inputs - Omar Emara
- Realtime Compositor: Implement Vector Blur node - Omar Emara
Refactor
- Refactor: Rename eAutokey_Flag enum - Christoph Lendenfeld
- Refactor: Text Editor Formatted Output - Harley Acheson
- Refactor: Move insert_key_rna from editors to animrig - Christoph Lendenfeld
- Refactor: improve (still unused) UV unwrap simplify code - Brecht Van Lommel
- Refactor: GEO: Mesh selection header file - Iliya Katueshenock
- Refactor: Further improvements to geometry bounds - Hans Goudey
- Refactor: reduce complexity of object mode selection, minor optimization - Campbell Barton
- Refactor: Sculpt: Clarify PBVH attribute requests - Hans Goudey
-
Refactor: remove unused argument to
BKE_constraint_remove_ex()- Sybren A. Stüvel -
Refactor: BKE: Move
BKE_libraryheader to full CPP. - Bastien Montagne - Refactor: move ANIM_bone_collections.h into the .hh file - Sybren A. Stüvel
- Refactor: combine x and y for insert_vert_fcurve into float2 - Christoph Lendenfeld
- Refactor: Refactor nla_strip_get_color_inside method - Nate Rupsis
- Refactor: Pass Keyframe settings as arguments - Christoph Lendenfeld
- Refactor: replace NanoVDB SampleFromVoxels by own code - Brecht Van Lommel
- Refactor: replace NanoVDB kernel side implementation by own code - Brecht Van Lommel
- Refactor: Remove dependencies on Editor code from animrig - Christoph Lendenfeld
- Refactor: move BEZKEYTYPE define to DNA - Campbell Barton
- Refactor: Move ED_id_action_ensure to animrig - Christoph Lendenfeld
- Refactor: extract code from ANIM_apply_keyingset - Christoph Lendenfeld
- Refactor: Move evaluate on domain field input to be reusable - Hans Goudey
- Refactor: extract code from ANIM_keying_sets_enum_itemf - Christoph Lendenfeld
- Refactor: Anim, move refresh of active bone collection to own function - Sybren A. Stüvel
-
Refactor: rename
bonecoll_find_indexand move to namespace - Sybren A. Stüvel -
Refactor: Anim, rename function to
ANIM_bone_in_visible_collection()- Sybren A. Stüvel - Refactor: keyframing unit tests - Christoph Lendenfeld
- Refactor: Anim, remove unnecessary method override - Sybren A. Stüvel
- Refactor: simplify arguments for make_new_fcurve_cyclic - Christoph Lendenfeld
- Refactor: "Warning" -> "Confirm" for Custom Confirmations - Harley Acheson
- Refactor: keyingsets.cc - Christoph Lendenfeld
Revert "CMake
- Revert "CMake: Give kernel compilation targets access to console" - Sergey Sharybin
Revert "Cleanup
- Revert "Cleanup: move CMake test utility functions into testing.cmake" - Brecht Van Lommel
Revert "Cycles
- Revert "Cycles: Added quality parameter for OIDN" - Werner, Stefan
Revert "Fix
- Revert "Fix: Cycles: inconsistent normal checks when sampling and evaluating BSDF" - Brecht Van Lommel
Revert "Fix #113059
- Revert "Fix #113059: file selector shrinks on each display under KDE" - Campbell Barton
Revert #116228
- Revert #116228: Check Interactivity in button comparisons - Harley Acheson
Revert preset changes in c6db3f98bb
- Revert preset changes in c6db3f98bb - Germano Cavalcante
Sanitizer
- Sanitizer: Add more suppressions to our list. - Bastien Montagne
Sculpt
- Sculpt: Improve "Hide/Show" operator performance for mesh - Hans Goudey
- Sculpt: Remove redundant "reveal all" operator - Hans Goudey
- Sculpt: Multithread mesh "show all" operation - Hans Goudey
- Sculpt: Specialize mask fill/invert operator per PBVH type - Hans Goudey
- Sculpt: Separate invert visibility operator from face sets - Hans Goudey
- Sculpt: Simplify and slightly improve undo update tagging - Hans Goudey
- Sculpt: Reimplement face sets visibility operator - Hans Goudey
- Sculpt: Make hide poly pointer in sculpt session const - Hans Goudey
- Sculpt: Refactor face sets storage and access - Hans Goudey
- Sculpt: Avoid expensive mask access in remaining cases - Hans Goudey
- Sculpt: Improve mesh normals update performance - Hans Goudey
Selection
- Selection: Remove limit on number of items which can be selected at once - Jesse Yurkovich
Shaders
- Shaders: change default IOR from 1.45 to 1.5 - Brecht Van Lommel
Studiolight
- Studiolight: Free Resources for Unused Lights. - Jeroen Bakker
Studiolights
- Studiolights: Remove Unused Options - Jeroen Bakker
Subdiv
- Subdiv: Store multires sculpt grid visibility in BitGroupVector - Hans Goudey
- Subdiv: Use base mesh faces and topology map for SubdivCCG - Hans Goudey
- Subdiv: Inline grid to face map lookup function - Hans Goudey
- Subdiv: Remove unnecessary CCG derived flag structs - Hans Goudey
Suppress warnings by removing unused properties from keymaps
- Suppress warnings by removing unused properties from keymaps - Germano Cavalcante
Tests
- Tests: ensure BLI_str_utf8_offset_from_index index is logically clamped - Campbell Barton
- Tests: add option to build one binary per GTest file - Brecht Van Lommel
- Tests: Refactor handling of environment variables when invoking tests. - Bastien Montagne
- Tests: Improve the sanitizer options handling. - Bastien Montagne
- Tests: add IMB_transform tests - Aras Pranckevicius
Text Editor
- Text Editor: Use active text selection as search query - Guillermo Venegas
Tools
- Tools: Update weekly report script to use Gitea Markdown syntax - Julian Eisel
- Tools: Weekly report script option for weeks further in the past - Julian Eisel
- Tools: Match required header formatting for weekly report script - Julian Eisel
- Tools: Weekly report script ignore commits to .profile repo - Aaron Carlisle
UI
- UI: Improve menu dropshadow - Leon Schittek
- UI: Improve description of custom asset library type - Julian Eisel
- UI: enable immediate typing for 'Select Pattern" operator - Philipp Oeser
- UI: Icons for Area Join and Swap - Harley Acheson
- UI: fix and improve a few messages - Damien Picard
- UI: Set Initial Background Color Darker - Harley Acheson
- UI: Show "No results found" for empty searches - Harley Acheson
- UI: add support for uiLayout based panels - Jacques Lucke
- UI: View As Render for Background Images - Harley Acheson
- UI: Dynamic File Browser Tooltips - Harley Acheson
- UI: Implement a Clear Recent Files List Operator - Jonas Holzman
- UI: Recent Menu Previews - Harley Acheson
- UI: Improved Operator Confirmations - Harley Acheson
- UI: Improved Confirmation Dialog for Clear Recent List - Harley Acheson
- UI: Updated Auto Keying Button Icon - Harley Acheson
- UI: use std::abs() to ensure floating point values are handled properly - Sybren A. Stüvel
- UI: context menu support for changing menu & panel shortcuts - Campbell Barton
- UI: Clarify Liquid Diffusion/Viscosity Properties - Aaron Carlisle
- UI: Don't Emboss Within a Stack of Buttons - Harley Acheson
- UI: show shortcut for "View Selected" in the pie menu - Campbell Barton
- UI: improve unit names - Damien Picard
UI/Code
- UI/Code: Fix typos and other UI messages issues. - Bastien Montagne
USD
- USD: Improved texture coordinate translation (UsdTransform2d) - Charles Wardlaw
- USD: Apply MaterialBindingAPI to Curves with materials - Jesse Yurkovich
- USD: optionally author subdivision schema on export - Michael B Johnson
- USD: import scenegraph instances. - Michael Kowalski
- USD: Support armature and shape key export - Michael Kowalski
UV
- UV: restore axis alignment support for Smart UV Project - Campbell Barton
- UV: improve performance for lightmap unwrap - SebastianWitt
Unbreak build with Vulkan+Wayland+X11
- Unbreak build with Vulkan+Wayland+X11 - Campbell Barton
Unbreak building with Vulkan & WITH_GHOST_X11=OFF
- Unbreak building with Vulkan & WITH_GHOST_X11=OFF - Campbell Barton
Unbreak debug build
- Unbreak debug build - Campbell Barton
VFont
- VFont: Use BLF for font & glyph loading - Harley Acheson
VSE
- VSE: Use Strip Volume property for scenes - 20kdc
- VSE: speedup timeline drawing, and improve waveform display - Aras Pranckevicius
- VSE: speedup Luma Waveform display output mode - Aras Pranckevicius
- VSE: speedup "show overexposed" option - Aras Pranckevicius
- VSE: make Gamma Cross effect 4x faster - Aras Pranckevicius
- VSE: make Glow effect 6x-10x faster - Aras Pranckevicius
- VSE: make Wipe effect 6x-20x faster - Aras Pranckevicius
- VSE: Implement file based copy paste - Sebastian Parborg
- VSE: implement selection of "linked" retiming keys - Richard Antalik
- VSE: Keep exiting retiming when changing speed - Richard Antalik
- VSE: reduce effects code duplication, making gaussian blur faster in the process - Aras Pranckevicius
- VSE: more intuitive UI control for waveform display mode - Aras Pranckevicius
- VSE: add option to display half of audio waveform - Aras Pranckevicius
- VSE: display audio waveforms by default - Aras Pranckevicius
- VSE: Scopes improvements - Aras Pranckevicius
- VSE: Fix various "off by half a pixel" issues in image transform - Aras Pranckevicius
- VSE: Don't draw unused properties in redo panel - Richard Antalik
- VSE: Hide retiming keys, when retiming is reset - Richard Antalik
- VSE: Set speed operator usability improvement - Richard Antalik
- VSE: speed up solid color effect - Aras Pranckevicius
- VSE: Allow mirror axis crossing when moving transition key - Richard Antalik
- VSE: Add retiming operator macros - Richard Antalik
Valgrind
- Valgrind: suppress warnings with MemPool & MEM_* trailing padding - Campbell Barton
Versioning
- Versioning: Bump subversion and move code into block - Thomas Dinges
- Versioning: Update comments how to handle subversioning - Thomas Dinges
Volume
- Volume: move volume runtime data to separate allocation - Jacques Lucke
Volumes
- Volumes: refactor volume grid storage - Jacques Lucke
- Volumes: improve tree access token api - Jacques Lucke
Vulkan
- Vulkan: Enable Tests Not Relying on a Context - Jeroen Bakker
- Vulkan: Pipeline Cache - Jeroen Bakker
- Vulkan: Store Vertex, Index and Storage Buffers on Device Memory - Jeroen Bakker
- Vulkan: Timeline Semaphores - Jeroen Bakker
- Vulkan: Add Debug Name To Descriptor Sets - Jeroen Bakker
- Vulkan: Generate Correct GLSL After Changing Workarounds - Jeroen Bakker
- Vulkan: Check Resource Bind Type when Binding - Jeroen Bakker
- Vulkan: Fix Shader Compilation Issue - Jeroen Bakker
- Vulkan: Fix Anisotropic Filtering Validation Error - Jeroen Bakker
- Vulkan: Fix Samplers Extend mode - Jeroen Bakker
- Vulkan: Fix vkCmdCopyBufferToImage validation error - Jeroen Bakker
- Vulkan: Fix Image Range Validation Error - Jeroen Bakker
- Vulkan: Fix: DEPTH_COMPONENT24 - Jeroen Bakker
WM
- WM: warn about suspicious event time-stamps in debug builds - Campbell Barton
- WM: correct error printing for suspicious time-stamps - Campbell Barton
-
WM: document some options of the
bpy.ops.wm.read_homefileoperator - Sybren A. Stüvel - WM: ensure operator context isn't used for drop operator properties - Campbell Barton
Windows
- Windows: Remove workaround for ARM64/WSL Mesa drivers - Anthony Roberts
install_linux_packages
-
install_linux_packages: update for 4.1 libraries, and some fixes. - Bastien Montagne -
install_linux_packages: Add libdeflate library. - Bastien Montagne
deps_builder
- deps_builder: build fixes for oidn - Ray Molenkamp
- deps_builder: include OIIO PR #4062 - Ray Molenkamp
editorconfig
- editorconfig: add HTML entry - Campbell Barton
ffmpeg
- ffmpeg: multithreaded conversion from RGBA into encoding format - Aras Pranckevicius
- ffmpeg: restore compatibility with pre-5.0 versions - Aras Pranckevicius
- ffmpeg: optimize ffmpeg_postprocess - Aras Pranckevicius
macOS
- macOS: Silence noisy linker warning about duplicate libraries - Sergey Sharybin
make
- make: fix clang-format detection - Ray Molenkamp
shader_builder
- shader_builder: Fix startup error on windows - Ray Molenkamp
14 Comments
Hey Pablo! Are there any news on when the texture displacement is gonna work on its own without the subdivision modifier?
Also is there a possibility that we can link modifiers between multiple objects any time soon?
I think you can link modifier values using drivers, I use it all the time and it is great. This way we have both flexibility in different mesh data but having same modifier values.
Ola Pablo Happy new year to all of you guys at Blender HQ Just a quick question, when will Blender support standard opentype features for text objects, like built-in kerning and stuff ? I'm on a very type intensive motion design project right now and I'm afraid I will have to adjust kerning by hand and it will take ages unfortunately. For those who don't see what I'm talking about just look at the huge unnatural space between the T and the e in the word Text, on the 4.1 > User interface relase notes bottom pictures Thanks in advance Cheers
How to render animation with sound.
What purpose does the checkbox "Use nodes" have? For materials, why would anyone ever want it off? For compositor, there are two checkboxes that do essentially the same thing: Turn the compositor on/off. One is "Use nodes", and one is "Post processing || Turn the compositor on/off". This seems very pointless.
Hi Pablo. Thanks for the updates. Is there any way to import AutoCAD DWG and DXF files with unexploded text?
I don't know that but you use inkscape in between to convert dxf file to svg and import svg into blender.
Hi Pablo! What new stuff coming to Blender you are the most excited about? For me it's animation stuff 2025 and texture layers.
Hey :) Question about the user interface. Why are there still global transform settings among Active tool settings? Seems very misplaced. Seems like a no-brainer to put these among the other global transform settings, no?
Image from devtalk: devtalk.blender.org/uploads/default/original/3X/4/d/4db78b239437ddbe525e332a84cb08965d60c3d8.png
This misplacement is especially evident, when these appear in the N-Shelf or the properties editor, among active tool settings... Like, can the active tool "Selection" have "Automerge", for example? No. That's completely unrelated!
There's also a "Workspace" panel in there, which makes no sense too, and a lot more other stuff in other modes, that don't belong there...
Hello Pablo, hello all Is it an error that the Shading RGB node is possible to modify alpha but doesnt have alpha output? The documentation calls it rgb but the image and one text calls it rgba with yellow node output wich is not possible to extract from it by any means
oi, pablo!
customization is massive!... and it's a bit of an issue-every customization menu is massive! what's your take on a "basic customization" menu, that opens up into the current, granular one? For example, a number of things in blender are the same color by default- perhaps their values should begin linked?
Other than that, we still need nodes with vector curves in their ui to use correct splines for geo nodes (and material nodes) accuracy! projects.blender.org/blender/blender/issues/113455 . if you know who to bug, please do! It's an old bug that affects a lot- I swear I'm not trying to be annoying about it!
Happy holidays, and give some thanks to Dalai for filling in for Pablo these last few weeks! (and reading these!)
also, welcome back! coffee isn't the same without you!
Hey Pablo :) nice to see you back in Blender today. Is there a schedule when Eevee will support 360 panorama cameras?
Hello Pablo, How are you?
Know if in the new animation Layers workflow planned will work anything like actions for exportion? It is a common thing in games to use each action as an individual layer as It's own action (Idle, Walk, Run) so It goes, when importing into a game engine like Unity, Unreal, the engine understands this from the FBX and separate them into their own animations authomatically, know if this will be possible in the next system?
Also, the shortcut (Shift + M) to switch bone layers from view for the rigging stopped working properly on 4.0, intead It's mimicing the send bone to layer shortcut (M) result. Know if there's any fix planned?