Blender 5.2 LTS: Better EVERYTHING 🚀 Blender Today LIVE #282
Blender Today #282
Announcements
- Blender 5.1.2 corrective release!
- video.blender.org !
- Making Of Singularity
Changelog between May 12, 2026 - May 26, 2026 at 12:00
448 commits in total, of which 137 are fixes, 59 cleanup, and 23 refactors.
Alembic
- 🔸 Alembic: support camera and visibility animation via FCurves - Kévin Dietrich
Animation
- 🔸 Anim: Enable Only Insert Available by default - Christoph Lendenfeld
- 🔸 Anim: Extend the 'Add Bone' redo panel - Wayne Dixon
- 🔸 Anim: make it explicit that 'Allow Negative Frames' can cause issues - Sybren A. Stüvel
- 🔸 Anim: Implement Transformable API - Christoph Lendenfeld
- 🔸 Anim: Local/Isolate View for Graph Editor - Pratik Borhade
- Anim: Add unit test for joining armatures that have action constraints - Nathan Vegdahl
- 🔸 Anim: Graph Editor - Improve feedback adding F-Curve modifiers - Pratik Borhade
- 🔸 Anim: Remove "Current Frame" update mode of motion paths - Christoph Lendenfeld
- 🔸 Anim: allow select key by type in Graph Editor - Christoph Lendenfeld
Assets
- 🔸 Assets: Expand filter option to allow showing only online assets - Julian Eisel
- Assets: add function to cancel all asset downloads at once - Sybren A. Stüvel
- 🔸 Assets: Include online essentials in Essentials library - Julian Eisel
- Assets: add function to cancel all remote asset listing downloads - Sybren A. Stüvel
- Assets: improve download progress reporting - Sybren A. Stüvel
- Assets: always sort the generated online asset listing - Sybren A. Stüvel
- Assets: add 'on queue empty' callback function - Sybren A. Stüvel
- Assets: Add status bar button for cancelling all asset downloads - Julian Eisel
- Assets: Make cancelling library loading cancel listing downloads too - Julian Eisel
- Assets: fix asset listing loading hanging at startup when file is missing - Sybren A. Stüvel
- Assets: avoid including disabled remote asset libs in the 'All' library - Sybren A. Stüvel
- Assets: listing generator now also sorts files - Sybren A. Stüvel
- Assets: Save ouputs node tree interface socket to meta data - Falk David
-
Assets: fix issue in listing generator when run on dir other than
.- Sybren A. Stüvel - Assets: make backup of remote asset listing - Sybren A. Stüvel
- Assets: Allow setting preferred import method for assets - Julian Eisel
- Assets: add min/max version of Blender to online asset listing - Sybren A. Stüvel
- Assets: Better handle deleted libraries in asset shelves - Julian Eisel
- Assets: Show progressbar for all ongoing asset downloads - Julian Eisel
- Assets: 'remove' experimental flag for remote asset libraries - Sybren A. Stüvel
- Assets: fix possible nullptr dereference - Sybren A. Stüvel
- Assets: gracefully skip assets in listing with unknown ID type - Sybren A. Stüvel
- Assets: prevent warning about missing online essentials catalogs - Sybren A. Stüvel
- Assets: always trim whitespace off remote asset library URLs - Sybren A. Stüvel
Attributes
- Attributes: inline and optimize storage_type() method - Hans Goudey
Audaspace
- Audaspace: port bugfix from upstream. - Jörg Müller
Benchmark
- Benchmark: Update submodules when building - Jeroen Bakker
- Benchmark: Bisecting performance regressions - Jeroen Bakker
BLI
- 🔸 BLI: Parallel sort of large groups in index utility - Iliya Katushenock
- BLI: add new BLI_assert_unreachable_static macro - Jacques Lucke
- BLI: add utility methods to ListBaseT - Jacques Lucke
Build
- Build: Copy over all USD plugins that we build to the final install - Sebastian Parborg
- Build: Cycles: Migrate Cycles Standalone from SDL2 to SDL3 - Jonas Holzman
- Build: Harvest the tiff library .cmake files - Sebastian Parborg
- Build: Add automatic WITH_SDL to WITH_SDL_AUDIO CMake cache value migration - Jonas Holzman
- Build: Bump macOS arm64 and WoA deps submodule following TIFF removal - Jonas Holzman
- Build: Bump win64 deps submodule following TIFF removal - Ray Molenkamp
- Build: unbreak WITH_TBB=OFF, support parallel_sort(range) - Campbell Barton
-
Makefile: Add
benchmarktarget - Sean Kim
Cleanup
- Cleanup: Vulkan: Split shader interface init function - Jeroen Bakker
- Cleanup: CMake: Fix Epoxy find module variable case and correct comment about exposed variables - Jonas Holzman
- Cleanup: CMake: Fix misc spelling and capitalization in CMake options - Jonas Holzman
- Cleanup: Remove bug reporting code related to addons - Alaska
- Cleanup: EEVEE: Remove ununsed iostream includes - Clément Foucault
- Cleanup: ImBuf: Tweak API for assigning buffer data - Hans Goudey
- Cleanup: ImBuf: Use simpler functions for thumbnail scaling - Hans Goudey
- Cleanup: long line & trailing space in recent commit to API docs - Campbell Barton
- Cleanup: rename ImageFormatData::planes to color_mode - Campbell Barton
- Cleanup: BLI: masked fill index range overload - илья _
- Cleanup: Build: Audaspace: Use bf dependency target alias for SDL - Jonas Holzman
- Cleanup: ImBuf: Use API to allocate ImBuf pixels - Hans Goudey
- Cleanup: Rename merge points files for clarity - Hans Goudey
- Cleanup: Use fill_index_range utility - Hans Goudey
- Cleanup: consistent use for keyword argument parsing - Campbell Barton
- Cleanup: Node Wrangler: Avoid shadowing built-in Python keywords - quackarooni
- Cleanup: ImBuf: Remove else after return - Hans Goudey
- Cleanup: EEVEE: Silence unused variables warning - Clément Foucault
- Cleanup: Cycles: Remove CMYK workaround, not needed with 5.2 libraries - Brecht Van Lommel
- Cleanup: make asset downloader less noisy on the console - Sybren A. Stüvel
-
Cleanup: Rename
BKE_image_has_opengl_texture- Sean Kim - Cleanup: VSE: Avoid unnecessary viewlayer cache clear, cleanup comments - John Kiril Swenson
- Cleanup: Geometry Nodes: allow returning optional from conversion to custom data type - Jacques Lucke
- Cleanup: Geometry Nodes: Use gather util - Iliya Katushenock
- Cleanup: EEVEE: Replace light static function by class methods - Clément Foucault
- Cleanup: Warning about unused variable - Christoph Lendenfeld
- Cleanup: simplify image palette extraction code - Aras Pranckevicius
- Cleanup: remove unused GHash mentions/includes - Aras Pranckevicius
- Cleanup: Remove legacy ImBuf "color profiles" - Aras Pranckevicius
- Cleanup: replace add-hoc sections with doxygen sections - Campbell Barton
- Cleanup: unmatched back-ticks in comments - Campbell Barton
- Cleanup: use doxygen code blocks for literal code - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: VSE SEQ_channels and SEQ_animation - Aras Pranckevicius
- Cleanup: Compositor: Rename compute domain function - Omar Emara
- Cleanup: EEVEE: Avoid signed implicit cast warinings - Clément Foucault
-
Cleanup: Nodes: Remove unused functions in
node_add_menu- Quackers - Cleanup: Nodes: use node socket type enum in dna and remove casts - Jacques Lucke
- Cleanup: remove island check in UV hide - Campbell Barton
- Cleanup: Node Tools: Use StringRef instead of std::string - Hans Goudey
- Cleanup: Node Tools: Use UniqueHash type instead of std::array - Hans Goudey
- Cleanup: Geometry Nodes: unify naming for reference lifetime structs - Jacques Lucke
- Cleanup: Geometry Nodes: remove infinite plane collider - Jacques Lucke
- Cleanup: quiet GCC warning mixing (non)enumerated types - Campbell Barton
- Cleanup: use non hyphenated term "docstring" - Campbell Barton
- Cleanup: use const arguments for BKE_uvproject.h source coordinates - Campbell Barton
- Cleanup: comment fixes (punctuation, brackets and minor formatting) - Campbell Barton
- Cleanup: comment typo and grammar fixes - Campbell Barton
- Cleanup: Geometry Nodes: improve naming for reference lifetimes - Jacques Lucke
- Cleanup: Remove unnecessary include - Hans Goudey
- Cleanup: Use enum class for node interface item type, remove casts - Hans Goudey
- Cleanup: GPU: Remove unused files - Clément Foucault
- Cleanup: EEVEE: Remove empty info files - Clément Foucault
- Cleanup: UI: Remove else after return - Hans Goudey
- Cleanup: Geometry Nodes: use new Get Geometry Component node - Jacques Lucke
- Cleanup: UI: Remove unused PopupBlockHandle::butretval field - Guillermo Venegas
- Cleanup: EEVEE: Silence unused parameter warnings - Clément Foucault
- Cleanup: EEVEE: Silence warning about signed / unsigned comparison - Clément Foucault
- Cleanup: Remove unused variables - Christoph Lendenfeld
Color Management
- Color Management: Avoid potential buffer copies - Hans Goudey
Compositor
- Compositor: Integrate node image preview in evaluation log - Omar Emara
- 🔸 Compositor: Support socket value inspection - Omar Emara
- Compositor: Support value inspection for image pixel operation - Omar Emara
- Compositor: Support value inspection for single value pixel operations - Omar Emara
- Compositor: Skip displaying execution time on viewer node - Omar Emara
- 🔸 Compositor: Support Warning node - Omar Emara
- Compositor: Support single value implicit inputs - Omar Emara
- 🔸 Compositor: Avoid superfluous copying of results - Omar Emara
- 🔸 Compositor: Replace Switch node with Geometry Nodes' - Omar Emara
- Compositor: Allow access to main during evaluation - Omar Emara
- 🔸 Compositor: Add Frame input to the Stabilize 2D node - Omar Emara
- 🔸 Compositor: Use pixel units for various sockets - quackarooni
- 🔸 Compositor: Expose Default Input Type setting in compositor - Omar Emara
Core
- 🔸 Core: Copy-Paste: Various fixes and improvements. - Bastien Montagne
- Core: LibOverride: Improve operation types issues reporting. - Bastien Montagne
- Core: LibOverride: Refactor libs deps depth issues reporting. - Bastien Montagne
Cycles
- 🔸 Cycles: Add denoising pass options for reflections, depth and albedo - Christoph Neuhauser
- Cycles, EEVEE: Add functions for overwriting pixel jitter sample - Christoph Neuhauser
- Cycles: Update OSL GPU services for version 1.15 - Brecht Van Lommel
- Cycles: Reduce number of CUDA compute capabilities - Patrick Mours
- Cycles: HIP-RT: Dynamically select BVH build quality per BLAS - Sahar A. Kashi
- Cycles: Remove obsolete Webp dependency - Sebastian Parborg
- 🔸 Cycles: Add support for motion vectors in the viewport - Patrick Mours
-
Cycles: OSL: Add missing
anisotropic_vdf()closure - Weizhen Huang - Cycles: Update minimum requirements for HIP on Linux - Alaska
Deps
- Deps: Remove TIFF from pre-compiled libraries - Sebastian Parborg
- Deps: Make sure to correctly set up shared libs Meshoptimizer & Draco - Julien Duroure
Docs
- Docs: fix grammar and punctuation in Python API docs - Vansh Gaur
- Docs: correct unbalanced doxygen groups - Campbell Barton
- Docs: use consistent formatting for doxygen "param" - Campbell Barton
- Docs: rename/remove/update doc-strings for unknown "param" - Campbell Barton
- Docs: update to reference extensions instead of "bl_info" - Campbell Barton
DRW
-
DRW: Make
drw_modelmatanddrw_modelinvresource guarded - Clément Foucault
EEVEE
- 🔸 EEVEE: Add 1.5 and 2 GB shadow pool options - Clément Foucault
- 🔸 EEVEE: Add support for lightprobe plane on Blended material - Clément Foucault
- EEVEE: Port Light Eval Loop to BSL - Clément Foucault
- 🔸 EEVEE: Add support for camera light visibility - Le Gia Bao
- EEVEE: Extract light shape vertices from closure loop - Clément Foucault
- EEVEE: Port surface fragment shaders to BSL - Clément Foucault
- EEVEE: Document a VVL false positive - Jeroen Bakker
- EEVEE: Shadow: Move shared variable to Resource Table - Clément Foucault
- 🔸 EEVEE: Add dithering for material data - Le Gia Bao
- EEVEE: Port material vertex shaders to BSL - Clément Foucault
- EEVEE: Various shader port to BSL - Clément Foucault
- EEVEE: Update test failure threshold - Clément Foucault
- EEVEE: Update failure threshold for different Nvidia architectures - Clément Foucault
- 🔸 EEVEE: Raycast Visibility toggle - Miguel Pozo
- EEVEE: Port lightprobe volume loading to BSL - Clément Foucault
- EEVEE: Port lightprobe volume baking to BSL - Clément Foucault
- EEVEE: Port lightprobe sphere baking to BSL - Clément Foucault
- EEVEE: Port lightprobe sphere culling to BSL - Clément Foucault
- EEVEE: Port lookdev world copy to BSL - Clément Foucault
- EEVEE: Port lightprobe library to BSL - Clément Foucault
- EEVEE: Port hiz update to BSL - Clément Foucault
- EEVEE: Port film & cryptomatte shaders to BSL - Clément Foucault
- EEVEE: Port deferred tile classification to BSL - Clément Foucault
- EEVEE: Port rest of raytrace pipeline to BSL - Clément Foucault
- EEVEE: Port rest of deferred pipeline to BSL - Clément Foucault
- EEVEE: Port lightprobe volume debug shaders to BSL - Clément Foucault
- EEVEE: Port hiz and gbuffer debug shaders to BSL - Clément Foucault
- EEVEE: Port lookdev display shaders to BSL - Clément Foucault
- EEVEE: Port occupancy convert shaders to BSL - Clément Foucault
- EEVEE: Port BxDF files to BSL - Clément Foucault
- EEVEE: Port surfel data to BSL - Clément Foucault
- EEVEE: Port filter lib to BSL - Clément Foucault
- EEVEE: Rename test shaders to BSL extension - Clément Foucault
- EEVEE: Port renderpass lib to BSL - Clément Foucault
- EEVEE: Unroll gbuffer reader layer accesses - Clément Foucault
- EEVEE: Port Gbuffer lib to BSL - Clément Foucault
- EEVEE: Make shader test pass - Clément Foucault
- EEVEE: Rename light and sampling lib to BSL - Clément Foucault
- EEVEE: Port Depth of Field tile shader to BSL - Clément Foucault
- EEVEE: Port Depth of Field scatter shader to BSL - Clément Foucault
- EEVEE: Port Depth of Field bokeh lut shader to BSL - Clément Foucault
- EEVEE: Port Depth of Field setup shaders to BSL - Clément Foucault
- EEVEE: Port Depth of Field filter shader to BSL - Clément Foucault
- EEVEE: Port Depth of Field resolve shader to BSL - Clément Foucault
- EEVEE: Port Depth of Field gather shaders to BSL - Clément Foucault
- EEVEE: Rename left-over files to BSL - Clément Foucault
ffmpeg
- 🔸 ffmpeg: Remove proxy "time code" files - Aras Pranckevicius
Fixes
- Fix #158225: Crash in a presence of a pointer to a scene in 5.2 Alpha. - Bastien Montagne
- Fix: build broken with clang and new USD/Hydra libs for Blender 5.2. - Bastien Montagne
- Fix: EEVEE: Inverted background in Lightprobe Plane Display - Clément Foucault
- Fix: EEVEE: Broken compilation - Clément Foucault
- Fix: Mesh validate fails to handle some invalid topology - Brecht Van Lommel
- Fix #158345: Alt-click to select bone fails in grease-pencil wpaint mode - Campbell Barton
- Fix #156702: Issues with using DJV as animation player - Jesse Yurkovich
- Fix #157688: Playback removes redo steps - Christoph Lendenfeld
- Fix: crash exiting without an active window in the context - Campbell Barton
- Fix: Cycles: Fixing hdCycles build problems when using USD version lower than v25.11 - Sebastian Herholz
- Fix: Tests: DNA: Typo in my_matrix member name - Bastien Montagne
- Fix: Typographical errors in comments - Bastien Montagne
- Fix #158474: Geometry Nodes: Crash due to Merge Point & Cluster Nodes - илья _
- Fix #158386: Access violation if certain node groups are deleted after rendering - Bastien Montagne
- Fix: Blur node ignores input translation - Omar Emara
- Fix #157699: Light Linking Not Updating Until Light Is Toggled - Michael Jones
- Fix #156278: Grease Pencil strokes are slightly noisy in the render - Falk David
- Fix #158566: Crash with Vertex Slide + Proportional Editing if multiple objects are in Edit Mode - Tariq-Sulley
- Fix: BackgroundDownloader now correctly deduplicates downloads - Sybren A. Stüvel
- Fix: correct initialisation of background downloader callbacks - Sybren A. Stüvel
- Fix: EEVEE: Shader compilation - Clément Foucault
- Fix: Geometry Nodes: Do not merge point cloud in connected mode - Iliya Katushenock
- Fix: no keyboard input on new windows for GHOST/SDL - Campbell Barton
- Fix: EEVEE: Missing refracted light in lightprobe plane - Clément Foucault
- Fix: Benchmark: Incomplete error message - Jeroen Bakker
- Fix #158567: Crash when re-evaluating context.selected_pose_bones - Sybren A. Stüvel
- Fix #113794: Nodes: preserve animation when socket order changes - Jacques Lucke
- Fix compile warning in fbx import - Aras Pranckevicius
- Fix: compile issues in recent commits. - Bastien Montagne
- Fix: Geometry Nodes: add missing geometry component to enum - Jacques Lucke
- Fix #158589: VSE compositor modifier hang when using GPU and strips as Mask inputs - Aras Pranckevicius
- Fix: VSE: Show packed sound files as normal even if their path is not valid - Sebastian Parborg
- Fix: VSE: Prefetch does not start when playhead is at timeline beginning - John Kiril Swenson
- Fix: VSE: Off-by-one error with prefetching - John Kiril Swenson
- Fix #148815: Improve accuracy of detecting clicks on node sockets - Leon Schittek
- Fix #139142: Propagate child nodes when deleting their parent frame - Leon Schittek
- Fix: Geometry Nodes: gather anonymous attribute references from geometry bundles - Jacques Lucke
- Fix #152456: OBJ: No longer limit line length to 256KB in the importer - Aras Pranckevicius
- Fix #151692: compositor modifier mask misplaced when proxy render size is not 100% - Aras Pranckevicius
- Fix #155503: Cache glitches when slipping strip - Richard Antalik
- Fix #158608: Index Switch node output affected by disabled inputs - Omar Emara
- Fix: SVG to Grease Pencil import gives erroneous fills/missing strokes - som1sezhi
- Fix: GPU: Actually run texture view tests - Miguel Pozo
- Fix: Geometry Nodes: viewer node crash with geometry list - Jacques Lucke
- Fix: RNA string length function doesn't work with transformed string - Julian Eisel
- Fix #158716: Crash in Weight Paint when Clean → Deform Pose Bones - Sybren A. Stüvel
- Fix: GPU: Shader Tool: Broken viewport index and base instance - Clément Foucault
- Fix #157234: Wrong FCurve flags for property type - Christoph Lendenfeld
- Fix #150055: Cycles HIP-RT subsurface scattering and motion blur issue - salipour
- Fix #158713: VSE: Shortcut conflict during text editing - Pratik Borhade
- Fix: Geometry Nodes: wrong ray intersection test - Jacques Lucke
- Fix: Geometry Nodes: missing edge normal normalization in solver - Jacques Lucke
- Fix: add missing include - Jacques Lucke
- Fix #158571: Cycles viewport local camera focal length ignored - Brecht Van Lommel
- Fix #158686: UV seams missing in edit mode - Tariq-Sulley
- Fix #158644: Crash on operator redo - Christoph Lendenfeld
- Fix #158610: Font sockets not exposed in modifier - Omar Emara
- Fix: Geometry Nodes: improve support for non uniformly scaled colliders with edge contacts - Jacques Lucke
-
Fix: BLI:
intersects_segmentdoes not handle certain 3D cases - Sean Kim -
Fix #158687: Grease Pencil:
Delete Duplicate Framedeletes non-duplicate frames - Casey Bianco-Davis - Fix #158734: Stop light probe baking when deleting volume light probe - Jeroen Bakker
- Fix: Geometry Nodes: incorrect dynamics assets after wildcard pattern support - Jacques Lucke
- Fix #158501: Vulkan: Various synchronization issues - Jeroen Bakker
- Fix #157570: Crash on undo after importing Grease Pencil from SVG - Falk David
- Fix #158466: Node insert icon indistinguishable - Pablo Vazquez
- Fix #137039: Cycles HIP-RT renders transparent curves too dark - Sahar A. Kashi
- Fix #158475: cannot add keyframes to "Available" keying set in VSE - Kévin Dietrich
- Fix #157789: Check return value of lookup_or_add_for_write_span() before use - Martijn Versteegh
- Fix #158783: VSE: Snap to Current Frame crash with no active strip - John Kiril Swenson
- Fix #126155: Misleading UILayout.template_palette docs - Richard Antalik
-
Fix #158318: Ensure
render_statsapp callback is always executed - YimingWu - Fix #155293: Viewport: Add theme option for grid axis brightness shift - Mark van de Ruit
- Fix #157838: Grease Pencil sculpting crashes using a paintcurve brush - Philipp Oeser
- Fix: Missing escaping of modifier name in NodesModifierBake RNA path - Bastien Montagne
-
Fix: GPU:
TexturePoolImplunused variable warning - Mark van de Ruit - Fix: Viewport: Rename theme option for grid axis brightness - Mark van de Ruit
-
Fix: Update doc string for
render_statscall back - YimingWu - Fix: EEVEE: Planar probe eval result in NaN pixel - Clément Foucault
- Fix #158838: EEVEE: Performance regression Linux/AMD in shader balls - Clément Foucault
- Fix #147995: Snap "Align Rotation to Target" broken with non-uniform scale - Philipp Oeser
- Fix #158831: Mask from Boundary operator affects scene data - Sean Kim
- Fix #158103: Array: Per Curve off results in overlap on cyclic curves - Simon Thommes
- Fix #158667: Grease Pencil: Crash when changing fill opacity - Falk David
- Fix #158873: Remove spurious grid brightness versioning - Mark van de Ruit
- Fix #157998: Grease Pencil Simplify Stroke 'Merge' breaks weights - Philipp Oeser
- Fix #158871: "New Asset Catalog" grayed out in "Current File" library - Sybren A. Stüvel
- Fix: memory leak of IDProperty in asset metadata parser - Sybren A. Stüvel
- Fix: Grease Pencil: Selection Curve mode selects wrong curves - Casey Bianco-Davis
- Fix: "Downloading Asset(s)" not disappearing after assets are downloaded - Julian Eisel
- Fix #142817: Grease Pencil: Bake Object Transforms ignores layer relations - Aleš Jelovčan
- Fix #158269: Inconsistency between framebuffer default size and size - Jeroen Bakker
- Fix: Geometry Nodes: Baking single string value does not work - Lukas Tönne
- Fix: Assets: Race condition when loading asset libraries - Julian Eisel
-
Fix: Remove
parent_bone_head_tail_factordefault definition in RNA - Colin Basnett - Fix: Bone parent position calculated incorrectly when factor set to 0.0 - Colin Basnett
- Fix: Remove micro-optimization causing bone position calculation errors - Colin Basnett
- Fix: ASAN error accessing memory from a freed BMFace - Campbell Barton
- Fix #158858: Multires modifier unsubdivide is broken - Campbell Barton
- Fix #153464: UV hide with select-sync off hides other UV islands - Campbell Barton
- Fix #135028: LineArt: Use camera shift when calculating silhouette - YimingWu
- Fix #135028: LineArt: Use camera shift when calculating silhouette - YimingWu
- Fix #142689: UV "Project from View" doesn't use deformed vertices - Eitan Traurig
- Fix: Metal: check_texture_format_compatability - Miguel Pozo
- Fix #158915: GPU compositor error only in background - Omar Emara
- Fix #158915: Harmless error on GPU compositor execution - Omar Emara
- Fix: Benchmark script compatibility with Python 3.9 - Sergey Sharybin
- Fix #158939: Image editor clone brush does not work - Aras Pranckevicius
- Fix #145797: Cycles render tile display artifacts with Vulkan - Le Gia Bao
- Fix #158811: Points to Curves is non-deterministic above 1024 points - Hans Goudey
- Fix #158075: Always unset imbuf cache pointer when destructing - YimingWu
- Fix #158978: VSE crash when compositor effect is missing data - Aras Pranckevicius
-
Fix #158735: Crash when saving asset with catalog that ends in
/- Sean Kim - Fix: Geometry Nodes: crash during geometry nodes modifier versioning - Jacques Lucke
- Fix: Geometry Nodes: wrong switch node structure type inferencing - Jacques Lucke
- Fix: Geometry Nodes: no undo step when using typed bundle search - илья _
- Fix: Nodes: Swap Node operator unmutes muted links - quackarooni
- Fix: Swap functionality not implemented for Typed Bundle node operator - quackarooni
- Fix #159019: Crash when unloading sound from a missing library - Aras Pranckevicius
- Fix: GPU: Shader Tool: Broken resource_table_get guards - Clément Foucault
- Fix: Cycles: Add c++17 flag to runtime GPU compilation - Weizhen Huang
- Fix: VSE channels can't be muted - Aras Pranckevicius
- Fix #158599: Node link drag search broken for assets - Hans Goudey
- Fix: LibOverride resync issue when active scene is not local. - Bastien Montagne
- Fix: Nodes: Swapping from reroutes not preserving link muted state - quackarooni
- Fix #158955: Geometry Nodes: 'Move to Nodes' operator - Brady Johnston
- Fix: Compositor crashes when node group has unused output - Omar Emara
- Fix: revert accidental rename - Jacques Lucke
- Fix: Compositor: Wrong needed buffer counting - Omar Emara
- Fix #158917: Permission Denied syncing a Remote Asset Library - Sybren A. Stüvel
- Fix: Geometry Nodes: String to value node doesn't handle errors - Hans Goudey
- Fix: Geometry Nodes: quiet missing attribute warning in in first frame - Jacques Lucke
- Fix: BLI: Clarify array_utils utilities unitialization status - Hans Goudey
- Fix: gitea_utils issue filter didn't work with timezoned datetime - Alaska
- Fix: EEVEE: Wrong error line number - Clément Foucault
- Fix #158665: Crash when running python script to rename and create edit bones - Christoph Lendenfeld
- Fix #158777: Mirrored bones ignore transform locks - Christoph Lendenfeld
- Fix #159066: Missing HDR capable colorspace - Jeroen Bakker
Geometry Nodes
-
New Nodes
- 🔸 Geometry Nodes: Get Attribute Names node - Cartesian Caramel
- 🔸 Geometry Nodes: add Reverse String node - David Murmann
- 🔸 Geometry Nodes: new Get Geometry Component node - Jacques Lucke
- 🔸 Geometry Nodes: Filter List node - Hans Goudey
-
UI
- 🔸 Geometry Nodes: increase node widths to fit name at different zoom levels - Jacques Lucke
- 🔸 Geometry Nodes: show collection color in viewer node - Jacques Lucke
- 🔸 Geometry Nodes: Add bone name to Bone Info node error - Colin Basnett
- 🔸 Geometry Nodes: experimental hair physics using XPBD - Jacques Lucke
- 🔸 Geometry Nodes: use topology mapping utils instead of hashset in solver - илья _
- Geometry Nodes: use SocketValueVariant directly in baked data - Jacques Lucke
- Geometry Nodes: Early out for index field in shortest edge paths node - илья _
- Geometry Nodes: support boundary colliders in xpbd solver - Jacques Lucke
- Geometry Nodes: improve error and info messages in xpbd solver node - Jacques Lucke
- 🔸 Geometry Nodes: unify string pattern inputs - Jacques Lucke
- 🔸 Geometry Nodes: add selection support to Capture Attribute node - Jacques Lucke
- Geometry Nodes: improve Transfer Attribute node - Jacques Lucke
- Geometry Nodes: update dynamics asset for modified Transfer Attributes node - Jacques Lucke
- Geometry Nodes: XPBD constraint residual error output - Lukas Tönne
- Geometry Nodes: rename physics bundle types - Jacques Lucke
- Geometry Node: improve physics assets - Jacques Lucke
- Geometry Nodes: simplify bundle types tooltip in solver node - Jacques Lucke
- Geometry Node: improve effector attribute evaluation in dynamics assets - Jacques Lucke
- Geometry Nodes: remove anonymous attributes after evaluation - Jacques Lucke
- Geometry Nodes: iterate on force evaluation and Custom Force asset - Jacques Lucke
GHOST
- GHOST/Wayland: suppress assert from motion without time stamps on GNOME - Campbell Barton
- GHOST/Wayland: restrict hack for KDE/tablets to KDE - Campbell Barton
- 🔸 GHOST/Cocoa: show Hi-DPI cursors, logical size access - Campbell Barton
Git
- Gitattributes: update for new location of remote asset libs files - Sybren A. Stüvel
- Gitea: add section for bundled assets - Habib Gahbiche
glTF
- glTF: Draco: Update CODEOWNERS after recent deps lib update - Julien Duroure
- glTF: Meshopt bridge for encoding/decoding - Julien Duroure
- glTF: Enable EXT_meshopt_compression & KHR_meshopt_compression - Julien Duroure
GPU
- 🔸 GPU: Speed up movie clip playback by not doing tiled image display on OpenGL - Aras Pranckevicius
- GPU: Shader Tool: Add support for if constexpr - Clément Foucault
- GPU: Shader Tool: Add conditional SRT in entry point - Clément Foucault
- GPU: Shader Tool: Allow condition on resource tables in entry points - Clément Foucault
- GPU: Shader Tool: Add recursive include guard - Clément Foucault
-
GPU: Extended
TexturePooltexture type support - Mark van de Ruit - GPU: Shader Tool: Improve empty struct detection - Clément Foucault
- GPU: Shader Tool: Add suppot for subpass inputs in BSL - Clément Foucault
- GPU: Shader Tool: Allow resource accessor in function calls - Clément Foucault
- GPU: Shader Tool: Avoid warning about empty create info - Clément Foucault
- GPU: Reduce stack usage in ShaderCreateInfo::finalize - Clément Foucault
Grease Pencil
-
Grease Pencil: Python: Add
unit_test_comparefunction - Falk David - Grease Pencil: Sync bundled essential asset changes - Sean Kim
I18N
- I18N: Updated UI translations from git weblater repository (5e79e503b9cb4). - Bastien Montagne
- I18N: Updated UI translations from git/weblater repository (1e30b2b148cf6). - Bastien Montagne
Image
- ImBuf: support float buffer IO in the Python API - Campbell Barton
- 🔸 Image: Use OpenImageIO for loading and saving sgi-iris images - Jesse Yurkovich
- ImBuf: Implicit sharing for CPU buffers - Hans Goudey
- 🔸 Image: Add autosave support - Sean Kim
I/O
- I/O: Alembic: Use CLOG_WARN for error messages - Brecht Van Lommel
- 🔸 I/O: Harden geometry import for invalid data - Brecht Van Lommel
- 🔸 IO: add option how to eval (Viewport vs. Render) during STL export - Philipp Oeser
Metal
- Metal: Support GPU_ATTACHMENT_IGNORE properly - Clément Foucault
Modeling
- 🔸 Modeling: Space Evenly from looptools - Tariq-Sulley
Node Tools
- Node Tools: Registration cleanup and drawing refactor - Hans Goudey
Nodes
- Nodes: Allow logging std::string values - Omar Emara
-
🔸
Nodes: Add
Baseinput forValue to StringandString to Value- Brady Johnston - 🔸 Nodes: Right-aligned text input and allow renaming more sockets in place - Endor H
- 🔸 Nodes: Add Scene Frame node default input type - Omar Emara
- 🔸 Nodes: simplify adding socket items directly in node - Jacques Lucke
- 🔸 Nodes: show single line by default in new String input nodes - Jacques Lucke
- 🔸 Nodes: Add '3D to Screen Space' and 'Screen Space to 3D' node assets - Habib Gahbiche
Object
- 🔸 Object: Add Geometry Nodes support for Empty object type - Falk David
Outliner
- 🔸 Outliner: Filters panel changes - Pratik Borhade
- 🔸 Outliner: Draw Shapekeys - Pratik Borhade
Python
- Python: make HTTP downloader work when invoked from Text datablock - Sybren A. Stüvel
- PyAPI: update the ImBuf API to only support one buffer-type at a time - Campbell Barton
- Python: Add docstrings to OpenAPI-generated dataclasses - Sybren A. Stüvel
- Python: improve exception message when renaming HTTP download fails - Sybren A. Stüvel
Refactor
- Refactor: change ImBuf::planes to be ImColorMode enum, and rename to color_mode - Aras Pranckevicius
- Refactor: ImBuf: Avoid temporary ImBuf just for scaling - Hans Goudey
- Refactor: Compositor: Use ImplicitSharingPtr instead of raw pointer - Hans Goudey
- Refactor: Tests: common setup and teardown for blender gtests - Bastien Montagne
- Refactor: I/O: Compute edges as part of validation in FBX and PLY - Brecht Van Lommel
- Refactor: ImBuf flags cleanup - Aras Pranckevicius
- Refactor: UI: Use std::function for ID template callbacks - Guillermo Venegas
- Refactor: UI: Separate Text button functions - Guillermo Venegas
- Refactor: Assets/previews downloading now uses Reporter instead of callback - Sybren A. Stüvel
-
Refactor: rename
.../assets/remote_library_listingtoremote_library- Sybren A. Stüvel - Refactor: change immDrawPixels functions into PixelBitmapDrawer class - Aras Pranckevicius
- Refactor: Geometry Nodes: add closure signature to signature - Jacques Lucke
- Refactor: Generic property storage for pose slide system - Christoph Lendenfeld
- Refactor: Nodes: simplify setting node default width - Jacques Lucke
- Refactor: Constness and function naming in pose slide code - Christoph Lendenfeld
-
Refactor: Cycles: use
anisotropic_vdf()in OSL principled volume - Weizhen Huang - Refactor: Geometry Nodes: remove legacy field inferencing - Jacques Lucke
- Refactor: Cycles: Reduce register pressure in thin-film code - Brecht Van Lommel
- Refactors: Set socket availability in node declaration - Omar Emara
- Refactor: Cycles: Simplify function signatures by passing float3 instead of struct - Weizhen Huang
- Refactor: Geometry Nodes: edit values recursively - Jacques Lucke
- Refactor: Geometry Nodes: improve naming for reference lifetimes in declaration - Jacques Lucke
- Refactor: Geometry Nodes: add BundleKey type - Jacques Lucke
Render
- 🔸 Render: Add thin wall mode in Principled BSDF - Weizhen Huang
Rigging
- 🔸 Rigging: Add Head/Tail slider for object-bone parenting - Colin Basnett
Sculpt
Shaders
- 🔸 Shaders: Add Scene Time node - Cartesian Caramel
Tests
- Tests: Add regression tests for recent append and link-pack bugs - Jesse Yurkovich
- Tests: Compositor: Update & simplify rotation regression tests - Criss-Ivana
- Tests: Don't print absolute path in I/O report - Brecht Van Lommel
- Tests: Split cycles bake tests to sidestep OSL OptiX timeouts - Brecht Van Lommel
- Tests: multi-resolution un-subdivide - Campbell Barton
- tests: glTF: simple tests for glTF files compressed with meshopt or Draco - Julien Duroure
- Tests: Add tests for two Geometry Nodes essentials assets - Hans Goudey
Texture Paint
User Interface
- 🔸 UI: Add Scrubbing Region - Pratik Borhade
- 🔸 UI: Navigate with arrow keys for views - Pratik Borhade
- 🔸 UI: UV: Add icon to the active UV Map layer field - Nazir Galimov
- 🔸 UI: Show text-box string value in tooltips - Guillermo Venegas
- 🔸 UI: Extend button text selection with shift and left click - Guillermo Venegas
- 🔸 UI: Allow resizing text-box buttons down to a single line - Guillermo Venegas
- 🔸 UI: Match text-box grip bounds to draw bounds - Guillermo Venegas
UV
- 🔸 UV: add island support to select overlap - Eitan Traurig
Video Sequencer
- 🔸 VSE: Support importing files with multiple video and audio streams - John Kiril Swenson
- 🔸 VSE: Scene Strip: Add View Layer selector - 1P2D
- 🔸 VSE: Add line spacing parameter to text strips - Aleš Jelovčan
- 🔸 VSE: Support rotation socket in the compositor modifier - Criss-Ivana
- 🔸 VSE: Add support for compositor modifier assets - Falk David
Vulkan
- Vulkan: Push constants buffer pool - Jeroen Bakker
- Vulkan: Restrict texture pool workaround to affected Intel iGPUs - Christoph Neuhauser
- Vulkan: Improve Color-space logging - Jeroen Bakker
12 Comments
You probably should use gitea nicknames while parse the commits
😏🦴
Hi Pablo. I finally made it. A new line tool for Blender: a4jp.com/line-tool-for-blender/ Can you please check it out?
Hallo Pablo!
When will we get an NLA Editor since it is kinda Buggy and the Autosave for it is kinda not working sometimes or not at all.
Pls repair it i need the NLA Editor it's a really useful Editor.
And also is there a way to make so the Y axis can be the top and down rather than on the sides since i am used to the Y axis being up and down from games?
Hola Pablo!
This is the first time I've caught this show live! Just wanted to say that I really appreciate you doing this show all the time rain or shine.
One thing that I'd love to see implemented for Blender 6.0 is to have the TreeView UI finally exposed to Python so that add-on developers such as myself can use them. Is there a plan to finally expose this?
BTW you definitely won't remember, but the first time I saw you IRL was when I tripped on the stairs and spilled my drink all over the floor at BCON 22. Image my embarrassment when I looked behind to see that the ✨star of Blender Today✨ witnessed this horrible blunder. I am reminded of this every time I watch Blender Today :').
Thank you for your hard work!
hello pablo hope you're doing well, i was wondering if we add controller kind of thing that was in Blender Game engine into Geometry node, just for fun to play around, and also do you think it would be good idea if we have separate engine just for NPR rendering
Thank You for the Stream 💪
Hey,
Why do you always open videos in new tab instead of full-screening? :D
¡Hola Pablo! ¿Cómo estás?
Any news on the UV Render Pass in EEVEE?
blender.community/c/rightclickselect/vDAL/
About the Snap Cursor to View, sometimes we want to add an object (not a camera) exactly where the current view is. The idea is to avoid all of the following steps and replace it all with a single operation.
This means, replacing all of this:
With this:
As we already have "Center View to Cursor", having the inverse operation is a very good idea.
blender.community/c/rightclickselect/w2jM
Are there any plans to allow flipping X/Y/Z to -X/-Y-Z on "up" Track To constraint? This gave me a big headache on one of my last renders.
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 when are we getting Caminandes 4? 👀
Thanks and best regards.
hello Pablo
I wanted to ask about the new online asset library would we able to contribute our geo nodes,models and materials in extensions.blender.org/ site because that would be amazing a place for the community to share stuff for free to help other artist :)
thank you for making blender great and free <3
Hola Pablo! I was wondering, will geonode based modifiers allow modifications on instances eventually? For example, the legacy Array modifiers let you edit the mesh object from any instance, and the geometry overlays appear on all elements as normal. With the new GN based Array, if you activate "On Cage" your overlays straight up disappear even from the original object, limiting the usefulness of this modifier. Any plans to change this?
Hi Pablo! Sorry if you answered this already, but dropping a comment anyway. Any cool updates to USD import / export coming soon? Would love to see USD referencing soon. Seems like it may be related to the Collection IO project on the blender roadmap. I know proper USD workflows would unlock a ton of doors for pipeline & big productions. Thanks!!