Faster COMPOSITOR! ✨ Blender Today LIVE #281
Blender Today #281
Announcements
- Singularity! studio.blender.org
- 🔹 Roadmap: devtalk.blender.org/t/new-roadmap-page/45249
- 🔹 Test online assets! cdn.extensions.blender.org/asset-libraries/essentials/
Changelog between April 28, 2026 - May 12, 2026 at 12:00
355 commits in total, of which 129 are fixes, 42 cleanup, and 34 refactors.
Alembic
- 🔸 Alembic: support importing static object visibilities - Kévin Dietrich
Animation
- Anim: Unit tests for motion paths - Christoph Lendenfeld
- Anim: Disable applying online pose assets - Julian Eisel
- Anim: Change pose slide axis flags - Christoph Lendenfeld
- 🔸 Anim: Add F-Modifier Remove Operator - Wayne Dixon
- Anim: Update FCurve normalization cache when normalization is toggled - Christoph Lendenfeld
- 🔸 Anim: Duplicate rename operator for bones - Christoph Lendenfeld
Asset system
Assets
- Assets: Disable activating online brush assets - Julian Eisel
- Assets: add Python function to cancel download - Sybren A. Stüvel
BLI
- BLI: optimize CPPType::get and simplify registration - Jacques Lucke
- BLI: improve zero value check - Jacques Lucke
- BLI: use array instead of map in CPPType::to_static_type - Jacques Lucke
- BLI: Add boolean methods for serialization - Guillermo Venegas
-
BLI: Make a number of
Boundsfunctionsconst- Sean Kim - BLI: add mutable items iterator for MultiValueMap - Jacques Lucke
- BLI: quiet msvc warning by adding special hash function for function pointers - Jacques Lucke
BLI_delaunay_2d
- 🔸 BLI_delaunay_2d: replace ray-cast with topology even-odd hole detection - Campbell Barton
- BLI_delaunay_2d: face mark-on-discover in hole-detection flood-fill - Campbell Barton
Build
- Build: Fix build when using WITH_CYCLES_OSL=OFF - Jesse Yurkovich
- CMake: Suppress console noise with ninja on windows. - Ray Molenkamp
- Build: unbreak when building without OpenGL on X11 - Campbell Barton
- Build: WoA: Update submodule to latest (Add OCIO CMake Debug Config files) - Jonas Holzman
- Build: Fix duplicate symbols in makesdna test - Brecht Van Lommel
Cleanup
- Cleanup: Remove DDS data from ImBuf - Aras Pranckevicius
- Cleanup: Various non-functional keymap versioning changes - Sean Kim
- Cleanup: Remove set but unused variables - Hans Goudey
- Cleanup: Nodes: Quiet unused variable warning - Guillermo Venegas
- Cleanup: Alembic: deduplicate frame range detection - Kévin Dietrich
- Cleanup: Warning in Cycles CUDA and OptiX compilation - Sergey Sharybin
- Cleanup: remove encoded_buffer from ImBuf - Aras Pranckevicius
-
Cleanup: Remove default value and make
output_dirrequired for tests - Sean Kim - Cleanup: VSE: Remove misleading const in Tone Map modifier - Hans Goudey
- Cleanup: name visit-index constants delaunay_2d.cc - Campbell Barton
- Cleanup: share output-type checks for hole detection in delaunay_2d.cc - Campbell Barton
- Cleanup: move WM methods/getset implementations to bpy_rna_wm.cc - Campbell Barton
- Cleanup: Build warnings on MSVC after enum changes - Brecht Van Lommel
- Cleanup: formatting and unused variables in geometry nodes typed bundle - Lukas Tönne
- Cleanup: Various changes to new date_string code - Hans Goudey
- Cleanup: Outliner: Silence arithmetic between different enum types warning - Guillermo Venegas
- Cleanup: Fix typo in Grease Pencil material randomization tooltip - Hoang Duy Tran
- Cleanup: Nodes: Use structure type enum in DNA, use enum class - Hans Goudey
- Cleanup: remove unused variables causing warning - Christoph Lendenfeld
- Cleanup: warnings from GCC 16 - Campbell Barton
- Cleanup: remove redundant range checks in mathutils - Campbell Barton
- Cleanup: add missing license headers, wrap lines - Campbell Barton
- Cleanup: Remove compositor job sequencer dead code - Omar Emara
- Cleanup: replace float/int with enum types - Campbell Barton
- Cleanup: disable unused-but-set-variable for GCC's strict flag removal - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*), wrap lines - Campbell Barton
- Cleanup: use doc-strings for enum values - Campbell Barton
- Cleanup: sort file lists - Campbell Barton
- Cleanup: quiet unused warning - Campbell Barton
- Cleanup: update reference to command handlers - Campbell Barton
- Cleanup: BLI: KDTree: Remove unnecessary aliases - Hans Goudey
- Cleanup: EEVEE: Avoid unused parameter to entry points - Clément Foucault
- Cleanup: GPU: Make modf second argument a reference - Clément Foucault
- Cleanup: resolve/suppress warnings - Campbell Barton
- Cleanup: quiet warning when generating docs - Campbell Barton
- Cleanup: whitespace fixes in CODEOWNERS file - Sybren A. Stüvel
- Cleanup: Operator name capitalization - Christoph Lendenfeld
- Cleanup: Remove unneeded change in recent commit - Hans Goudey
- Cleanup: EEVEE: Remove unused parameter - Clément Foucault
- Cleanup: Formatting - Aaron Carlisle
- Cleanup: quiet unused function warning - Campbell Barton
- Cleanup: blank space around C-style comments - Campbell Barton
CLI
- 🔸 CLI: add a short argument -X for --factory-startup - Campbell Barton
CODEOWNERS
- CODEOWNERS: add myself as owner of certain Python scripts - Sybren A. Stüvel
Color Management
- 🔸 Color Management: Always do display transform on GPU when showing ImBufs - Aras Pranckevicius
Compositor
- 🔸 Compositor: Support partial static lazy evaluation - Omar Emara
- 🔸 Compositor: Use depsgraph updates for triggering execution - Omar Emara
- 🔸 Compositor: Default to 2D for compositor texture nodes - Omar Emara
- 🔸 Compositor: Add Film Grain built-in asset - Selman Vorhoff
- 🔸 Compositor: Add descriptive tooltips for filter types - ashri11b-png
- 🔸 Compositor: Port rotation nodes from geometry nodes - Criss-Ivana
- 🔸 Compositor: Use GPU by default - Omar Emara
- 🔸 Compositor: Allow anisotropic sampling for transformations - Bill Spitzak
- 🔸 Compositor: Add "Open" operator to Keying Screen node - quackarooni
- 🔸 Compositor: Optimize extended boundary blurring - Omar Emara
- 🔸 Compositor: Support drag and drop objects from the outliner - Habib Gahbiche
- 🔸 Compositor: Expose Rotation output in Object Info node - Criss-Ivana
- Compositor: Use Nodes Evaluation Log for execution times - Omar Emara
Core
-
Core: Add
wm.save_auto_saveoperator - Sean Kim - Core: simplify cache directory access - Campbell Barton
- 🔸 Core: Report failure for autosaves - Sean Kim
Cycles
- 🔸 Cycles: Implement attribute access in Raycast node - Sergey Sharybin
- Cycles: Use square root in denoising roughness before weighted sum - Christoph Neuhauser
- 🔸 Cycles: Add denoising backward motion vector pass with depth delta - Christoph Neuhauser
- Cycles: Hydra: Add basic add-on to render inside Blender - Brecht Van Lommel
- 🔸 Cycles: Restore texture limit simplify option - Brecht Van Lommel
- Cycles: Disable MNEE on Windows RDNA2 - Alaska
Deps
- Deps: Add Tracy Frame Profiler - Jonas Holzman
- Deps: include docutils Python module - Campbell Barton
- Deps: Library changes for Blender 5.2 LTS - Jonas Holzman
Docs
- Docs: Update RNA / User Manual Mappings - Aaron Carlisle
- Docs: Arrange bpy types by class/subclass - Aaron Carlisle
- Docs: Update Sphinx to 9.1 - Aaron Carlisle
- Docs: remove obsolete 2003 interface API documentation - Vansh Gaur
Draw
- 🔸 Draw: Mesh: Use default color with no active color attribute - Hans Goudey
EEVEE
- EEVEE: Add MipMap downsampling to Fast GI input - Clément Foucault
- 🔸 EEVEE: Raytracing: Resolve major issues - Clément Foucault
- 🔸 EEVEE: Improve AO far occluders - Clément Foucault
- EEVEE: Port surface shader to BSL - Clément Foucault
- EEVEE: Remove unused shadow tile copy technique - Clément Foucault
- EEVEE: Port remaining Virtual shadow map managment shaders to BSL - Clément Foucault
- EEVEE: Add ray backface hit behavior option - Clément Foucault
- EEVEE: Revert backface heuristic change - Clément Foucault
- 🔸 EEVEE: Better screen space thickness heuristic - Clément Foucault
- EEVEE: Use visibility bitmask for AO node - Clément Foucault
- EEVEE: Reduce the number of UniformBuf uploads - Miguel Pozo
- EEVEE: Port Lightprobe Display shaders to BSL - Clément Foucault
- EEVEE: Port Surfel List shaders to BSL - Clément Foucault
- EEVEE: Port Surfel Light Eval shaders to BSL - Clément Foucault
- EEVEE: Port raytrace shaders to BSL - Clément Foucault
- EEVEE: Port motion blur shaders to BSL - Clément Foucault
- EEVEE: Shadow: Add debug option to visualize atomic / overdraw cost - Clément Foucault
FFMPEG
- 🔸 FFMPEG: Add stereoscopic metadata - Jeroen Bakker
- FFMPEG: Attach AVStereo3D to stream - Jeroen Bakker
- 🔸 FFMPEG: Add panoramic equirectangular metadata - Jeroen Bakker
Fixes
- Fix #157854: Fluid domain mesh missing in F12 render - Tibo Stans
- Fix #157857: Multiple crashes in Sequencer strip modifiers API - Philipp Oeser
- Fix #157890: Assert creating node tool with string sockets - Hans Goudey
- Fix #157358: Orthographic grid clipping when viewport is resized - Le Gia Bao
- Fix #157380: Orthographic grids disappear when far from origin - Le Gia Bao
- Fix #156938: Cycles: Support generated texture for VDB volume - RiverIntheSky
- Fix: Node Wrangler: Collapsed node highlight position - Endor H
- Fix #157653: Incorrect rotation with spin + extrude - Campbell Barton
- Fix: Grease Pencil: Fill tool create only fills by default (hide stroke) - Philipp Oeser
- Fix: String To Image node uses fallback fonts - Omar Emara
- Fix: Assets: Online listing boolean properties not readable by Blender - Julian Eisel
- Fix #140973: mismatching bracket highlighting with tabs - Campbell Barton
- Fix: UI: Rename active tree-view item from focused tree view - Guillermo Venegas
- Fix #132594 Register protocol for Blender distributed as appx in Microsoft Store - Andreas Gajdosik
- Fix #157947: Crash on save with node asset with unconnected menu input - Hans Goudey
- Fix: missing include in lite build - Jacques Lucke
- Fix #157860: Edge Ring Delimit works inconsistently - Tariq-Sulley
- Fix: incorrect slice access and error messages in the Python API - Le Gia Bao
- Fix: Silent MSVC warning - Pratik Borhade
- Fix: Tree View: Set sort button selected when order is reversed - Pratik Borhade
- Fix: Missing depsgraph relations for compositor - Omar Emara
- Fix: Periodic downloader operating on libraries converted to be on-disk - Julian Eisel
- Fix #157919: Grease Pencil Onionskin "Fade" behavior questionable - Philipp Oeser
- Fix #157915: Freeze when deleting a scene asset - Stanzerelli
- Fix: time reversing on Unix breaks animation playback - Campbell Barton
- Fix #156857: FPS Exceeded during playback with viewport interaction - Campbell Barton
- Fix: Access to volume attributes stored on mesh/object in Cycles - Sergey Sharybin
- Fix #157687: Image overlay is off by half a pixel - Omar Emara
- Fix: stack corruption in delaunay_2d_cdt Python API call - Campbell Barton
- Fix #157696: Grease Pencil: Allow negative start/end frames for Time Offset Modifier - Martijn Versteegh
- Fix: Wrong depsgraph relation in compositor depsgraph - Omar Emara
- Fix: Timeline summary row not collapsed by default - Brecht Van Lommel
- Fix: Annotations in Sequencer preview not drawn and saved correctly - Brecht Van Lommel
- Fix: Pose Select Connected selects bones marked unselectable - Brecht Van Lommel
- Fix: Curves sculpt grow/shrink ignores Orbit Around Selection preference - Brecht Van Lommel
- Fix: Curve mapping points marked selected on creation with auto handles - Brecht Van Lommel
- Fix: Brush overlay always redrawn when changing angle in stencil mode - Brecht Van Lommel
- Fix: Legacy Grease Pencil converted with wrong fake user and build mod flags - Brecht Van Lommel
- Fix #158029: Image editor scopes crash when not using view transform - Brecht Van Lommel
- Fix #158015: Ray Portal BSDF appears in EEVEE nodes suggestions - Kévin Dietrich
- Fix: Case Requiring Scoping Braces - Harley Acheson
- Fix: BLI_delaunay_2d hole-detection slow with need_ids=false - Campbell Barton
- Fix: Many enum menus not working after recent refactor - Brecht Van Lommel
- Fix #157988: Allow Pressing A to open/close panels - Harley Acheson
-
Fix #157221: Assert when using
Add Constraint (With Target)- Christoph Lendenfeld - Fix: Compilation warning lite builds - Jeroen Bakker
- Fix: Compilation warning missing cases - Jeroen Bakker
- Fix #158045: can't select bones in weight paint mode - Campbell Barton
- Fix #157777: Vulkan: Use texture pool workaround on Intel Windows - Christoph Neuhauser
- Fix #149869: Grease Pencil fill tool extension lines at points with high curvature - Dave Pagurek
- Fix: GPU: Shader Tools: Reference params in templates not working - Clément Foucault
- Fix #157703: Translucent BSDF with 0 thickness renders incorrectly - Le Gia Bao
- Fix: EEVEE: Extraneous semicolon in shader - Clément Foucault
- Fix: EEVEE: Ambient Occlusion and FastGI produces NaN on infinite - Clément Foucault
- Fix: EEVEE: Undefined behavior in FastGI and AO distance - Clément Foucault
- Fix #158064: Crash when using 'Add Primitive' operator in unsupported modes - Sean Kim
- Fix #158027: Stale notification displayed to user on autosave interval - Sean Kim
- Fix #158033: Python: Prevent crashes setting active attribute to None - YimingWu
- Fix #157003, #157004: Various Multires Mask Expand snap issues - Jerry Wei
- Fix #117656: system error when setting ID property to numpy values - Kévin Dietrich
- Fix: Motion Path keylist built for whole action - Christoph Lendenfeld
- Fix: Compositor crashes if no GPU exists - Omar Emara
- Fix #157778: VSE: deleting an active strip modifier leaves none active - Philipp Oeser
- Fix: pose select hierarchy only working on active bone - Christoph Lendenfeld
- Fix: Interactive compositor runs in background mode - Omar Emara
- Fix #158104: Knife tool with cut through enabled results in incomplete cuts - Tariq-Sulley
- Fix #156379: No default UV map after realize instances node - Hans Goudey
- Fix: Cycles build issue on 32 bit, change arrayMemObject to uintptr_t - Sertonix
- Fix: Cycles: Update generated before tessellation - Alex Fuller
- Fix #154319: Undefined behavior when repeatedly refreshing asset library - Julian Eisel
- Fix: Memory leak when refreshing library while previews are pending - Julian Eisel
- Fix #157999: Reset stale text offset after numeric field commit - phantomsoldierking
- Fix: Empty crash dump on windows - Ray Molenkamp
- Fix #158092: UV Edges are not shown in default Texture Paint workspace - Sean Kim
- Fix #158092: UV Edges are not shown in default Texture Paint workspace - Sean Kim
- Fix #156851: Prevent loading of images with unsupported depths - Jesse Yurkovich
- Fix: use-after-decref in BVHTree.FromPolygons error code path - Campbell Barton
- Fix: Vector slice assignment silently ignoring size mismatch - Campbell Barton
- Fix: crash assigning empty slices to mathutils types - Campbell Barton
- Fix: crash iterating through frozen matrices - Campbell Barton
- Fix #157977: Joining meshes with different total multires levels breaks - Philipp Oeser
- Fix #158135: refresh 3D View header paint slot changing active texture - Philipp Oeser
- Fix: Crash rendering freestyle if compositing device is GPU - Omar Emara
- Fix #158123: Cycles: Crash rendering camera-only BSSRDF with oneAPI HW-RT - Sergey Sharybin
- Fix #157416: EEVEE: Fast GI is broken in large scenes - Clément Foucault
- Fix #157671: VSE: Camera View is Reset During Undo - Falk David
- Fix #158032: Multires crash on unsubdivide with unexpected topology - Campbell Barton
- Fix #158014: Crash on exit when adding more than 4 CLI commands - Jesse Yurkovich
- Fix #158206: PyGPU: Use 3D buffers when reading back 3D textures - Martijn Versteegh
- Fix #158136: Light theme error when opening animation workspace - Pratik Borhade
- Fix #157387: Crash on undo after certain 'no-undo' Brush operations. - Bastien Montagne
- Fix: EEVEE: Missing bindings in Hybrid pipeline - Miguel Pozo
- Fix: EEVEE: Missing binding in VOLUME_SCATTER_WITH_LIGHTS - Miguel Pozo
- Fix #157596: Blender doesn't open with GPU assert enabled - atomic_commit
- Fix: UI: Text-box scroller uses incorrect bounds when scaled - Guillermo Venegas
- Fix: EEVEE: Broken AO compilation - Clément Foucault
- Fix #157474: Blender crash when using undo while editing pose - Sybren A. Stüvel
- Fix #158297: EEVEE: Plane Probe: NaN in radiance buffer - Clément Foucault
- Fix #156994: Local Collections toggle makes it impossible to hide objects - Tariq-Sulley
- Fix #147249 EEVEE: Raytacing: Reflections randomly turn pink - Clément Foucault
- Fix #158280: Node Tools: Menu inputs broken since recent refactor - Hans Goudey
- Fix: Node Tools: Image data-block inputs broken - Hans Goudey
- Fix: correctly handle HTTP download sizes when stream compression is used - Sybren A. Stüvel
- Fix #124845: EEVEE: Shadows shaders compiled even if shadows are off - Clément Foucault
- Fix: DNA: Wrong versioning of 64 bit integers - Brecht Van Lommel
- Fix #158262: Incorrect scaling transform applied during IO - Jesse Yurkovich
- Fix: Geometry Nodes: missing propagation when getting bundle item - Jacques Lucke
- Fix: Geometry Nodes: viewer node log does not always own the data - Jacques Lucke
-
Fix #157683: Use
math::Quaterniontype for Geometry Attribute constraint - Lukas Tönne - FIx #158247: Go to Parent Node Tree commands behave differently - Alaska
- Fix: documentation building error with 'aud' in recent updates - Campbell Barton
- Fix #158364: Dissolve edges operator shows no user facing message when no geometry is dissolved - Tariq-Sulley
- Fix: Pose select hierarchy sets incorrect active bone - Christoph Lendenfeld
- Fix #152150: NVIDIA artifacts due to code-path elimination - Jeroen Bakker
- Fix #158185: Field constant detection broken with deduplication - Hans Goudey
- Fix: Cycles: Comparison of uninitialized memory - Sergey Sharybin
- Fix: Grease Pencil: Edit mode selected dots wrong when fills selected - Casey Bianco-Davis
- Fix #153061: Grease Pencil: Gradient Tool create keyframes - Casey Bianco-Davis
- Fix #152279: EEVEE: Sheen layer using wrong normal when Coat is active - Aryan Verma
- Fix #158376: Cycles texture cache crash during animation playback - Brecht Van Lommel
- Fix #158134: Benchmark: Blender install validation fails for symlink - Brecht Van Lommel
- Fix #157740: EXR images with a single Z or Depth channel open black - Daniel Labanino
- Fix: memory leak accessing empty RNA enum lists - Campbell Barton
- Fix: Problems with geometry randomization debug option - Hans Goudey
- Fix: Update variable after merge conflict - Aaron Carlisle
- Fix: resource leak on wayland dynload when initialization fails - Campbell Barton
- Fix: use of free() instead of SDL_free() with the GHOST/SDL clipboard - Campbell Barton
- Fix: Missing RNA path for nodes modifier bake data - Bastien Montagne
- Fix #156971: Old curves crash on assert in drawing mode - Le Gia Bao
Geometry Nodes
- 🔸 Geometry Nodes: Move lists out of experimental - Hans Goudey
- Geometry Nodes: Support for experimental Typed Bundles - Lukas Tönne
- 🔸 Geometry Nodes: support data-blocks in compare node - Jacques Lucke
- Geometry Nodes: improve debug print for repeat zone compute context - Jacques Lucke
- 🔸 Geometry Nodes: draw data-block names in viewer node - Jacques Lucke
- 🔸 Geometry Nodes: Add Merge by Distance building block nodes - илья _
- Geometry Nodes: Slightly more efficient field creation in a few places - Hans Goudey
- Geometry Nodes: Avoid face corner evaluation in some sampling nodes - Hans Goudey
GHOST/SDL
- GHOST/SDL: support primary selection clipboard - Campbell Barton
GPU
- GPU: Shader Tool: Add workaround for getting resource tables - Clément Foucault
Grease Pencil
- Grease Pencil: Add playback benchmark tests - Falk David
I18N
- I18N: Updated UI translations from git/weblate repository (a4d3414a8d0ad257). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (7444a99de278d). - Bastien Montagne
Mesh
Modifiers
- 🔸 Modifiers: Improve rotation alignment options in Array modifier asset for better UX - Simon Thommes
- 🔸 Modifiers: keep active state in "Copy Modifiers to Selected Objects" - Philipp Oeser
Move outliner tree storage to SpaceOutliner_Runtime
- Move outliner tree storage to SpaceOutliner_Runtime - Pratik Borhade
New experimental flag for hair dynamics
- New experimental flag for hair dynamics - Lukas Tönne
Nodes
- 🔸 Nodes: Drag multiple selected sockets into editor - Endor H
- 🔸 Nodes: Transfer compatible reroute links on Swap - Endor H
- Nodes: Dynamic declaration for dynamically-typed function nodes - илья _
OpenEXR
- 🔸 OpenEXR: faster writing of half-precision (FP16) EXRs - Aras Pranckevicius
Outliner
- 🔸 Outliner: Colored icons in collection list - Pratik Borhade
- 🔸 Outliner: Enable scroll to active by default - Pratik Borhade
Paint
- 🔸 Paint: Hide 'Modes' panel - Sean Kim
Python
- PyAPI: add PyC_MemoryView_FromBufferOwned utility - Campbell Barton
- PyAPI: expose ImBuf.with_buffer as a shaped memoryview - Campbell Barton
- PyAPI: add bpy.types.Window.screenshot() method - Campbell Barton
- PyAPI: Support slice steps for bpy_prop_array access - Le Gia Bao
- PyDoc: remove bpy_prop base class from collection types - Andrej730
- PyAPI: step support for mathutils slicing - Campbell Barton
- PyDoc: fix broken links to bpy.types.GeometrySet & InlineShaderNodes - Campbell Barton
- PyDoc: apply method-skip logic to plain methods on RNA structs - Campbell Barton
- PyDoc: add missing args, correct function directives - Campbell Barton
- PyAPI: accept None to signify the "current value" for variable args - Campbell Barton
- PyAPI: add blf.types module - Campbell Barton
- PyDoc: refactor doc-generation to auto-detect C-API defined types - Campbell Barton
- PyAPI: expose bpy.types.ContextTempOverride - Campbell Barton
- PyDoc: fix incorrect type for dynamic arrays in generated docs - Campbell Barton
- PyDoc: add missing gpu.compute module form API docs - Campbell Barton
- PyDoc: add missing type information for C-API getset definitions - Campbell Barton
- PyAPI: support an explicit axis=None for Matrix.Rotation & Scale - Campbell Barton
- PyDoc: add *.pyi stub generator, that generates stubs from docs - Campbell Barton
- PyDoc: type hints for sphinx_doc_gen.py, various minor changes - Campbell Barton
- PyDoc: format freestyle doc-strings to be parsed by stub generation - Campbell Barton
- PyDoc: stub generator fixes for runtime defaults - Campbell Barton
- PyDoc: missing args from the function signature now show as an error - Campbell Barton
Refactor
- Refactor: Compositor: Use Implicit Sharing Info - Omar Emara
- Refactor: Clear now-unused viewer node ID member - Omar Emara
- Refactor: Geometry Nodes: extract more low level function to evaluate multi-function on grids - Jacques Lucke
- Refactor: Geometry Nodes: Split List into typed List and GList - Hans Goudey
- Refactor: DNA: Rewrite makesdna.cc for clarity - Brecht Van Lommel
- Refactor: Geometry Nodes: improve ListPtr implementation - Jacques Lucke
- Refactor: ImBuf: Simplify duplication - Hans Goudey
- Refactor: simplify object/editmode armature selection code-paths - Campbell Barton
- Refactor: UI: Use templates for pointer type for uiDefBut* - Brecht Van Lommel
- Refactor: Fix various wrong enum usage that happened to work anyway - Brecht Van Lommel
- Refactor: RNA: Recognize ushort and uint8_t DNA types - Brecht Van Lommel
- Refactor: DNA: Make enum integer types consistent between structs - Brecht Van Lommel
- Refactor: DNA: Move enums before structs that use them - Brecht Van Lommel
- Refactor: DNA: Change almost all enums from integer to enum type - Brecht Van Lommel
-
Refactor: abstract away direct
bPoseChannel::bonepointer access - Sybren A. Stüvel - Refactor: Remove redundant motion path flags - Christoph Lendenfeld
- Refactor: Motion Path object API - Christoph Lendenfeld
- Refactor: Don't modify scene frame on motion path eval - Christoph Lendenfeld
- Refactor: Cycles: Use bitset to accomodate more than 64 sockets - Brecht Van Lommel
- Refactor: BLI: Use lambdas for KDTree api - илья _
- Refactor: UI: extract function to set initial menu search query from event - Jacques Lucke
- Refactor: BLI: KDTree: Use float directly for 1D trees - Hans Goudey
- Refactor: Nodes: use UString for node_find_socket - Jacques Lucke
- Refactor: Avoid raw memory handling in File Output node - Omar Emara
- Refactor: rename 'CANCEL' to 'SHUTDOWN' in bg HTTP downloader protocol - Sybren A. Stüvel
- Refactor: MEM: Move MEM_size_safe_multiply to a public header - Brecht Van Lommel
- Refactor: Core: Use unified BLO_read_array with size checking - Brecht Van Lommel
- Refactor: RNA: Use #ifdefs instead of runtime checks in rna_define.cc - Brecht Van Lommel
- Refactor: RNA: Use StringRef in some internal types - Brecht Van Lommel
- Refactor: DNA: Move parsing of multiple headers into dna_parse.cc - Brecht Van Lommel
- Refactor: RNA: Use parsed DNA structs instead of renamed SDNA - Brecht Van Lommel
- Refactor: Use bilinear sampling for Ocean modifier - Omar Emara
- Refactor: Core: Use BLO_read_struct with null checking - Brecht Van Lommel
- Refactor: Move AxisMutable to new file - Christoph Lendenfeld
Rigidbody
- 🔸 Rigidbody: sync GImpact mesh with collision margin - valadaptive
Tests
- Tests: Add imbuf tests for the DDS image format - Jesse Yurkovich
- Tests: Render: Avoid perfectly overlapping volumes in recently added VDB tests - Alaska
- Tests: add & improve tests for BLI_delaunay_2d - Campbell Barton
- Tests: add tests for mathutils index access and slicing - Campbell Barton
- Tests: add Python API doc-generation for RST & PYI stub files - Campbell Barton
UI
- 🔸 UI: Add placeholder to textbox buttons - Guillermo Venegas
- 🔸 UI: Show Placeholders During Focus When Empty - Harley Acheson
- 🔸 UI: Date & Time Internationalization - Harley Acheson
- UI: Add missing translation context to textbox placeholder text - Guillermo Venegas
- UI: Add missing space in Light Probe tooltip - MarcHamamji
- UI: Make EEVEE denoise option more compact - Clément Foucault
- 🔸 UI: Gray-out Sound Preferences when Audaspace is disabled, use column layout - Jonas Holzman
- 🔸 UI: Anim: Sort Mirror key menu - Pablo Vazquez
- UI: Anim: Sort Mirror key menu in Dope Sheet - Pablo Vazquez
- 🔸 UI: Assigning shortcut to individual enum item from context menu - Pratik Borhade
- 🔸 UI: Launch OS file browser when clicking on uneditable path properties - Nathan Vegdahl
- 🔸 UI: Move text-box grip handler to the bottom right corner - Guillermo Venegas
- 🔸 UI: Increase tree view item visual selection/highlight height - Brecht Van Lommel
USD
- 🔸 USD: Implement incremental save for export - Jesse Yurkovich
Use XR_NULL_HANDLE/VK_NULL_HANDLE instead of nullptr when appropriate
UV
- 🔸 UV: Improve rip operator error message - Eitan Traurig
VSE
- 🔸 VSE: Modifier Preview Visibility Toggle - John Kiril Swenson
18 Comments
Hey Pablo, thanks for the excellent update! I notice that there has been some improvement on the new array modifier, is there any plan to implement an option to hide the gizmos? Check my proposal for more details: Regards :) blender.community/c/rightclickselect/qDAk/
Hey Pablo, can you copy paste the commit list please?
Hi! Sorry I forgot to do it during the stream. It's now up here ^
Thank you very much!
Pablo, Asset Online: Seemed to work for a moment, then got message in Asset box : error downloading. . . . permission denied. This is the address I used: cdn.extensions.blender.org/asset-libraries/essentials/ tx, Pam
Oi, Pablo!
super excited for texture layers! I've got several projects I'm working on, though I'm afraid probably none of them will make it for the LTS. I keep picking up odd things that need changes- blender doesn't have a transparent/black background AOV for mist/depth pass, for example.
I loved the impact frame in singularity! Do you know how long it took to get the timing right?
also you mentioned the performance tab, maybe there's enough there to separate render performance and general performance? that entire section has so many options already though...
just thinking aloud today!
Hola Pablo, congrats on the new short film. Love it. ❤️
There is a great setting in Eevee for lights where you can enable "custom distance". Sadly, this feature is not available in Cycles even though this only affects the icon in the viewport and doesn't affects the render at all. Would be great if this setting is exposed when Cycles is selected as well.
Hey Pablo, congrats to the team for the new short film, it was great! Here's a few of questions:
The new texture painting layer system seems to be baked into the principled BSDF, am I missing something or is this different from a Layered Texture map system / node? How exactly is this going to work?
Are there plans to implement GLSL or HLSL shading language?
What would it take to have C++ plugins for blender? Is this feasible / ever going to happen?
Heya Pablo! Hope you guys are doing well and congrats on the release of the short film Singularity! My Kids and i, LOVE IT!
Question regarding Animation layer, Someone linked me the Blender RoadMap and stated Animation layer was on hold.
I checked it out myself, cause i thought he was joking but it was indeed on hold. Is it possible to add the reason on the site? like more funds needed, need more time or extra dev needed? This way we can help support you guys to get it back on track, Thanks!
Greetings from Albania! I would love to have a ‘scene length’ node in Geometry nodes, either in seconds of frames. How hard would that be? I use a driver for that and divide it by the current frame to get a normalized time value, but it would be great to have natively in Geo nodes. Thanks for making this show, by the way.
Hola Pablo!
Last week I asked if there were any plans to bring UV render pass to EEVEE, and you said you would check with the team. Any news on that?
blender.community/c/rightclickselect/vDAL/
Also, any plans to allow flipping X/Y/Z to -X/-Y-Z on "up" Track To constraint?
blender.community/c/rightclickselect/j5YR/
Or maybe a roll property to allow arbitrary rotations around the "Track To" axis, as suggested by the 3D artist Jeff S.?
blender.community/c/rightclickselect/XQKW
Also:
Any chance we could get Snap Cursor to View? It's one of the notable missed options for snapping. Currently we have to add additional cameras to the scene, set the new camera to active camera, snap the camera to view, select the camera, snap cursor to selected (camera), and then finally delete the camera and set the original camera to active camera.
blender.community/c/rightclickselect/w2jM
Edit: View is where you're currently looking from in a 3D view. This means you want to snap the cursor to your current view, but without using cameras. Too many steps currently.
Hello Pablo! Any updates on the decades-old issue with the keymap editor? ( projects.blender.org/blender/blender/issues/153136
TL;DR: addons keep on adding their hotkeys even if they already exist in the saved hotkey file. Exporting and importing the file over and over makes it huge.
I believe that there should be a system that checks if the hotkey already exists or not before adding it.
Besides that, new Blender version may add new hotkeys which would make a customized hotkeys file miss them. It can be hard to track all that and keep a clean, functional and updated custom hotkey config (full-time job!). It would be nice to have the default Blender hotkeys hardcoded as a fallback. this way, if no addon or custom hotkey exists for them, they would still work intuitively and without much conflict.
Developers, please give more attention to such core Blender functionalities (and to basic modelling tools 😖 ).
hi pablo, great work on the livestream yesterday do you know when work on the multi-stage compositor is starting? roadmap says not started. Thank You 👋
hey Pablo hopes you're doing good; I was thinking can we make GP feature directly inside Composition or can we make the GP Effects tab feature inside geometry node? and can we have global material for GP because I can't be able to use material from one object to other, I have to create new for new GP object
compositor is def the future for grease pencil/outlines
Hi Pablo! Thanks for the weekly updates :) Appreciate the effort and time you put into this!
Just wanted to ask if you think any of these video sequencer additions will make it to 5.2 (just 3 more weeks of Alpha which is why I am asking) and if there is any push by the VSE module to get them over the line: