Reusable COMPOSITOR! - Blender Today LIVE #261
Changelog between June 10, 2025 - June 24, 2025 at 12h
485 commits in total, of which 118 are fixes and 76 cleanup.
Anim
- 🔸 Anim: Add action + slot selector to node tree editor's side panel - Nathan Vegdahl
- Anim: remove Compositor action selector from Scene properties - Nathan Vegdahl
- Anim: avoid 'unshare' node for custom properties and shapekey values - Sybren A. Stüvel
- 🔸 Animation: New test for armature deformation - Lukas Tönne
Assets
- Assets: Remove asset handle RNA type - Julian Eisel
Attributes
- Attributes: Remove AttributeStorage legacy compatibility option - Hans Goudey
- Attributes: Remove AttributeStorage legacy compatibility option - Hans Goudey
BLI
-
BLI: Add assert for
indexed_data_equal- Sean Kim
BLO
- 🔸 BLO: enable new file format by default - Jacques Lucke
BMesh
- BMesh: Python: Add minimal API test for bmesh. - Bastien Montagne
Big Endian Support Removal.
- 🔸 Big Endian Support Removal. - Bastien Montagne
Build
- Build: Add loong64 support in BLI_build_config.h - wszqkzqk
- Build: resolve errors & deprecation warnings with Python 3.14 beta - Campbell Barton
- Build: resolve errors & deprecation warnings with Python 3.14 beta - Campbell Barton
- Build: point mac arm64 libraries to latest main - Aras Pranckevicius
- Build: Update linux libraries - Sebastian Parborg
- Build: Update linux libraries - Sebastian Parborg
- Build: Update linux libs - Sebastian Parborg
CMake
- CMake: exclude "-Wextra" when removing strict flags - Campbell Barton
- CMake: exclude "-Wextra" when removing strict flags - Campbell Barton
- CMake: suppress noisy deprecated-copy warnings in freestyle - Campbell Barton
- CMake: suppress GCC warnings in ./extern/bullet - Campbell Barton
- CMake: include GFLAS & GLOG as system headers - Campbell Barton
Cleanup
- Cleanup: Remove left-over debug prints. - Bastien Montagne
-
Cleanup: VSE: Ensure
strip->typecheck uses equals comparison - John Kiril Swenson - Cleanup: VSE: Remove Legacy Handle Tweaking - John Kiril Swenson
- Cleanup: quiet CMake warnings from use of undefined variables - Campbell Barton
- Cleanup: correct typo in comments, use doxygen doc-strings - Campbell Barton
- Cleanup: typo "is_inveetible_" - Aras Pranckevicius
- Cleanup: use braces (follow own style guide) - Campbell Barton
- Cleanup: reorder initialization to simplify freeing on early exit - Campbell Barton
- Cleanup: GPU: Use smaller backing types for a few enums - Hans Goudey
- Cleanup: Use C++ vector types for convex hull API - Hans Goudey
- Cleanup: rename UV flags for clarity - Campbell Barton
- Cleanup: Remove unnused asset list iterator functions - Julian Eisel
- Cleanup: Assets: Remove now unused asset handle functions & file - Julian Eisel
- Cleanup: Assets: Remove now unused AssetHandle type - Julian Eisel
- Cleanup: Add protection for void CPPType and GPointer - Hans Goudey
-
Cleanup: Convert
SubdivCCGAdjacencyTypetoenum class- Sean Kim - Cleanup: Silence unused function warning - Sean Kim
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: Warnings in non-debug builds. - Bastien Montagne
- Cleanup: BLO: Remove last bits of endianness handling in readfile.cc - Bastien Montagne
- Cleanup: Inline NURBS methods for computing length of knots/points vector - Mattias Fredriksson
- Cleanup: ViewLayer: Move defaults to DNA defaults - Clément Foucault
-
Cleanup: Convert
eAverageWithtoenum class- Sean Kim -
Cleanup: Remove unnecessary
constfor function parameters - Sean Kim - Cleanup: Convert parameter comment into docstring - Sean Kim
-
Cleanup: Use C++ math types for
BKE_subdiv_eval.hhand related functions - Sean Kim - Cleanup: corrections to comments & typos - Campbell Barton
- Cleanup: various minor chances to the NDOF API - Campbell Barton
- Cleanup: sort DNA rename definitions - Campbell Barton
- Cleanup: sort CMake file lists - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: rename preferences for NDOF sensitivity - Campbell Barton
-
Cleanup: C++ changes for
subdiv_displacement_multires.cc- Sean Kim -
Cleanup: Use
blender::Arrayinstead of raw pointer forPolyCornerIndex- Sean Kim - Cleanup: Add missing explicit dependency on header - Sean Kim
- Cleanup: GPU: Remove or fix tautoligical asserts - Clément Foucault
- Cleanup: Remove unused variable in subdiv paint overlay shader - Hans Goudey
- Cleanup: Remove unused Python OpenGL warning popup - Hans Goudey
- Cleanup: Use function to copy from default theme - Pablo Vazquez
- Cleanup: Remove unused depsgraph argument to Cycles shader node adding - Hans Goudey
- Cleanup: Cycles: Use default initializers in oneAPI device - Brecht Van Lommel
- Cleanup: Pass optional constant string reference by value - илья _
- Cleanup: Improve precompiled header for USD - Jesse Yurkovich
-
Cleanup: Use C++ math types for
multires_inline.hh- Sean Kim -
Cleanup: Remove unused and extraneous
sizevariables - Sean Kim - Cleanup: IO: Various cleanups for the AbstractHierarchyIterator - Jesse Yurkovich
- Cleanup: Grease Pencil: Remove unused legacy functions - Pratik Borhade
- Cleanup: remove unused functions - Campbell Barton
-
Cleanup: better naming for array length variables in
rna_raw_access. - Bastien Montagne - Cleanup: Make format - Jeroen Bakker
- Cleanup: Resolve unused variable warning - Hans Goudey
- Cleanup: unused type alias in release build - илья _
- Cleanup: Remove unused code after recent commit - Omar Emara
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: Python linter warnings: unused arguments, duplicate in set - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: remove unused "use_bgl" from the GPU StateManager - Campbell Barton
- Cleanup: UI: Improve comment for UI list filter function - Julian Eisel
- Cleanup: UI: Remove unused uiLayout::keepaspect_ property - Guillermo Venegas
- Cleanup: Vulkan: Remove unused code - Jeroen Bakker
- Cleanup: Modifiers: give enums explicit names and reference them in structs - Jacques Lucke
- Cleanup: UI: Use UI_interface_layout.hh instead of UI_interface.hh - Guillermo Venegas
- Cleanup: Build errors without unity builds after recent UI refactor - Hans Goudey
-
Cleanup: Use
Span<float3>instead of pointers formultires_reshape.cc- Sean Kim -
Cleanup: Replace init/free functions for
MultiresReshapeSmoothContext- Sean Kim - Cleanup: Use "Custom Normals" in code comments - Aaron Carlisle
- Cleanup: Remove unused menu code - Pratik Borhade
- Cleanup: resolve undeclared function warning - Campbell Barton
- Cleanup: spelling (make check_spelling_*) - Campbell Barton
- Cleanup: Remove titlebar text color from decoration style settings - Jonas Holzman
- Cleanup: Simplify context asset query logic - Julian Eisel
- Cleanup: extract function determining whether socket is always single - Jacques Lucke
- Cleanup: USD: Various non-functional changes for usd_hook.cc - Jesse Yurkovich
- Cleanup: remove unused variable, imports, correct typo - Campbell Barton
- Cleanup: Nodes: improve eager closure evaluation comment - Jacques Lucke
Color Management
Compositor
- 🔸 Compositor: make compositor node trees reusable - Habib Gahbiche
- 🔸 Compositor: remove "Use Nodes" - Habib Gahbiche
- 🔸 Compositor: Add interpolation options to displace node - Benjamin Beilharz
- 🔸 Compositor: Support all interpolation types for Map UV node - Benjamin Beilharz
- Compositor: Add forward compatibility for removed storage - Omar Emara
- Compositor: Remove storage of Alpha Over node - Omar Emara
- Compositor: Remove deprecated compositor properties - Omar Emara
- 🔸 Compositor: Improve Glare quality option - Mohamed Hassan
- Compositor: Remove forward compatibility code - Omar Emara
- Compositor: Remove Value node - Omar Emara
- Compositor: Remove Color Ramp node - Omar Emara
- Compositor: Remove Mix Color node - Omar Emara
- Compositor: Remove Map Range node - Omar Emara
- Compositor: Remove Math node - Omar Emara
- Compositor: Remove Separate/Combine XYZ node - Omar Emara
- Compositor: Remove Vector Curves node - Omar Emara
- Compositor: Remove Map Value node - Omar Emara
- Compositor: Rename Rotate node Degr input to Angle - Damien Picard
- Compositor: Remove Dot output from Normal node - Omar Emara
- Compositor: Remove Texture node - Omar Emara
- 🔸 Compositor: Add tooltip to Map UV node UV input - Cartesian Caramel
Core
- Core: always free memory on exit, always report leaks - Campbell Barton
- Core: support LargeBHead8 in blendfile.py - Jacques Lucke
- 🔸 Core: Use VectorList for duplilists - Miguel Pozo
-
🔸
Core: Always use current open file for
blend_namevariable - Nathan Vegdahl - 🔸 Core: Increase MAX_ID_NAME length from 66 to 258 (Blender 5.0) - Michal Krupa
- Core: extract blendfile_header.py as common utility for parsing .blend files - Jacques Lucke
- 🔸 Core: Add new 'system IDprops' storage for runtime-generated RNA properties. - Bastien Montagne
Curves
- 🔸 Curves: Enhance tesselation of NURBS with corners - Laurynas Duburas
- 🔸 Curves: Support cyclic curves in Proportional Editing - илья _
Cycles
- Cycles: Disable HIP-RT by default and mark as unstable - Brecht Van Lommel
- Cycles: Mark HIP as unstable in Blender 5.0 - Alaska
- 🔸 Cycles: Enable multi-bounce random walk subsurface scattering - Brecht Van Lommel
Deps
Draw
- Draw: Use unique handles where possible - Miguel Pozo
- 🔸 Draw: Remove mode transfer overhead when inactive - Hans Goudey
- 🔸 Draw: Inline small functions to reduce overhead - Hans Goudey
EEVEE
- 🔸 EEVEE: Add support for view layer overrides - Clément Foucault
- EEVEE: Remove all remaining reference of EEVEE next - Clément Foucault
- EEVEE: Rename and move old gtao properties - Clément Foucault
FFmpeg
- FFmpeg: Add compatibility code for deprecated codec info API - Lukas Stockner
- FFmpeg: Fix parameter name in deprecated API - Lukas Stockner
Fix
- Fix: Grease Pencil: Wrong check on editable layer and keyframe in Sculpt Mode and Vertex Paint mode - Sietse Brouwer
- Fix: Nodes: Add menu entries not in alphabetical order - quackarooni
- Fix: Crash when snapping to first key using subframes - Christoph Lendenfeld
- Fix: GPU: GPUWorker lock - Miguel Pozo
- Fix: Build error after recent UI refactor - Hans Goudey
- Fix: USD: Pass correct frame time when checking ORCO evaluation - Jesse Yurkovich
- Fix: 'By Active Tool' Filter shows no brushes in asset shelf - Sean Kim
- Fix: VSE: Prevent slipping single image strips - John Kiril Swenson
- Fix: VSE: Remove Playhead Snapping menu from Preview - John Kiril Swenson
- Fix: "Remove All Particle Systems" is not greyed out when there are no particles - Eitan Traurig
- Fix: GPU: Wrong attribute types for UNORM 8bit attributes - Clément Foucault
- Fix: GPU: Mesa driver on AMD GPU matches GPU_DRIVER_OFFICIAL - Clément Foucault
- Fix: GPU: Assert on startup in Vulkan caused by polyline - Clément Foucault
- Fix: USD: Correctly process point instancers using overs for the prototypes - Jesse Yurkovich
- Fix: Allow Properties Snap To Min at 2X Scale - Harley Acheson
- Fix: Autokey subframes when editing buttons - Christoph Lendenfeld
- Fix: Autokeying properties does not deselect keys - Christoph Lendenfeld
- Fix: Graph Editor proportional editing wrong distances - Philipp Oeser
- Fix: Cycles: NaN Normals from Normal Map - Weizhen Huang
- Fix: Theme: List item widget default outline alpha - Pablo Vazquez
- Fix: Remove missing Grease Pencil lasso selection operator from keymap - Brecht Van Lommel
- Fix: Correction to previous commit - Julian Eisel
-
Fix: API doc build error after adding
assetto context - John Kiril Swenson -
Fix: Crash if
new_compositing_node_groupis called from wrong context - Habib Gahbiche - Fix: use runtime format string - Jacques Lucke
- Fix: EEVEE: Wrong default on scene creation and startup file - Clément Foucault
- Fix: VSE function has inverted logic - Richard Antalik
- Fix: IO: FBX General import settings layout can't be re-enable - Guillermo Venegas
- Fix: Nodes: bad user counting when creating node group - Jacques Lucke
- Fix: update after uilayout refactors - Jacques Lucke
- Fix: Geometry Nodes: corrupted grid after math node - илья _
- Fix: Pose Inbetweener crashes when bones have custom properties - Sybren A. Stüvel
-
Fix: GPU: Hang on Mesa with
--debug-gpuon opengl - Clément Foucault -
Fix: Potential read of uninitialized memory for
Vertex#is_infinite_sharp- Sean Kim - Fix: compiler error due to missing template parameter - Jacques Lucke
- Fix: EEVEE: Broken versionning - Clément Foucault
- Fix: EEVEE: Wrong logic for shader parallel compilation - Clément Foucault
- Fix: Graph Editor box select menu entries - Philipp Oeser
- Fix: Python API doc build fails after previous pointcloud fix - Brecht Van Lommel
- Fix: Invalid snprintf into the same string in recent bugfix - Brecht Van Lommel
- Fix: Wrong HIP device pointer size on riscv64 and loongarcg64 - Zhou Qiankang
- Fix: crash when using node tool - Jacques Lucke
- Fix: Graph Editor box select selects non-visible handles - Philipp Oeser
- Fix: assert due to too few rows in tree view - Jacques Lucke
- Fix: Cycles low performance with scenes with many shaders on Arc B570 - Xavier Hallade
- Fix: Regression: Invert doesn't work with search filter in some UIList - Pratik Borhade
- Fix: Displace node uses bilinear for bicubic case - Benjamin Beilharz
- Fix: Asset Shelf theme versioning - Pablo Vazquez
- Fix: Cycles distributed memory toggle could appear on unsupported configurations - Alaska
- Fix: USD: Traverse through UsdShadeNodeGraph nodes during material import - Jesse Yurkovich
- Fix: USD: Only process displacement if there's a valid source specified - Jesse Yurkovich
- Fix: Vulkan: Crash on exit - Jeroen Bakker
- Fix: Issues in Grease Pencil blend file writing - Hans Goudey
- Fix: Nodes: missing socket descriptions when grouping node - Jacques Lucke
- Fix: Missing version bump after removing Preetham and Hosek sky - Weizhen Huang
- Fix: Cycles not building with OptiX 9.0 - weizhen
- Fix: Theme: Region color changes skipped on apply - Pablo Vazquez
- Fix: Potential memory leak reading AttributeStorage - Hans Goudey
- Fix: Theme: Properties editor missing region style - Pablo Vazquez
- Fix: VSE text strip editing assert at tiny font sizes - Aras Pranckevicius
- Fix: USD: Prevent unreachable assert when processing String attributes - Jesse Yurkovich
- Fix: VSE: Runtime error for change effect menu on non-effects - John Kiril Swenson
- Fix: Incorrect file version for brush forward compatibility code - Sean Kim
- Fix: Incorrect UnifiedPaintSettings compatibility writing - Sean Kim
- Fix: Error about missing BLENDER_EEVEE_NEXT when opening old files - Brecht Van Lommel
- Fix: VSE: Using redo panel causes operator to fail - Richard Antalik
- Fix: EEVEE: Wrong versionning - Clément Foucault
- Fix: File browser "asset" context query not ensuring file is asset - Julian Eisel
- Fix: DRW: Assert caused by empty strand buf - Clément Foucault
- Fix: Math node from old file is undefined - Omar Emara
- Fix: Potential NaN when calculating average values - Sean Kim
- Fix: Compositor assert on wrong result type - Omar Emara
- Fix: outdated structure type test - Jacques Lucke
- Fix #109024: Off-by-1 in rna_access for non-array props without raw access - Thomas Barlow
- Fix #110701: ffmpeg: Output settings lost when switching the output format - David Murmann
- Fix #110701: ffmpeg: Output settings lost when switching the output format - David Murmann
- Fix #110879: Multires relative subdivide navigation subdivides mesh - Sean Kim
- Fix #120291: Grease Pencil: Geometry not selected after paste - Sietse Brouwer
- Fix #132944: improve handling of high subdivision levels in nodes - Jacques Lucke
- Fix #136372: Outliner hierarchy modification not auto keying - Christoph Lendenfeld
- Fix #136396: Metaball Cube can't be selected with solid shading - Campbell Barton
- Fix #138009: Extend Bounds doesn't work with Fast Gaussian - Omar Emara
- Fix #138188: camera_shader_random_sample returns zero if DOF is off - Lukas Stockner
- Fix #138695: Pasting single keyframes not taking NLA offset into account - Christoph Lendenfeld
- Fix #138715: Crash selecting in edit-mode with geometry-node modifiers - Campbell Barton
- Fix #138742: Knife tool not locking to axis when snapping to edge - Campbell Barton
- Fix #138764: Draw weak grid lines on every second frame - blend_adarsh
- Fix #138834: FBX importer sets pivots incorrectly in some cases - Aras Pranckevicius
- Fix #139042: use index map instead of sorting transform system data - Sybren A. Stüvel
- Fix #139126: Paint: Undo in Texture Paint mode does not redraw object - Clément Foucault
- Fix #139277: box selecting on the summary line fails with NLA in tweak mode - Christoph Lendenfeld
- Fix #139494: Regression: Filtering doesn't work with custom search prop - Pratik Borhade
- Fix #139614: Cycles CUDA + Vulkan interop fails with unknown error on GTX 970 - Brecht Van Lommel
- Fix #139664: bevel weight is now used for offset collisions #140436. - Rob Blair
- Fix #139740: Overlay: Wire armatures are invisible in pose mode - Clément Foucault
- Fix #139762: Deleting an F-Curve from NLA strip in tweak mode crashes - Sybren A. Stüvel
- Fix #139769: ACES 2.0 configuration fails with shader errors - Brecht Van Lommel
- Fix #139788: Applying a pose no longer autokeys - Christoph Lendenfeld
- Fix #139815: Vulkan: Infinite loop when loading minimized windows - Jeroen Bakker
- Fix #139838: UI: Improve languages list and labels - Damien Picard
- Fix #139870: Cycles: Some objects with normal maps leak light - Lukas Stockner
- Fix #139873: Grease Pencil: Auto normalization on assign/remove operator - YimingWu
- Fix #139875: Curve interpolation writes uninitialized vertex group data - Lukas Tönne
- Fix #139882: Vulkan/USD: Crash on AMD GPUs - Jeroen Bakker
- Fix #139887: Outliner crash after excluding collection - Pratik Borhade
- Fix #139918: Color management assert displaying render - Brecht Van Lommel
- Fix #139936: Geometry Nodes: background of Volume Grid is lost after math node - илья _
- Fix #139939: GPU: Driver Timeout when switching to Material Preview - Clément Foucault
- Fix #139939: GPU: Driver Timeout when switching to Material Preview - Clément Foucault
- Fix #139942: Clear Screen Active_Regions For Inter-Window Area Move - Harley Acheson
- Fix #139950: OpenColorIO crash running Blender from path with $ - Brecht Van Lommel
- Fix #139952: ffmpeg ProRes 10 bit output has premultiplied alpha - David Murmann
- Fix #139986: Cycles crash on some scene updates, after Embree upgrade - Brecht Van Lommel
- Fix #140040: Curve to Points length input should be a field - Alaska
- Fix #140079: Redraw outliner after "remove unused" bone collections - Pratik Borhade
- Fix #140082: Line Art: Use original object id to check dupli objects - YimingWu
- Fix #140082: Line Art: Use original object id to check dupli objects - YimingWu
- Fix #140083: Nodes: Never attempt to read default value from custom socket. - Bastien Montagne
- Fix #140109: Grease Pencil - Lasso Erase does not delete single points - Philipp Oeser
- Fix #140113: White flickering when changing a texture on EEVEE - Clément Foucault
- Fix #140120: Multiplane Scrape behaves incorrectly - Sean Kim
- Fix #140123: Data-block inputs not drawn in node tools inputs - Hans Goudey
- Fix #140129: Vulkan: Discard pool/timeline synchronization issues - Jeroen Bakker
- Fix #140129: Vulkan: Race condition render graph submission - Jeroen Bakker
- Fix #140130: Crash with shared edit mode mesh with subdivision modifier - Hans Goudey
- Fix #140153: Cavity automasking with hidden faces can corrupt mesh - Sean Kim
- Fix #140161: UI: Use theme wireframe color by default - YimingWu
- Fix #140165: NDOF panning reversed - Campbell Barton
- Fix #140179: EEVEE: Vulkan crashing with complex procedural materials - Clément Foucault
- Fix #140183: Add Armature Constraint (with target) wrong behavior - Philipp Oeser
- Fix #140193: error when deleting panel with subpanel as first item - Jacques Lucke
- Fix #140210: Edit Bone selection cycling wrong for active but unselected - Philipp Oeser
- Fix #140215: Vulkan: performance descriptor buffers - Jeroen Bakker
- Fix #140224: Group ID in drag search of merge layer is not working - Pratik Borhade
- Fix #140225: Always ensure mesh topology is up to date during USD import - Jesse Yurkovich
- Fix #140229: Vulkan: Crash during depth aware-navigation - Jeroen Bakker
- Fix #140230: GPU: GPU debug draw excessive memory usage - Clément Foucault
- Fix #140234: missing bounds check in Offset Corner in Faces node - Jacques Lucke
- Fix #140240: overlapping buttons in color input node - Jacques Lucke
- Fix #140257: Asset Browser Frame Selected wrong after a search - Philipp Oeser
- Fix #140285: Refactor clip editor drawing to fix asserts - Jeroen Bakker
- Fix #140289: only show link warnings when link is visible - Jacques Lucke
- Fix #140305: Smooth Paint brush corrupts color attribute data - Sean Kim
- Fix #140325: EEVEE: Uninitialized memory used in raytracing specialization - Clément Foucault
- Fix #140332: Crash with Python/RNA class registration - Campbell Barton
- Fix #140336: VSE scene strips with sequencer in them are not playing - Aras Pranckevicius
- Fix #140339: Crash with "Spin" tool in "Edit Mode" Toggle Maximize Area - Campbell Barton
- Fix #140342: Vulkan: Assert when quiting - Jeroen Bakker
- Fix #140361: EEVEE: Volume viewport renderpass requires volume - Clément Foucault
- Fix #140367: EEVEE: Materials with special characters fail to compile - Clément Foucault
- Fix #140372: Draw Block Contents at Negative Position - Harley Acheson
- Fix #140375: Image editor save overwrites movie file - Brecht Van Lommel
- Fix #140376: Modeling: Better message for showing mesh data transfer - YimingWu
- Fix #140381: Crash after creating a node group and undo - Habib Gahbiche
- Fix #140396: bmesh.ops.dissolve_edges fails to dissolve vertices - Campbell Barton
- Fix #140396: bmesh.ops.dissolve_edges fails to dissolve vertices - Campbell Barton
- Fix #140403: Window Edge Cannot be Greater than Border Width - Harley Acheson
- Fix #140416: Crash when undoing adding camera background movie clip - Miguel Pozo
- Fix #140419: Overlay: "High Quality Normals" mess with edges in Edit mode - Clément Foucault
- Fix #140426: Saving new file creates empty catalog file next to .blend - Julian Eisel
- Fix #140427: VSE crash with scene strips and prefetch on - Aras Pranckevicius
- Fix #140450: Vulkan: profile.json files appears in home directory - Clément Foucault
- Fix #140451: Revert "Fix #140396: bmesh.ops.dissolve_edges fails to dissolve vertices" - Bastien Montagne
- Fix #140452: Pasting a single keyframe may mess up handles - Christoph Lendenfeld
- Fix #140490: EEVEE: Broken hair motion vectors - Clément Foucault
- Fix #140502: Clip editor crash - Jeroen Bakker
- Fix #140515: Some pieces of Point Cloud support were still disabled - Jesse Yurkovich
- Fix #140527: Cycles CUDA + Vulkan animation render memory leak - Brecht Van Lommel
- Fix #140530: Crash after writing Grease Pencil drawings in new format - Hans Goudey
- Fix #140535: Simplify Outliner Drag Feedback - Harley Acheson
- Fix #140556: Mask filter operations behave incorrectly on dense meshes - Sean Kim
- Fix #140581: Crash due to invalid info about potential ID dependencies of GP data. - Bastien Montagne
- Fix #140630: Remove reference to EEVEE next for view layer override panel - Jesse Yurkovich
- Fix #140636: Crash clicking in armature editmode after deleting a bone - Philipp Oeser
- Fix #140689: Paint mode crash with empty Grease Pencil layer - Hans Goudey
- Fix #140693: Crash on enabling override in file output color settings - Sergey Sharybin
- Fix #140694: Segfault with Extra Mesh Objects. - Bastien Montagne
- Fix #140700: Blender 4.5 Crashes When Performing Loop Cut - Sybren A. Stüvel
- Fix #140767: Render Simplify "Normals" option doesn't work - Hans Goudey
- Fix #140781: Crash on "Adjust Pose asset" from Asset Browser - Julian Eisel
- Fix #140801: Particle Weight Overlay Broken - Philipp Oeser
- Fix #140876: input socket interface not correctly propagated by link-drag-search - Jacques Lucke
- Fix #140894: EEVEE: ASAN error loading the 2D Animation workspace - Clément Foucault
- Fix #67700: EEVEE: Particle Viewport Display affects Render result - Clément Foucault
- Fix #79163: Bevel operation produces disconnected UVs #139595. - Piotr Makal
- Fix #79163: Bevel operation produces disconnected UVs #139595. - Piotr Makal
- Fix NDOF camera view zoom & pan direction - Campbell Barton
- Fix NDOF panning in 2D views ignoring the delta time - Campbell Barton
- Fix broken Node Tools after IDProps storage split. - Bastien Montagne
- Fix divide by zero in Bevel. - Rob Blair
- Fix knife tool showing axis in the wrong direction before cursor motion - Campbell Barton
- Fix memory leak from builds without XR enabled - Campbell Barton
- Fix memory leak with the animation player exited with an error - Campbell Barton
- Fix memory leaks in Python argument parsing - Campbell Barton
- Fix memory leaks in Python argument parsing - Campbell Barton
- Fix missing brushes in UI after IDProps split commit. - Bastien Montagne
-
Fix missing update for
blender_theme_as_cscript after BE removal. - Bastien Montagne - Fix the animation player making multiple calls to free depsgraph nodes - Campbell Barton
GPU
- 🔸 GPU: VertexFormat: Use new data types - Clément Foucault
- GPU: Shader: Add runtime dependency resolution - Clément Foucault
- 🔸 GPU: Shader: Parallel warmup of builtin shaders - Clément Foucault
- GPU: Add deprecation notice to the docstring of GPUShader constructor - Clément Foucault
-
🔸
GPU: Remove
use_select_pick_depthoption - Clément Foucault - GPU: Fix testcase due to recent cleanups - Jeroen Bakker
- GPU: Remove depth24 texture format - Jeroen Bakker
- GPU: Deprecate GPU_DATA_UINT_24_8 - Jeroen Bakker
Geometry Nodes
- Geometry Nodes: give bundle sockets the dynamic structure type - Jacques Lucke
- Geometry Nodes: support creating Combine Bundle node with correct sockets - Jacques Lucke
- Geometry Nodes: support creating Separate Bundle node with correct sockets - Jacques Lucke
- Geometry Nodes: support creating Evaluate Closure node based on closure - Jacques Lucke
- 🔸 Geometry Nodes: Add Shape Method parameter to Pack UV Islands node - Arye Ramaty
- 🔸 Geometry Nodes: Improve the Grid socket shape - илья _
- 🔸 Geometry Nodes: Preserve shape keys in node tools - Hans Goudey
- Geometry Nodes: add operator to sync sockets in bundle and closure nodes - Jacques Lucke
- Geometry Nodes: add structure type inferencing tests - Jacques Lucke
glTF
- glTF: Fix action/inactive UI for export options - Julien Duroure
- glTF: Fix missing unregister - Julien Duroure
- glTF exporter: Fix Variants export when Apply modifiers - Julien Duroure
- glTF exporter: Take (new) light exposure into account - Julien Duroure
- glTF exporter: Take (new) light exposure into account - Julien Duroure
- glTF exporter: Take (new) light temperature into account - Julien Duroure
- glTF exporter: avoid crash for big WebP images - Julien Duroure
- glTF exporter: Variant: Sanity checks to avoid bad duplicate exports - Julien Duroure
- glTF exporter: Animation NLA track mode - fix export for SK & KHR_animation_pointer - Julien Duroure
- glTF exporter: Fix typo - Julien Duroure
- glTF import: Fix importing implicit scene idx - Julien Duroure
- glTF importer: Fix importing some file - Julien Duroure
- glTF importer: Refactoring merge material slots: - Julien Duroure
Grease Pencil
- 🔸 Grease Pencil: Avoid overhead when filling triangle index buffer - Hans Goudey
I18N
- I18N: Updated UI translations from git/weblate repository (e4ad383c7490f5b4b). - Bastien Montagne
- I18N: Add comment about required manual sync in nodes code. - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (ddae2d6e4ed). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (8176c1461). - Bastien Montagne
- I18n: Allow translation of Bitwise Math node label - Damien Picard
- I18n: Allow translation of a few reports using formatting - Damien Picard
- I18n: Fix strange report formattings - Damien Picard
- I18n: Tweak Automatic language tooltip - Damien Picard
IO
- 🔸 IO: OBJ: Add material name collision import setting - BaiGave-1
Make update
- Make update: Automatically switch to git.blender.org URLs - Sergey Sharybin
- Make update: Tweak logic for the LFS fallback - Sergey Sharybin
Makefile
- Makefile: support passing in arguments to check_spelling.py - Campbell Barton
Mesh
- Mesh: Extend GPU batch limit from 32 to 64 - Hans Goudey
- Mesh: 4.5 forward compatibility for active/default UV maps as names - Hans Goudey
- Mesh: Use names to store active/default UV status - Hans Goudey
- Mesh: Split paint overlay flag data from normals buffers - Hans Goudey
NDOF
- 🔸 NDOF: all spaces now follow the navigation mode preference - Campbell Barton
Nodes
- 🔸 Nodes: Speedup Voronoi by changing the hash function - Aras Pranckevicius
- Nodes: Remove legacy combine/separate nodes - Alaska
OpenColorIO
- 🔸 OpenColorIO: Add Color Interop Forum aliases to config - Brecht Van Lommel
Paint
Python
- 🔸 Python: Remove deprecated BGL API - Clément Foucault
- Python API: update animation example in quickstart docs for slots - Alberto-Luaces
- Python/GPU: Deprecate DEPTH24 formats - Jeroen Bakker
- pyGPU: Remove creating shaders directly from GLSL source files - Clément Foucault
RNA
- RNA: Add 'self as RNA' flag for RNA functions. - Bastien Montagne
Refactor
- Refactor: UI: Add uiLayout active get and set methods - Guillermo Venegas
- Refactor: UI: Don't use hacky asset handle for asset shelf context - Julian Eisel
- Refactor: Assets: Avoid hacky asset handle context query - Julian Eisel
- Refactor: Use C++ bounds corners function - Hans Goudey
- Refactor: UI: Add active_default, activated_init, enabled methods - Guillermo Venegas
-
Refactor: Use container types instead of pointers in
multires_reshape_smooth.cc- Sean Kim - Refactor: Changing shader fetching name to match other nodes - Benjamin Beilharz
- Refactor: UI: Add uiLayout block get method - Guillermo Venegas
- Refactor: UI: Add uiLayout context_store methods - Guillermo Venegas
- Refactor: Use Vector Math in Color to Float versioning - Omar Emara
- Refactor: Remove grid and compact UI list layout in Python scripts - Nika Kutsniashvili
- Refactor: UI: Add uiLayout aligment methods - Guillermo Venegas
- Refactor: OBJ import, split file reading & parsing - Mattias Fredriksson
- Refactor: GPU: Use Depth32F - Jeroen Bakker
- Refactor: Use float for reading back depth values - Jeroen Bakker
- Refactor: UI: Add uiLayout fixed_size, red_alert, root_panel, search_weight and width methods - Guillermo Venegas
- Refactor: Nodes: improve socket value variant construction - Jacques Lucke
- Refactor: Nodes: add InferenceValue utility class for socket usage inferencing - Jacques Lucke
- Refactor: Use Float2 images internally if possible - Omar Emara
- Refactor: UI: Add uiLayout use_property_split methods - Guillermo Venegas
- Refactor: UI: Add uiLayout use_property_decorate methods - Guillermo Venegas
- Refactor: Nodes: use structure type inferencing for field links - Jacques Lucke
Revert
- Revert "Attributes: Remove AttributeStorage legacy compatibility option" - Falk David
- Revert "Cleanup: Unused arguments in Cycles kernel" - Brecht Van Lommel
- Revert "Cycles: Guiding cleaning up and refactoring the guiding code" - Brecht Van Lommel
- Revert "Cycles: Fix inconsistency in Ng handling between Microfacets and other closures" - Brecht Van Lommel
- Revert "Fix: Cycles: Inconsistency in transparent bounces for NEE and forward path" - Brecht Van Lommel
- Revert "Fix: Cycles: Do not count volume bounds bounce as transparent" - Brecht Van Lommel
- Revert "Fix: Autokeying properties does not deselect keys" - Christoph Lendenfeld
- Sculpt: Revert recently introduced brush strength curve changes - Sean Kim
Shaders
- Shaders: Remove point density texture node - Brecht Van Lommel
- Shaders: Remove old Preetham and Hosek sky texture models - marcopavanello
Tests
- Tests: Lower Sculpt Dyntopo mesh size to 250000 in performance test - Sean Kim
- Tests: Reset sculpt performance test state between every run - Sean Kim
- Tests: Add Sculpt tests that verify each brush strength curve preset - Sean Kim
- Tests: Add UI tests that verify loading all default workspaces - Sean Kim
- Tests: EXPECT_EQ_SPAN utility macro - Mattias Fredriksson
- Tests: Add basic save & reload to the 'versioning' tests. - Bastien Montagne
- Tests: Fix file removal failure from Python in unittests. - Bastien Montagne
UI
- 🔸 UI: Theme: Add new Outline Selected property - Pablo Vazquez
- 🔸 UI: Theme: Use tab widget colors for sidebar tabs - Pablo Vazquez
- 🔸 UI: Theme: Add global style for panel colors - Pablo Vazquez
- 🔸 UI: Theme: Add Panel Outline - Pablo Vazquez
- 🔸 UI: Theme: Add text color settings to panels - Pablo Vazquez
- 🔸 UI: Add shadow to panels - Pablo Vazquez
- 🔸 UI: Improved Display as Panels Narrow - Harley Acheson
- 🔸 UI: Theme: Add Asset Shelf global styling - Pablo Vazquez
- 🔸 UI: Theme: Make nodes use the exact theme color - Pablo Vazquez
- 🔸 UI: Theme: Remove List style from Nodes/Spreadsheet - Pablo Vazquez
- 🔸 UI: Theme: Remove NavBar/Execution regions colors - Pablo Vazquez
- 🔸 UI: Theme: Remove unused region styling in editors - Pablo Vazquez
- 🔸 UI: Clip Graph: Use theme colors for speed axes - Pablo Vazquez
- 🔸 UI: Theme: Update Light theme with new settings - Pablo Vazquez
- 🔸 UI: Theme: Add missing properties to Light theme - Pablo Vazquez
- 🔸 UI: Theme: Make widget properties layout responsive - Pablo Vazquez
- 🔸 UI: Draw sidebar tabs as pills - Pablo Vazquez
- 🔸 UI: Snapping for Sidebars - Harley Acheson
- 🔸 UI: Expose 'Region Toggle Pie' without Developer Extras - Sean Kim
- 🔸 UI: Increase Area Padding at Window Edges - Harley Acheson
- 🔸 UI: Outliner: Improvements to row highlights - Pablo Vazquez
- 🔸 UI: Resize limit to tree view - Pratik Borhade
- 🔸 UI: Properly disable the Remove Material Slot Button in edit mode - Ethan Mulwee
- 🔸 UI: Vertex Slide Status Display - Harley Acheson
- 🔸 UI: Add Footer to Animation & VSE Editors - Pablo Vazquez
- 🔸 UI: Area Maintenance Post Op Transitions - Harley Acheson
- 🔸 UI: Make Custom Normal naming consistent - Aaron Carlisle
- 🔸 UI: Nodes: Rename Levels node "Std Dev" output to "Standard Deviation" - Jonas Holzman
- 🔸 UI: Use selected text theme of list item for tree view - Pratik Borhade
- 🔸 UI: Add icons to Visible Tabs list popover - Pablo Vazquez
- UI: actually return an icon for shapekeys in UI_icon_from_idcode - Philipp Oeser
- 🔸 UI: Rename "HDRI Preview" to "Reference Spheres" - Pablo Vazquez
- UI: Remove Modulation of Drag Threshold with Pen Pressure - Harley Acheson
- UI: Remove left indent from shapekey tree view - Pratik Borhade
- UI: Remove based asset-view template - Julian Eisel
- UI: Remove asset view template specific UI list features - Julian Eisel
- 🔸 UI: Remove unused Depth Picking from the user pref panel - Clément Foucault
USD
- 🔸 USD: Add support for Point Instancing during Export - Michael B Johnson
UV
- 🔸 UV: split island select into a separate option, support for sync-select - Campbell Barton
VSE
- 🔸 VSE: Modal mode for strip add operator - Richard Antalik
- 🔸 VSE: Text Strip supports text longer than 512 bytes - Aras Pranckevicius
- 🔸 VSE: Draw more correct text boundbox - Richard Antalik
- 🔸 VSE: Make prefetch aware of playback loops - Sebastian Parborg
- 🔸 VSE: Make prefetch RAW cache aware - Sebastian Parborg
- 🔸 VSE: Fix endless prefetch loops - Sebastian Parborg
- VSE: Clear out caches when toggling them off - Sebastian Parborg
- VSE: Move the seq prefetch setting to the cache tab and turn on per default - Sebastian Parborg
- VSE: Make cache eviction a bit smarter when wrapping. - Sebastian Parborg
Vulkan
- 🔸 Vulkan: HDR support for Wayland - Jeroen Bakker
11 Comments
hi pablo, when the compositor will work together with the VSE?
Have a great day! Until now, I’ve only been able to watch the live sessions afterwards, but now that I’m here, I’d like to share a few ideas:
Double Click to Add Reroute Node I think it would be much clearer and more convenient if you could just double-click on a node connection to add a reroute node.
"Smart" Data Type Recognition for Nodes What I mean by this is having only float, float2, float3, and float4 as variable types — no separate color type, for example. The Math node would automatically detect the input types and process them accordingly. So if it receives a float1 and a float3, the output would be float3. This works exactly like in Unreal Engine, and it makes the system far simpler and more transparent, eliminating a lot of unnecessary nodes. I hope this makes sense — Unreal Engine is a perfect reference for what I have in mind.
Use Luminance (lm) and Lux as Units for Light Intensity Working with these units would make it much easier to find real-world values online and use physically accurate data in projects.
Provide Real-World Lighting Examples It would be helpful to include examples of real-world lighting values. Unity has a great reference for this. For instance, a candle has a color temperature of 1900K and emits about 12 lumens.
I really like the idea of light object templates.
The last time I worked with fluid simulations (like 5 years ago), as far as I recall there were some presets for how thick the fluid is.
I have no idea...but I find what Blender has become and how it has developed incredibly impressive. I think I've been watching Blender since 1.73, or maybe a little later, and I've always supported Blender as best I could. And I'm always delighted with what's come of it when I see the livestream. I hope the people who use Blender and think it's free will finally realize that they can donate a little. Because without you and the donors of the past decades, Blender wouldn't exist. Have a great time, @blender, and thank you for your work! ... and cheers to all of you and the community! cheers :)
i think the new Subsurface Look(5.0) should not replace the old Subsurface Look, it should just be a Subsurface option like the "Random walk (skin)" Because the style of many people's works is based on the black effect of the old version
Can you explain extension platform Teams
Is there any update on when this might be available?: Progress on a new Bevel Geometry Node youtube.com/watch
Hi Pablo, Finally get to see you live! question, Any plans for Animation layers in Blender in the future? Thanks
Hi Pablo any updates on panoramic/fisheye lenses being added to eevee? :)
Hello pablo!
I mostly use Blender for 2D animation like Spine2D. Recently, I found the Keymesh addon and I would just like you to pass on to the devs of it that If they ever need a first born for a child sacrifice, I offer mine. It's good stuff.
Could we get improvements to the image sequence node in shading? It's really clunky to use for stuff like blinking.
Hola Pablo!
Nice to see all these improvements to Blender's UI/UX for 5.0!
Do you think the long standing request(s) for differentiating instances at a glance in the Outliner will be tackled someday?
blender.community/c/rightclickselect/Btcbbc/ blender.community/c/rightclickselect/Z8Pv/ blender.community/c/rightclickselect/wEYz/
Thanks for your work!