Hola 2026! — Blender Today LIVE #272
Announcements
Changelog between December 23, 2025 - January 06, 2026 at 12h
174 commits in total, of which 38 are fixes, 20 refactors, and 25 cleanup.
Assets
- Assets: Disable editing catalogs in essentials asset library - Julian Eisel
Audaspace
- Audaspace: porting bugfix from upstream. - Jörg Müller
Cleanup
- Cleanup: Vulkan: Remove unused device address - Jeroen Bakker
- Cleanup: Replace goto with break in KDTree code - илья _
- Cleanup: Compositor: Remove sample_nearest_extended - Omar Emara
- Cleanup: Cycles, sign conversion - Sergey Sharybin
- Cleanup: BLI: Remove redundant declaration - Omar Emara
-
Cleanup: Depsgraph: Use already extracted ID pointer in relations'
build_nodetree. - Bastien Montagne - Cleanup: IndexMask iterator usage - илья _
- Cleanup: USD: Use default_value_typed API when accessing socket values - Jesse Yurkovich
- Cleanup: GPU: Shader Tool: Split files and add more documentation - Clément Foucault
-
Cleanup: Remove extra
[[node]]attribute - Sean Kim - Cleanup: Remove unnecessary struct identifier - Sean Kim
- Cleanup: Update comments to remove usage of 'NULL' - Sean Kim
- Cleanup: Remove unused BKE_collection_objects_select - Brecht Van Lommel
- Cleanup: Remove unused LISBASE_FOREACH macros - Brecht Van Lommel
- Cleanup: Incorrect item copies in range based for loops - Brecht Van Lommel
- Cleanup: Remove unnecessary typedef struct and enum - Brecht Van Lommel
- Cleanup: Fix compiler warning in build without assert - Brecht Van Lommel
- Cleanup: Fix compiler warning about unnecessary lambda capture - Brecht Van Lommel
- Cleanup: make blt_translation.cc compile without WITH_PYTHON - Sybren A. Stüvel
- Cleanup: Adjust smooth toggle warning and check - Sean Kim
-
Cleanup: actually make the unit test for
BKE_fcurves_id_cb_test()work - Sybren A. Stüvel - Cleanup: GPU: Shader Tool: Typo, leftover printf, invalid attributes - Clément Foucault
- Cleanup: Comment style in Cycles - Sergey Sharybin
- Cleanup: Comment formatting - Falk David
- Cleanup: Missing period in CODEOWNERS file - Falk David
Compositor
- 🔸 Compositor: Optimize nodes that use interpolations - Omar Emara
Core
- Core: Depsgraph: Add sanity checks about building process. - Bastien Montagne
Cycles
- Cycles: Add HW-RT to the render summary report - Sergey Sharybin
DNA
- DNA: Assert that typed ListBase matches the type in LISTBASE_FOREACH - Brecht Van Lommel
- DNA: Add method to cast ListBaseT to another link type - Brecht Van Lommel
- DNA: Make ListBaseT iterator work for C style subclasses - Brecht Van Lommel
- DNA: Allow non-const iterator over const ListBaseT - Brecht Van Lommel
- DNA: Add more ListBaseT iterators to replace macros - Brecht Van Lommel
EEVEE
- EEVEE: Shadow: Port shadow page managment to BSL - Clément Foucault
Fix
- 🔸 Fix #151799: VSE: Snap line not drawn - John Kiril Swenson
- Fix: VSE: Snap line drawing for drag and drop - John Kiril Swenson
- 🔸 Fix #152027: Widen Action Slot Display Name to Fit Icon - Harley Acheson
- 🔸 Fix #152064: VSE: Image strip cache not updated on initial add - John Kiril Swenson
- 🔸 Fix #152176: Use consistent naming for Grease Pencil pass - YimingWu
- 🔸 Fix: Nodes: Allow transparency in node headers - Trung
- Fix (studio-reported) new embedded nodes missing library of their owner. - Bastien Montagne
- Fix (unreported) Depsgraph: missing cache files relation buildings. - Bastien Montagne
- Fix #101665: Cycles: Remove velocity outliers when padding volume - Weizhen Huang
- Fix #144750: Error converting from bool to int or float array custom property - Abdul Moeed Bhatti
- Fix #145599: asset screenshot incorrect when looking through a camera - Christoph Lendenfeld
- Fix #150601: Missing UI descriptions for bpy.types.Strip - Anton Stuk
- Fix #151571: Viewport playback performance regression - Falk David
- Fix #151841: Crash weightpainting after Convert to GP from Mesh - Philipp Oeser
- Fix #151868: Missing object relations building from Collections in some cases. - Bastien Montagne
- Fix #151946: Attribute statistic crash with empty point cloud - Hans Goudey
- Fix #152018: Crash if overflowing scene statistics buffer - Jesse Yurkovich
- Fix #152026: Potential use-after-free removing RNA structs on exit - Hans Goudey
- Fix #152036: Change soft limits of Poke Faces offset - DcruBro
- Fix #152057: Crash creating faces that exceed the stack memory limit - Campbell Barton
- Fix #152063: Change default value of shape keys to 0.0 - Wayne Dixon
- Fix #152102: Grease Pencil armature deform crashes without dverts - Lukas Tönne
- Fix #152103: Hue Correct Node has incorrect first / last control points - XDzZyq
- Fix #152114: Metastrip length increases when moved - John Kiril Swenson
- Fix #152115: VSE thumbnails crash - Aras Pranckevicius
- Fix #152122: Crashes of an AOV is named Alpha - Omar Emara
- Fix #152126: Cycles HIP: RDNA4 has rendering artifacts in volumes - Sergey Sharybin
- Fix #152130: Reject parent node assignment from different trees - Lukas Tönne
-
Fix #152137: Remove hard limit on
Simplify StrokeLength - Casey Bianco-Davis -
Fix #152215: LineArt: Prevent
lmd->runtimeinit on invalid source - YimingWu - Fix #152216: copy global transforms python error - Christoph Lendenfeld
- Fix #152286: Duplicating compositor node group links to original action - Pratik Borhade
- Fix #152292: Pose brush crash with more segments requested than on mesh - Sean Kim
- Fix #152325: Gizmo: Use point shader for 2d cage corner points - YimingWu
- Fix #152358: Crash during cropped Grease Pencil render - Jeroen Bakker
- Fix #152405: Texture Color sampling in 3DView is offset half a pixel - Philipp Oeser
- Fix #152417: Main no longer compiles with CUDA 13 - Sergey Sharybin
- Fix #152426: Node group separate operator must remap parent pointers - Lukas Tönne
- Fix 152056: Performance regression Vulkan - Jeroen Bakker
- Fix heap overflow after running node group insert operator - Lukas Tönne
- Fix: Access nullptr light group in Cycles - Sergey Sharybin
- Fix: Console warning due to missing category - Pratik Borhade
- Fix: Correct previous fix for #152026 - Hans Goudey
- Fix: errors in GPUFrameBuffer method declarations - Campbell Barton
- Fix: Failing (harmless) assert on file save after recent commit - Julian Eisel
- Fix: GPU: CPP Compilation and Metal warnings - Clément Foucault
- Fix: GPU: Shader Processor Tests - Clément Foucault
- Fix: GPU: Shader Tool: Crash with extraneous closing parenthesis - Clément Foucault
- Fix: GPU: Shader Tool: Several bugs - Clément Foucault
- Fix: incorrect reference counts initializing the gizmo module - Campbell Barton
- Fix: Lack of X member for float1 vector - Iliya Katushenock
- Fix: Mask index used instead of masked value - илья _
- Fix: memory leak in bpy.props multi-dimensional array length validation - Campbell Barton
- Fix: memory leak in Matrix. repr & str - Campbell Barton
- Fix: memory leak in the Python API's BMesh UV selection validation - Campbell Barton
- Fix: memory leak in user_map ID walk callback when "subset" is used - Campbell Barton
- Fix: memory leaks in the Python API accessing the "code" object - Campbell Barton
- Fix: Missing compositor relations in pipeline depsgraph - Sergey Sharybin
- Fix: Nodes: "Group Sockets" panel shows in embedded non-groups - quackarooni
- Fix: Overlay: Fluid sim overlay not outputing to all render targets - Clément Foucault
- Fix: potential error without exception set accessing BMLoopUV.pin - Campbell Barton
- Fix: potential memory leak in PyC_RNA_AsPointer - Campbell Barton
- Fix: potential return freed memory from Python operator doc access - Campbell Barton
- Fix: reference counting error in ID property access - Campbell Barton
- Fix: reference leaks accessing Python's traceback data - Campbell Barton
- Fix: rename debug variable - kunal
- Fix: UI: Overflowing Panel Contents at Low Scales - Harley Acheson
- Fix: USD: Guard against various BasisCurves negative scenarios - Jesse Yurkovich
- Fix: USD: Guard against various Mesh negative scenarios - Jesse Yurkovich
- Fix: USD: Guard against various NURBS negative scenarios - Jesse Yurkovich
- Fix: USD: Handle displayColor in more situations for Shape primitives - Jesse Yurkovich
- Fix: VSE: Off-by-one error with final cache invalidation - John Kiril Swenson
- Fix: Vulkan: Validation Error Input Attachments - Jeroen Bakker
- Fix: Vulkan: Validation error when using conservative depth testing - Jeroen Bakker
- Fix: Wrong minimum macOS version in Blender thumbnailer - Brecht Van Lommel
GPU
- GPU: Shader Tool: Add documented placeholder macros for attributes - Clément Foucault
- GPU: Shader Tool: Support nested namespaces - Clément Foucault
- GPU: Shader Tool: Add std140 linting - Clément Foucault
-
GPU: Shader Tool: Use
unroll_nfor explicit unroll - Clément Foucault - GPU: Port NodeLink shader to BSL - Clément Foucault
- GPU: Shader Tool: Move unroll attribute after loop arguments - Clément Foucault
- GPU: Port Widget Shader to BSL - Clément Foucault
- GPU: Shader Tool: Add support for empty brace initializer on structure - Clément Foucault
- GPU: Shader Tool: Add support for external symbol namespace lookup - Clément Foucault
- [GPU: Add node attribute to GPU node functions]( projects.blender.org/blender/blender/commit/fdc8def3 ) - Clément Foucault
- GPU: Shader Tool: Optimize parser - Clément Foucault
- GPU: Shader Tool: Optimize Tokenizer and Parser - Clément Foucault
- GPU: Shader Tool: Split processor.cc - Clément Foucault
- GPU: Shader Tool: Replace last usage of regex and allow partial parsing - Clément Foucault
Gitea
- 🔸 Gitea: Add CODEOWNERS file - Sergey Sharybin
- Gitea: Add CODEOWNERS file - Sergey Sharybin
- Gitea: Correct owners file syntax - Sergey Sharybin
- Gitea: Add Grease Pencil to CODEOWNERS - Falk David
Grease Pencil
- 🔸 Grease Pencil: Performance: Multi-thread draw cache extraction - Angus Stanton
I18N
- I18N: Updated UI translations from git/weblate repository (8041582de2fed29). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (591d91f48a5b0). - Bastien Montagne
Libmv
macOS
- 🔸 macOS: Add iCloud Drive support to the File Browser - Jonas Holzman
Modeling
- Polyfill2D: minor optimization to bounds calculation - Campbell Barton
- Polyfill2D: precompute edge vectors for point-in-triangle test - Campbell Barton
- Polyfill2D: collapse single-child nodes on KDTree removal - Campbell Barton
- 🔸 Polyfill2D: add KDTree index cache for ear triangle intersections - Campbell Barton
Paint
- 🔸 Paint: Combine color sample operators - Sean Kim
- 🔸 Undo: Support global (memfile) undo in Texture Paint - Sean Kim
RNA
- RNA: Remove C/C++ API - Hans Goudey
Refactor
- Refactor: Cycles: Remove use of RNA C++ API: object.cpp - Hans Goudey
- Refactor: Cycles: Remove use of RNA C++ API: sync.cpp - Hans Goudey
- Refactor: Cycles: Remove use of RNA C++ API: display_driver.cpp - Hans Goudey
- Refactor: Cycles: Remove use of RNA C++ API: session.cpp - Hans Goudey
- Refactor: Cycles: Remove use of RNA C++ API: python.cpp - Hans Goudey
- Refactor: Cycles: Remove use of RNA C++ API: volume.cpp - Hans Goudey
- Refactor: Cycles: Remove final uses of C++ RNA API - Hans Goudey
- Refactor: UI: Simplify layout introspection - Guillermo Venegas
- Refactor: Move Windows Drawcalls into Runtime - Harley Acheson
- Refactor: move blur filter kernel math into BLI_math_filter - Aras Pranckevicius
- 🔸 Refactor: Cycles, remove non-raytacing kernels from HIP-RT - Sergey Sharybin
- Refactor: Draw: Use more modern API for point cloud - Clément Foucault
- Refactor: Split Cycles kernel CMakeLists.txt - Sergey Sharybin
- Refactor: Prepare depsgraph physics relation for ListBaseT - Brecht Van Lommel
- Refactor: Change most ListBase to typed ListBaseT - Brecht Van Lommel
- Refactor: Improve macro robustness with brackets - Brecht Van Lommel
- Refactor: Convert LISTBASE_FOREACH to range based for loops - Brecht Van Lommel
- Refactor: Unconditionally use C++ forward declarations in DNA headers - Brecht Van Lommel
- Refactor: Add missing includes in RNA_RUNTIME sections - Brecht Van Lommel
- Refactor: Use more typed MEM_calloc<> and MEM_malloc<> - Brecht Van Lommel
Tests
- Tests: Implement filtering for render tests - Sergey Sharybin
- Tests: Add common sculpt mode mask operation tests - Sean Kim
UI
- 🔸 UI: Precision Zooming for Image Editor - Harley Acheson
- 🔸 UI: Quad View Simplification - Harley Acheson
- 🔸 UI: Set RNA subtype for compositor backdrop offset - Aaron Carlisle
- 🔸 UI: Grease Pencil: Add Search to Move to Layer menu - Pablo Vazquez
- 🔸 UI: Full Outlined Selection Icons - Harley Acheson
Vulkan
- Vulkan: Improve swapchain latency - Daniel Hill
- Vulkan: Mapped memory inconsistency - Jeroen Bakker
Workbench
- Workbench: Port Volume shader to BSL - Clément Foucault
- Workbench: Port deferred pipeline resolve pass to BSL - Clément Foucault
- Workbench: Port Prepass shader to BSL - Clément Foucault
6 Comments
Please give us this auto zoom mode 🙏🙏🙏 blender.community/c/rightclickselect/LnWD/
Hi Pablo! What’s up? It’s admittedly been awhile since I remembered to look, but last I knew, there wasn’t alot of documentation or resources to know what kind of attributes we can use in Nodes (besides making and storing our own I of course). For example, I might want to access the scene Units Scale in Geo Nodes or Materials without having to use a Driver. I’ve tried copying the data path and pasting parts of it into an attribute node, tho I am not a programmer so I probly don’t know what I’m doing, but that didn’t do the trick. Is there currently any way to find out what attributes from Blender itself that we can type as attributes? And are there any plans to make more attributes possible in Blender? Also if anyone else wants to reply and tell me what I’m doing wrong, that is welcome too.
Happy 2026!
Do you have any idea if some developer is interested in mesh/normals bug reports? This is a bug we struggled with from 2 years ago that hasn't received a lot of attention during bug fixing periods.
It breaks custom split normals on apply scale in cases of negative or non-uniform scaled meshes
projects.blender.org/blender/blender/issues/121831
oi, Pablo!
sorry to miss your last stream- I landed an actual VFX job, on a team that uses all blender till render! (yes even sound playing in the file for timing!) I'm using lots of simulation nodes, and already finding bugs and things that need work- like needing something to clear sim nodes caches. or that the default alembic import starts with constraints and trims the timeline, which confuses users. I'm collecting industry user info!
As for an actual question, how are geo nodes and rig nodes going? as always I'm eager for any gossip I can get from the source!~
Happy New Year Pablo and to all the Blender Team. About the Blender survey and what will be the next Blender features to focus on, seems like in 3rd place is better handling of complex scenes and also USD which is good news. In my opinion Blender really needs to have a better approach to deal with complex scenes, with many object, lights, etc that is also node procedural, akin to Solaris, Katana or Gaffer (also open source). After more than 5 years using Blender, I still lack better features to do look development, better control of variants of a shot or asset, different camera and resolution outputs, which currently is a bit cumbersome in Blender. A node approach to deal with scene properties, dynamic collections with filtering, render passes, general overrides for anything from transforms, animation takes, render properties, etc. I really hope this area gets more attention in 2026! Cheers!!! :)
Hello Pablo! Feliz año y saludos desde Venezuela! Do you have any news about blender for android? I would like to give it a try to any test build that could be around. Thank you for any info about this, congrats for all the great work as always.