Blender 4.1 ALPHA - Blender Today LIVE #237
BlenderToday LIVE #237
Changelog
497 commits in total, of which 108 are fixes and 89 cleanup.
3D View
- 3D View: Do not recalculate the depth buffer for 'Auto Depth' - Germano Cavalcante
Allow setting weights (Ctrl+X) without paintmask enabled
- Allow setting weights (Ctrl+X) without paintmask enabled - Philipp Oeser
Anim
- Anim: add 'select grouped: bone collection' pose mode operator - Sybren A. Stüvel
- Anim: implement 'Select Grouped' by bone color - Sybren A. Stüvel
- Anim: armature edit mode 'select by bone collection' operator - Sybren A. Stüvel
- Anim: armature edit mode 'select by bone color' operator - Sybren A. Stüvel
- Anim: armature edit mode, replace 'bone layers' operator with collections - Sybren A. Stüvel
- Anim: armature edit mode, make Shift+M consistent with pose mode - Sybren A. Stüvel
- Anim: Multi Editing for FCurve modifiers - Christoph Lendenfeld
- Anim: Graph Editor Push/Pull operator - Christoph Lendenfeld
- Anim: add graph editor key/handles selection operator - Nathan Vegdahl
- Anim: Time Offset Slider - Christoph Lendenfeld
- Anim: move creation of default bone collection to the Shift+A operator - Sybren A. Stüvel
- Anim: remove the deprecated use_inherit_scale bone property. - Alexander Gavrilov
-
Anim: redefine
PCHAN_HAS_CONSTflag to mean "has a constraint" - Sybren A. Stüvel - Anim: enable visual keying of IK-influenced bones - Sybren A. Stüvel
-
Anim: make
ANIM_bonecolor_posebone_gethandle const only - Sybren A. Stüvel - Anim: implement a new curve-aware vertex to B-Bone segment mapping mode. - Alexander Gavrilov
- Anim: Improve readability of channel colors in channel list - Sybren A. Stüvel
- Anim: remove unused GRAPH_MT_channel_context_menu - Philipp Oeser
- Anim: bone color properties panel layout tweaks - Sybren A. Stüvel
- Anim: add operator to sync bone colors between selected bones - Sybren A. Stüvel
- Anim: Add operator to 'solo' the active bone collection - Sybren A. Stüvel
-
Anim: remove
pose.bone_layersoperator - Sybren A. Stüvel - Anim: move 'solo bone collection' operator to menu and add 'show all' - Sybren A. Stüvel
- Anim: add overview of bone collections to bone property panel - Sybren A. Stüvel
- Anim: rename the 'Skeleton' panel to 'Pose' - Sybren A. Stüvel
- Anim: keymap, replace 'show all layers' with 'show all collections' - Sybren A. Stüvel
- Anim: Add channel type options to the Bake Action operator - Nate Rupsis
- Anim: add 'move bone to collection' operator to pose mode menu - Sybren A. Stüvel
- Anim: change UI label from 'Edit Bone Color' to just 'Bone Color' - Sybren A. Stüvel
- Anim: remove bone group operators - Sybren A. Stüvel
- Anim: Warn when a bone is added to a hidden bone collection - Sybren A. Stüvel
Anim, refactor the show/hide all bone collections functions
- Anim, refactor the show/hide all bone collections functions - Sybren A. Stüvel
Anim, when removing bone constraints, clear the constflag
- Anim, when removing bone constraints, clear the constflag - Sybren A. Stüvel
Asset Shelf
Asset shelf
- Asset shelf: Improved region height snapping behavior - Julian Eisel
- Asset shelf: Add asset library selector - Julian Eisel
Assets
- Assets: Expose more data in the asset representation RNA/BPY - Julian Eisel
- Assets: Expose asset representation in context RNA/BPY - Julian Eisel
- Assets: Remove (almost) all usages of asset handle in Python scripts - Julian Eisel
- Assets: Add full_path attribute to AssetRepresentation - Colin Basnett
- Assets: Rename "Import Type" to "Import Method" in code/BPY - Julian Eisel
Assets/BPY
- Assets/BPY: Remove unnecessary asset handle related RNA members - Julian Eisel
- Assets/BPY: Remove unnecessary asset file handle context member - Julian Eisel
BLF
- BLF: Embolden Correction & Comments - Harley Acheson
- BLF: Subpixel Positioning, Anti-aliasing, Hinting - Harley Acheson
BLI
- BLI: compute string search scores in parallel - Jacques Lucke
BLI_string
- BLI_string: assert the len argument to BLI_strdupn is valid - Campbell Barton
- BLI_string: attempt to resolve cast error for older versions of GCC - Campbell Barton
- BLI_string: 2nd attempt to resolve cast error for older versions of GCC - Campbell Barton
BLI_string_cursor_utf8
- BLI_string_cursor_utf8: assert the cursor isn't negative - Campbell Barton
Build
- Build: update 4.0 libraries to address CVEs and bugs - Brecht Van Lommel
- Build: resolve build error on MSVC - Campbell Barton
CMake
- CMake: Update platform_win32.cmake with webp 1.3 support - Ray Molenkamp
- CMake: use bf_io_ prefix for IO tests - Campbell Barton
CMake/MSVC
- CMake/MSVC: Fix build error for RelWithDebInfo configuration - Ray Molenkamp
Clarify UV align operator behavior. Fix tooltips.
- Clarify UV align operator behavior. Fix tooltips. - Gilberto Rodrigues
Cleanup
- Cleanup: use const arguments & variables - Campbell Barton
- Cleanup: code-comment formatting, remove commented prints - Campbell Barton
- Cleanup: spelling & typo in last commit - Campbell Barton
- Cleanup: de-duplicate sequencer modifier enum items - Campbell Barton
- Cleanup: Remove unnecessary asset temporary ID consumer override - Julian Eisel
- Cleanup: Remove unnecessary forward declaration - Julian Eisel
- Cleanup: Support value of rotation socket - Iliya Katueshenock
- Cleanup: Group forward declarations at top of geometry set header - Hans Goudey
- Cleanup: merge key-map clear & free into one loop - Campbell Barton
- Cleanup: use strict flags for string utilities & cursor - Campbell Barton
- Cleanup: use sized integer type for BLF tags - Campbell Barton
- Cleanup: avoid redundant strlen calls - Campbell Barton
- Cleanup: Resolve const correctness in grease pencil API - Hans Goudey
- Cleanup: Rename grease pencil function to access layer at index - Hans Goudey
- Cleanup: remove empty comment section - Jacques Lucke
- Cleanup: Make format - Harley Acheson
-
Cleanup: Use
intern/render_types.hfor lineart_cpu.c - ChengduLittleA - Cleanup: Make Format - Jeroen Bakker
- Cleanup: avoid shadowing variables - Campbell Barton
- Cleanup: reduce right shift in ui_litem_layout_radial - Campbell Barton
- Cleanup: Make Format - Jeroen Bakker
- Cleanup: -Wmissing-braces compiler warning - Sergey Sharybin
- Cleanup: Move sculpt mask fill to lambda, remove data struct - Hans Goudey
- Cleanup: Sculpt: Use C++ threading API - Hans Goudey
- Cleanup: compiler warning - Brecht Van Lommel
- Cleanup: Move softbody.c to C++ - Hans Goudey
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: remove unnecessary hasattr check - Campbell Barton
- Cleanup: remove 'apple' variable for key-map parameters - Campbell Barton
- Cleanup: various non-functional C++ changes - Campbell Barton
- Cleanup: quiet CMake uninitialized variable warning, sort file lists - Campbell Barton
- Cleanup: Move depsgraph headers to C++ - Hans Goudey
- Cleanup: remove spaces from commented arguments - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Remove unnecessary struct keyword from newly C++ headers - Hans Goudey
- Cleanup: Add nodiscard to BitSpan and BitVector lookup methods - Hans Goudey
- Cleanup: Small changes in node interface item addition - Hans Goudey
- Cleanup: Remove unused sculpt mask expand operator - Hans Goudey
- Cleanup: Make format - Harley Acheson
- Cleanup: locate break statements inside the case body - Campbell Barton
- Cleanup: use braces in headers - Campbell Barton
- Cleanup: rename DNA_genfile.h functions - Campbell Barton
- Cleanup: Geometry Nodes: move functions to a more reusable place - Jacques Lucke
- Cleanup: sort DNA rename defines (as noted in comments) - Campbell Barton
- Cleanup: correct typo "hardeness" to "hardness" in DNA & variable names - Campbell Barton
- Cleanup: use const SDNA for DNA_struct_member_offset_by_name - Campbell Barton
- Cleanup: use _by_name(..) suffix for DNA patching functions - Campbell Barton
- Cleanup: use _with_alias(..) suffix for SDNA functions that uses aliases - Campbell Barton
- Cleanup: use aliased struct name for BLO_get_struct_id_by_name - Campbell Barton
- Cleanup: prefer using with_alias(..) lookup functions - Campbell Barton
- Cleanup: remove references to DNA_struct_find - Campbell Barton
- Cleanup: remove commented DNA_struct_member_exists check - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: avoid redundant loop extruding face regions - Peng Yan
- Cleanup: use C++ comments for disabled code - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: GPv3 layer tree manipulations - Falk David
- Cleanup: Move BKE_screen.h to C++ - Hans Goudey
- Cleanup: Remove unnecessary struct keyword in BKE_screen.hh - Hans Goudey
- Cleanup: Consistency between asset-extended menu UI templates - Hans Goudey
- Cleanup: Move logic out of loops, remove unnecessary ui sublayouts - Hans Goudey
- Cleanup: Make format - Jeroen Bakker
- Cleanup: add missing include, use nullptr literal - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: use C++ style casts in GHOST/Wayland - Campbell Barton
- Cleanup: use initializer list for all GHOST_SystemWayland members - Campbell Barton
- Cleanup: update code comments for wayland cursor locking - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Missing includes and forward declarations in header - Hans Goudey
- Cleanup: Make format - Hans Goudey
- Cleanup: Make format - Harley Acheson
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: quiet ASAN warning with invalid value for eButGradientType - Campbell Barton
- Cleanup: Nodes: Simplify drawing function - Lukas Tönne
- Cleanup: Make format - Hans Goudey
- Cleanup: Move sculpt mask update to a separate function - Hans Goudey
- Cleanup: Move sculpt mask update to a separate function - Hans Goudey
- Cleanup: Make PBVH iter mask not a pointer - Hans Goudey
- Cleanup: quiet missing declaration warning - Campbell Barton
- Cleanup: format - Campbell Barton
- Cleanup: correct struct comments & help text for batch loading utility - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: pass const ID properties to path creation functions - Campbell Barton
- Cleanup: use since quotes for enum values, wrap multi-line brackets - Campbell Barton
- Cleanup: Geometry Nodes: pass selection by varray instead of field - Jacques Lucke
- Cleanup: Make format - Harley Acheson
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Strict compiler arning - Sergey Sharybin
- Cleanup: Suppress strict compiler warning for external code - Sergey Sharybin
Collada
- Collada: add bone collection support - Sybren A. Stüvel
Command Line
- Command Line: Remove Disabling SSBO - Jeroen Bakker
Console
- Console: add support for displaying tab-stops - Campbell Barton
Curve
- Curve: adjust behavior of invert selection for bezier handlers - Campbell Barton
Curves
- Curves: Add RNA API to add points - Hans Goudey
CurvesGeometry
- CurvesGeometry: Add initial vertex group support - Falk David
Cycles
- Cycles: make transmission color in Pricipled BSDF match the base color - Weizhen Huang
- Cycles: Disable NanoVDB if not needed when specialising Metal PSOs - Michael Jones
- Cycles: Fix #107714: Leak during MetalRT BVH buid - Michael Jones
- Cycles: Add Metallic Tint to Principled BSDF using F82-Tint model - Lukas Stockner
- Cycles: Throttle MetalRT BVH builds to avoid exceeding working set limits - Michael Jones
- Cycles: Fix last failing unit test (T39823) on MetalRT - Michael Jones
- Cycles: oneAPI: fix perf regression by inlining svm_node_closure_bsdf - Xavier Hallade
- Cycles: oneAPI: fix device compilation with latest MSVC - Xavier Hallade
DNA
- DNA: prevent leak running ensure alias functions multiple times - Campbell Barton
- DNA: add a DNA offset lookup function that supports aliased names - Campbell Barton
- DNA: add alias version of DNA_struct_exists - Campbell Barton
- DNA: differentiate with/without alias versions of SDNA lookup functions - Campbell Barton
DRW
- DRW: Add SubPassTransition pass command - Clément Foucault
Docs
- Docs: update code-comments for sys.exit() & handling SystemExit - Campbell Barton
- Docs: add warning regarding WM_redraw_windows - Campbell Barton
- Docs: improve doc-strings & grouping for DNA lookup functions - Campbell Barton
EEVEE
- EEVEE: optimize principled BSDF by skipping unused components - Brecht Van Lommel
- EEVEE: Add support for metallic F82 tint - Clément Foucault
- EEVEE: Fix Shader Compilation - Jeroen Bakker
-
EEVEE: Change
do_multiscatterto aboolinternally - Clément Foucault
EEVEE Next
EEVEE-Next
- EEVEE-Next: Deferred: Add combine pass - Clément Foucault
- EEVEE-Next: Port SSS profile to Pre-compute shader - Clément Foucault
- EEVEE-Next: Deferred: Add combine pass - Clément Foucault
- EEVEE-Next: Raytrace: Add Diffuse Ray - Clément Foucault
- EEVEE-Next: Fix World Reflection During Raytracing - Jeroen Bakker
- EEVEE-Next: Port subsurface to compute shader - Clément Foucault
- EEVEE-Next: Irradiance Grid clip distance and probe alignment - Miguel Pozo
- EEVEE-Next: Fix Hair and Curves motion vectors - Miguel Pozo
- EEVEE-Next: Shadow Map Tracing Initial Implementation - Clément Foucault
- EEVEE-Next: Add tracing options for diffuse rays - Clément Foucault
EEVEE-Next
- EEVEE-Next : Object visibility settings for probes - Miguel Pozo
FIX #110946
Fix
- Fix: Exception creating geometry node group or node group socket - Hans Goudey
-
Fix: EEVEE: implicit cast from
floattoboolin Multiscatter GGX - Weizhen Huang - Fix: Vulkan Grid Overlay - Jeroen Bakker
- Fix: GPU Incorrect Padding For Globals - Jeroen Bakker
- Fix: Cycles: assert error in microfacet BSDF - Weizhen Huang
- Fix: Box select not working with tweak took in VSE - Richard Antalik
- Fix: assert when inserting simulation or repeat zone - Jacques Lucke
- Fix: segfault in geometry nodes with logging - Jacques Lucke
- Fix: Crash drawing node with null panel name - Hans Goudey
- Fix: Changing theme color for recent additions doesn't save - Philipp Oeser
- Fix: bl_previews_render.py still using lamp.falloff_type - Philipp Oeser
- Fix: UI: Don't show padding buttons in menus - Leon Schittek
- Fix: Extra period in menu descriptions - Hans Goudey
- Fix: Debug build error after recent cleanup - Hans Goudey
- Fix: Crashes in geometry nodes group data-block polls - Hans Goudey
- Fix: Missing "Add Shortcut" for node group operator - Hans Goudey
- Fix: Improve button alignment of single value node group operator inputs - Hans Goudey
- Fix: Swapped icons in node tool header popover - Hans Goudey
- Fix: Missing units in quadrilateral node points inputs - Hans Goudey
- Fix: UI: garbage string when invoking search from menu - Jacques Lucke
- Fix: Correct UI string in previous fix - Hans Goudey
- Fix: EEVEE-Next: Surfel debug draw - Miguel Pozo
- Fix: Cached distortion grids are not reset - Omar Emara
- Fix: Grammar in operator description - Hans Goudey
- Fix: EEVEE-Next: Ensure volume property textures are cleared - Miguel Pozo
- Fix: Node tools shortcuts don't display in menus - Hans Goudey
- Fix: try to call unavailable operator - Jacques Lucke
- Fix: assert due to missing topology cache - Jacques Lucke
- Fix: Show mesh data tab while using EEVEE Next - persun
- Fix: Missing node asset menu updates after mark asset - Hans Goudey
- Fix: EEVEE-Next: Irradiance Grid minor fixes - Miguel Pozo
- Fix: Crash deleting geometry nodes node group - Hans Goudey
- Fix: Use disabled status for non-selected node tool modes and types - Hans Goudey
- Fix: simulation nodes not working after copying object - Jacques Lucke
- Fix: Expose GPv3 RNA only in experimental - Falk David
- Fix: Missing node asset unassigned non-asset label - Hans Goudey
- Fix: Assert requesting vertex group for unsupported object type - Hans Goudey
- Fix: Missing node group name in non-asset node tool redo panel - Hans Goudey
- Fix: Extra menu separator with node tools in nested menus - Hans Goudey
- Fix: Compile error from unused module requested in CMake - Hans Goudey
- Fix: crash when entering edit mode on mesh used as start/end cap - Jacques Lucke
- Fix: remove non-functional choice of weightpaint mode from lattices - Philipp Oeser
- Fix: DRW: Flickering and sync in Metal - Jason Fielder
- Fix: Theme color for sub-channels not exposed in NLA Preferences - Philipp Oeser
- Fix: Set node interface item active when added with link-drag-search - Hans Goudey
- Fix #100596: Use sequencer override camera for line art in render - ChengduLittleA
- Fix #103284: Cycles uses sampling pattern from debug UI - Alaska
- Fix #107030: return accurate action frame ranges from the Python API - Nathan Vegdahl
- Fix #107353: array cap broken on empty mesh - Jacques Lucke
- Fix #109599: Setting custom normals can skip marking some edges sharp - Hans Goudey
- Fix #111117: Partially revert a280e8a6 - Martijn Versteegh
- Fix #111532: Partial Update Byte Data Texture with Scaling Broken - Jeroen Bakker
- Fix #111588: Cycles: Vector displacement with adaptive subdiv breaks normal - Lukas Stockner
- Fix #112011: PLY export broken when mesh contains faces with >255 vertices - Aras Pranckevicius
- Fix #112022: allow vertex groups and attributes with same names again - Jacques Lucke
- Fix #112059: Anim, Unable to add drivers to bone collections visibility - Sybren A. Stüvel
- Fix #112180: Noise with high detail and lacunarity outputs erratic values - Hoshinova
- Fix #112258: Resolve broken volumetric world materials in Metal - Jason Fielder
- Fix #112351: Sculpt implicit sharing thread safety crash - Hans Goudey
- Fix #112439: Don't allow hiding sockets of Reroute node - Iliya Katueshenock
- Fix #112441: Restore Key Map Item does not restore the active property - Pratik Borhade
- Fix #112462: Panel buttons remain active after redrawing - Lukas Tönne
- Fix #112490: Always draw socket icons in "hidden" nodes - Lukas Tönne
- Fix #112541: Tooltip for "Set Tool by Name" crashes in operator search - Campbell Barton
- Fix #112588: Hide node panels when all sockets are hidden - Lukas Tönne
- Fix #112604: Add "tag" to the tool tip of asset search - ChengduLittleA
- Fix #112610: Nested pie menu items can't be selected - Campbell Barton
- Fix #112622: draw_color_simple is optional for custom nodes - Lukas Tönne
- Fix #112632: crash batch generating previews with Cycles - Brecht Van Lommel
- Fix #112642: Anchor Word Start For Double-click Word Select - Harley Acheson
- Fix #112645: switching view transform unnecessarily resets look - Brecht Van Lommel
- Fix #112650: UI: Missing Header Status in Node Editor after Turning off Auto-offset - Pratik Borhade
- Fix #112664: Expand face sets freeze when cursor is on mesh boundaries - Philipp Oeser
- Fix #112675: Workbench: Shadows disabled for active object - Miguel Pozo
- Fix #112736: Don't do Subpixel AA if not Antialised - Harley Acheson
- Fix #112761: Sequencer tweak tool does not box-select - Campbell Barton
- Fix #112802: EEVEE-Next: Invalid weight when mixing closures - Clément Foucault
- Fix #112814: New geometry nodes always named "Tool" - Hans Goudey
- Fix #112817: Nodes incorrectly "fully masked" after expand face sets - Hans Goudey
- Fix #112817: Nodes incorrectly "fully masked" after expand face sets - Hans Goudey
- Fix #112831: Cycles: Kernel assert and NaN in Sheen - Lukas Stockner
- Fix #112867: Workbench: Final render fails to render hair - Miguel Pozo
- Fix #112896: Search menu: First character remains in text field - Pratik Borhade
- Fix #112900: Asset displaying mesh with hiding and no material indices - Hans Goudey
- Fix #112904: Outliner: Bones appear in different places in different modes - Pratik Borhade
- Fix #112909, #112922: Weld modifier crashes in some situations - Germano Cavalcante
- Fix #112916: crash when changing active repeat item - Jacques Lucke
- Fix #112933: Fix codegen issue on MSVC 17.7 - Iliya Katueshenock
- Fix #112957: Incorrect PBVH multires grid iteration - Hans Goudey
- Fix #112961: Crash marking Collection as an Asset - Hans Goudey
- Fix #112963: EEVEE: Wrong specular from lights - Clément Foucault
- Fix #112985: Outliner header context menu shows asset operators - Julian Eisel
- Fix #112990: save pre/post/post/fail don't run for unwritable paths - Campbell Barton
- Fix #113002: Fix Crash When Loading Previous Settings - Jeroen Bakker
- Fix #113011: delete unused anonymous attributes in capture attribute node - Iliya Katueshenock
- Fix #113013: Make in_out socket property read-only and remove the button - Lukas Tönne
- Fix #113052: Node panel state change not updating Node Editor - Philipp Oeser
- Fix #113078: Texture paint masking options are always visible - Pratik Borhade
- Fix #90732: UI "Copy to Selected" crash with custom properties - Campbell Barton
- Fix #97628: Clear and Keep Transformation not working when keyed - Christoph Lendenfeld
- Fix 1 pixel overlap in tool or asset shelf header background drawing - Julian Eisel
- Fix 110976: Sequencer Scope Artifacts on NVIDIA 30/40 Series - Jeroen Bakker
- Fix 112641: OpenGL Shader Draw Parameter Workaround Broken - Jeroen Bakker
- Fix AppIcon on macOS - Francesco Siddi
- Fix AttributeError: module 'urllib' has no attribute 'parse' - Germano Cavalcante
- Fix BKE_deform.h compilation error on windows - Falk David
- Fix Cycles OSL potentially skipping closures when using layering - Lukas Stockner
- Fix Cycles missing specular tint for transmissive Principled BSDF - Alaska
- Fix Hydra not being disabled when USD library not found on Linux - Brecht Van Lommel
- Fix Python exceptions from RNA methods showed twice - Campbell Barton
- Fix Realtime Compositor: Fix shader compilation on Metal - Clément Foucault
- Fix UI "Copy Data Path" missing the trailing index for array properties - Campbell Barton
- Fix assert accessing bone collection enum - Campbell Barton
- Fix background drawing in tool header after changing tools - Julian Eisel
- Fix bf_animation_fcurves tests failing depending on preferences - Campbell Barton
- Fix broken UV header caused by out-of-range value in DNA - Campbell Barton
- Fix build error after make format cleanup - Brecht Van Lommel
- Fix clang link error after recent changes in 462010c - Brecht Van Lommel
- Fix copy-to-selected mix up with custom property names - Campbell Barton
- Fix crash drawing in the sequencer when Scene::ed is null - Campbell Barton
- Fix crash in geo_node_* tests, missing null check - Campbell Barton
- Fix crash running "Operator Cheat Sheet" - Campbell Barton
- Fix crash when toggling link linking state in the list - Sergey Sharybin
- Fix crashes drawing in the sequencer - Campbell Barton
- Fix crashes for some operators poll functions in background mode - Campbell Barton
- Fix division by zero when split regions are hidden - Julian Eisel
- Fix documentation build (validation?) error - Julian Eisel
- Fix duplicate items in edit-mesh select similar enum - Campbell Barton
- Fix duplicate preference key shortcut on macOS, causing test failure - Brecht Van Lommel
- Fix duplicated member in grid view item class - Julian Eisel
- Fix error comparing the ID property float sub-type - Campbell Barton
- Fix error displaying exceptions in some cases - Campbell Barton
- Fix error displaying sequencer retiming menu without an active strip - Campbell Barton
- Fix error in area calculation for polyfill beautify calculation - Peng Yan
- Fix excessive padding at bottom of nodes with panels - Brecht Van Lommel
- Fix incorrect function name in foreach_get/foreach_set exceptions - Campbell Barton
- Fix incorrect item position returned for items in the root panel - Lukas Tönne
- Fix incorrect preview tile button size label height - Julian Eisel
- Fix intern/dualcon error in 2721b937fb5a641cc25eda56b704ca2553bd2cfe - Campbell Barton
- Fix memory leak for builds without fluid simulation enabled - Campbell Barton
- Fix memory leak from loading files with legacy grease pencil palettes - Campbell Barton
- Fix memory leak when the explode modifier is used with vertex groups - Campbell Barton
- Fix memory leak with volume shaders with the workbench engine - Campbell Barton
- Fix missed header change from a9f0d19197e83ae6be7c1ccc71770361be16f742 - Campbell Barton
- Fix missing BSDF nodes in add menu with Hydra render engines - Brecht Van Lommel
- Fix mouse cursor failing to update for blocking actions on Wayland - Campbell Barton
- Fix mouse cursor failing to update for blocking actions on Wayland - Campbell Barton
- Fix node socket connection util after changes to the interface API - Damien Picard
- Fix reported build failure due to missing ostream include - Aras Pranckevicius
- Fix snap versioning error - Germano Cavalcante
- Fix subsurface scattering radius UI being unnecessarily compact - Brecht Van Lommel
- Fix tools header background aligns wrong if region is flipped to bottom - Julian Eisel
- Fix tooltip showing button label redundantly (regression) - Julian Eisel
- Fix word selection at the beginning & end of the string - Campbell Barton
- Fix word selection in the console failing past line end - Campbell Barton
Follow up to fix for #111117, remove array/collection length lookup
- Follow up to fix for #111117, remove array/collection length lookup - Campbell Barton
GHOST/Wayland
- GHOST/Wayland: follow SDL's method of XDG window initialization - Campbell Barton
GL
- GL: Add subpass input emulation - Clément Foucault
-
GL: Fix depth clearing with
clear_attachment- Clément Foucault - GL: Add support for loadop - Clément Foucault
- GL: Subpass transition fix with GPU_ATTACHEMENT_IGNORE - Clément Foucault
- GL: Remove Apple platform specific workarounds - Clément Foucault
GPU
- GPU: Shader Builder: Guard OpenGL builder with flag - Clément Foucault
- GPU: Remove GPU_shader_storage_buffer_objects_support - Jeroen Bakker
- GPU: add pragma once to GPU_shader_shared.h - Clément Foucault
- GPU: Add platform parameter for GPU architecture - Jason Fielder
GPencil
GPv3
- GPv3: Re-evaluate object after deleting keyframes - Pratik Borhade
- GPv3: Add statistics information - Pratik Borhade
Geometry
Geometry Nodes
- Geometry Nodes: use lazy evaluation in repeat zone - Jacques Lucke
- Geometry Nodes: Filter data-block buttons for tools and modifiers - Hans Goudey
- Geometry Nodes: Disable viewer node shortcut in tool context - Hans Goudey
- Geometry Nodes: Don't require geometry input for "Mode to Nodes" - Hans Goudey
- Geometry Nodes: Add option to force inputs to be single values - Hans Goudey
- Geometry Nodes: support baking individual simulations - Jacques Lucke
- Geometry Nodes: Require modifier tag for add menu, show non-assets - Hans Goudey
- Geometry Nodes: Expose non-asset tools - Hans Goudey
- Geometry Nodes: Fix Support for extending nested menus with assets - Hans Goudey
- Geometry Nodes: add Inspection Index to Repeat Zone - Jacques Lucke
- Geometry Nodes: Store tool group in a separate editor property - Hans Goudey
- Geometry Nodes: Move node tools out of experimental - Hans Goudey
- Geometry Nodes: add utility for debug randomization of instances - Jacques Lucke
Hydra
- Hydra: export Blender shader nodes as MaterialX node graph - Bogdan Nagirniak
ImBuf
- ImBuf: don't include null bytes for jpeg meta-data markers - Campbell Barton
- ImBuf: calculate the JPEG DPI with double precision - Campbell Barton
Keymap
- Keymap: Add shortcut to open Preferences - Pablo Vazquez
- Keymap: IC, regions shortcuts and fixed inconsistencies - Julien Kaspar
- Keymap: IC, minor adjustments based on user requests - Julien Kaspar
- Keymap: restore most used brush shortcuts - Julien Kaspar
Lattice
- Lattice: avoid error when drawing properties panel - Sybren A. Stüvel
Light linking
- Light linking: Make list interface look more similar to other places - Sergey Sharybin
- Light linking: Use checkbox icons for state indication - Sergey Sharybin
- Light linking: Allow re-ordering in the light linking collections - Sergey Sharybin
MEM_guarded_alloc
- MEM_guarded_alloc: restore execinfo.h back-trace on Linux/Apple - Campbell Barton
Makefile
- Makefile: remove redundant directory changing - Campbell Barton
Mesh
- Mesh: show attribute name collision warning in more panels - Jacques Lucke
Metal
- Metal: Add support for storage buffer copy_sub - Jason Fielder
- Metal: Add support for atomic image operations - Jason Fielder
- Metal: Fix texture atomic wrapper - Clément Foucault
Node
- Node: use new zone type to deduplicate code - Jacques Lucke
Node drawing
- Node drawing: fix uninitialized node color return value - Lukas Tönne
Node groups
Nodes
-
Nodes: Rename
ui_itemsproperty toitems_tree- Lukas Tönne - Nodes: add internal node zone type - Jacques Lucke
- Nodes: deduplicate code for pairing zone nodes - Jacques Lucke
- Nodes: deduplicate rna definition of zone input nodes - Jacques Lucke
- Nodes: Move float values to "Value" node with link-drag-search - Hans Goudey
- Nodes: revert the inline (pass-through) socket feature - Lukas Tönne
PyAPI
- PyAPI: free internal Python data using sys.exit(..) - Campbell Barton
Python
- Python: support the step and precision arguments in rna_idprop_ui_create. - Alexander Gavrilov
Python API
- Python API: add specular tint texture support to node_shader_utils - Brecht Van Lommel
RNA
- RNA: set range for "uchar" type int property - Campbell Barton
- RNA: EnumPropertyItem values don't exceed the underlying range - Campbell Barton
- RNA: add RNA_path_from_ptr_to_property_index - Campbell Barton
- RNA: support passing template arguments to functions - Jacques Lucke
- RNA: don't generate declarations for templated functions - Jacques Lucke
RNA/BPY
Realtime Compositor
- Realtime Compositor: Implement Double Edge Mask node - Omar Emara
- Realtime Compositor: Implement Inpaint node - Omar Emara
- Realtime Compositor: Allow more result types - Omar Emara
- Realtime Compositor: Use Int2 images in JFA algorithm - Omar Emara
Refactor
- Refactor: Use asset representation from context instead of asset handle - Julian Eisel
- Refactor: Use asset representation for asset browser context query - Julian Eisel
- Refactor: Anim, move function for setting active bone collection by name - Sybren A. Stüvel
-
Refactor: anim, avoid function call in
draw_bone_relations()- Sybren A. Stüvel -
Refactor: simplify
visualkey_can_use()function - Sybren A. Stüvel - Refactor: anim, change if-elseif-else chain to switch + reduce iterations - Sybren A. Stüvel
- Refactor: anim, rename flag PCHAN_HAS_TARGET to PCHAN_HAS_NO_TARGET - Sybren A. Stüvel
- Refactor: Move NLA anim bake paremeters into dataclass - Nate Rupsis
Release cycle
- Release cycle: Bcon1 for Blender 4.1 - Thomas Dinges
- Release cycle: Bcon3 for Blender 4.0 - Thomas Dinges
Revert "3D View
- Revert "3D View: Do not recalculate the depth buffer for 'Auto Depth'" - Germano Cavalcante
Revert "Fix
- Revert "Fix: Box select not working with tweak took in VSE" - Richard Antalik
Revert "Release cycle
- Revert "Release cycle: Bcon3 for Blender 4.0" - Thomas Dinges
Revert "UI
- Revert "UI: File Loading Waiting Feedback" - Harley Acheson
Revert "install_linux_packages
- Revert "install_linux_packages: Raise LLVM default version to 15.0.7." - Brecht Van Lommel
Shader
- Shader: Change specular tint in Principled BSDF from float to color - Weizhen Huang
- Shader: use single Principled BSDF input for metallic and specular tint - Brecht Van Lommel
- Shader: rename subsurface scattering methods and change default - Brecht Van Lommel
- Shader: change Specular input on Principled BSDF to affect IOR - Lukas Stockner
Shaders
- Shaders: rename Principled BSDF Emission to Emission Color - Brecht Van Lommel
- Shaders: move subsurface scale input below radius in Principled BSDF - Brecht Van Lommel
- Shaders: clamp various shader inputs for Principled BSDF - Alaska
- Shaders: rename Specular to Specular IOR Level in Principled BSDF - Brecht Van Lommel
- Shaders: add "Weight" to Transmission/Subsurface/Coat/Sheen socket names - Brecht Van Lommel
Snap
- Snap: New icons - Germano Cavalcante
Tests
- Tests: move utilities into their own directory - Campbell Barton
- Tests: add batch blend file loading utility - Campbell Barton
Text objects
- Text objects: make CharInfo mat_nr zero-based - Philipp Oeser
UI
- UI: add extensions section (shown when extension repos are enabled) - Campbell Barton
- UI: Add Vertex Crease operator to vertex context menu - persun
- UI: improve vertical spacing in node panels - Brecht Van Lommel
- UI: Add tooltip to color picker modes - Pablo Vazquez
- UI: Add icon to Library Override menu entries - Pablo Vazquez
- UI: File Loading Waiting Feedback - Harley Acheson
- UI: Custom Tooltips Image Field Correction - Harley Acheson
- UI: shorten node socket labels when they start with the panel name - Brecht Van Lommel
- UI: draw node panels in material properties editor - Brecht Van Lommel
- UI: support drawing buttons inside node panels - Brecht Van Lommel
- UI: Replace UI Font with Inter Regular v3.19 - Harley Acheson
- UI: Minor layout and style adjustments in Preferences - Pablo Vazquez
- UI: Support additional console text operations - Harley Acheson
- UI: Remove dead space between tree view items - Julian Eisel
- UI: Remove File Browser "small_size" Feature - Harley Acheson
- UI: Discrete Thumbnail Sizes for Menus - Harley Acheson
- UI: Rename "No Catalog" node assets menus to "Unassigned" - Hans Goudey
- UI: Improve geometry nodes tool popover layout - Hans Goudey
- UI: Inter with Features ss01, ss02, and tnum - Harley Acheson
- UI: Use "unassigned" icon for assets in modifier and node add menus - Hans Goudey
- UI: Inter Font with regular (non-slashed) zero - Harley Acheson
- UI: show recently selected items at the top of searches - Jacques Lucke
- UI: Move "Reset Recent" inside a menu - persun
- UI: Remove redundant "Context Menu" in menu titles - Pablo Vazquez
- UI: Splash: Small changes to links and labels - Pablo Vazquez
- UI: About: Update links and labels - Pablo Vazquez
- UI: prioritize highlighted last words in string search - Jacques Lucke
- UI: Remove duplicate Make Library Override in Object menu - Pablo Vazquez
- UI: Updating Animation Editors snapping from 'Modes' to no icon - Nate Rupsis
- UI: Remove Masking dropdown from tool settings - Pablo Vazquez
- UI: Change Overlay Text Size with Label Text Style - Harley Acheson
- UI: Move Bone Wireframe Opacity to general overlays - Pablo Vazquez
- UI: Match Node Editor Node menu with Context menu - Pablo Vazquez
- UI: Allow popover panels to register own notifier listeners - Julian Eisel
- UI: Hide asset shelf by default - Julian Eisel
- UI: Draw 3D view tools header transparent with background behind buttons - Julian Eisel
- UI: Draw Image editor tool header transparent with button background - Julian Eisel
- UI: fix and improve a few messages - Damien Picard
- UI: Splash Screen Changes - Harley Acheson
- UI: don't access recent-search.txt when disabled or in background mode - Campbell Barton
- UI: don't access recent-search.txt when disabled or in background mode - Campbell Barton
- UI: Show Waiting Mouse Cursor While File Loading - Harley Acheson
- UI: Allow Separate Configuration of Subpixel Antialiasing - Harley Acheson
- UI: Less Cursor Changes While Loading Files - Harley Acheson
- UI: Anchor Right When Double-Clicking Last Word - Harley Acheson
- UI: UI: Anchor Right When Double-Clicking Last Word - Harley Acheson
USD
- USD: improve I/O of emission color in preview surface - Brecht Van Lommel
Use bool for each condition
- Use bool for each condition - Germano Cavalcante
VSE
- VSE: Improve retiming UI - Richard Antalik
Vulkan
- Vulkan: Show Missing Implementations - Jeroen Bakker
- Vulkan: Use Point Shaders When Drawing Points - Jeroen Bakker
- Vulkan: Rework Initializing/Allocating Textures - Jeroen Bakker
- Vulkan: Add support for Framebuffer Depth Blit - Jeroen Bakker
- Vulkan: Fix Blitting Extents - Jeroen Bakker
WM
- WM: ensure wmEvent::utf8_buf isn't treated as a null terminated string - Campbell Barton
Windows
- Windows: Update Min OpenGL Version - Jeroen Bakker
addr2line_backtrace
- addr2line_backtrace: fix error printing absolute paths are relative - Campbell Barton
blenloader
- blenloader: use aliased names for versioning checks - Campbell Barton
deps_builder
- deps_builder: OIIO validate deps at configure time - Ray Molenkamp
- deps_builder: Fix missing Webp support in OIIO build on windows - Ray Molenkamp
macOS
- macOS: upgrade to Xcode 15 - Brecht Van Lommel
25 Comments
Hey, Pablo how's it going? It's been a while since I've asked any questions, so hope you are doing well.
I'm just curious, when will Blender get some substantial updates to the physics systems? I love all aspects of Blender except the Physics part because compare to other DCCs, it's probably the part that's lacking the most and hasn't had any substantial updates in the last year or so. The new simulation nodes are great but I think it's just loops for now and there are no physics solvers yet, so would there be any update on that in the near future, like node based smoke, liquid, rigid body, soft body, grains, fracture etc.? Seems like currently there's only one DCC that has become the monopoly of FX sims and although other softwares don't have quiet the same level of solver features and quality like that "Dini" software, they have an extensive amount of 3rd party plugins for physics sims which Blender currently lacks (Flip fluids is great but it's not good enough for large scale sims), so it feels helpless for Blender users lol.
Would there be something similar to the Fracture modifier but in geometry nodes in future? That would be really powerful and something out of wet dreams of the VFX people who are using Blender.
Also, would there be another "Blender is" type of collab video after 4.0 release?
xth for XPBD!
Hola Pablo! If you create a grid, select all the faces and shrink the selection it doesn't do anything. Bug or feature? I should remove all the polys on the edges of the grid, no?
@Blender_Bob Hi I think I understand what you're experiencing, but where should you start to shrink the selection or expand the selection if everything is already selected? It's based on basic logic.
I assume you are using "CTRL and Numpad+" or "CTRL and Numpad-" to do that.
If you don't want to manually select the edges, you can do the following:
Deselect boundary is what it should do.
Hi Pablo! I hope you're doing well! I have a very quick question:
The current primitives in the add menu are pretty...well, primitive. I wanted to know, is there a plan to replace the current primitives with geometry node primitives such that we can edit the size, subdivisions, dimensions etc. non-destructively later?
Like, instead of adding a default cube through the add menu, it'd add an empty with a cube geonode primitive with the components exposed.
I understand this would add an extra step when going to edit mode as we'd have to apply the geonode modifier but I feel like a prompt to apply the stack would alleviate that.
Thank you!
Hi Pablo, i am always watching the stream, but always forget to leave a comment here! ;P
I am curious if there is any plans or work on enabling more stylistic rendering. In my current project i've had to render the same shots in both EEVEE and cycles at the same time, to get realistic lighting, but also have cell-shaded look for my characters.
EEVEE's shader to rgb node, is the backbone of most stylistic shaders, but since cycles still doesn't have an equivalent or alternative, i feel i'm often stuck trying to achieve my stylistic ideas whilst having accurate and beautiful lighting
Hola Pablo,
Any chance we can get face maps to return as an addon? I know you said that we should use attributes. But i don't know how to use attributes as selection storage for use in Edit mode.
Chao
Hi Pablo, following the post on the Animation Layers for the Project animation 2025 you answered last time (thanks for dedicating the time to answer af the live).
It seems that instead of multiple actions now we're gonna have multiple animations which each can have multiple layers, is that correct? Currently I can export the fbx model to a game engine and if the animations are separated by action (Walk, run, jump, idle) the engine auto-understand and separate those for me without the need to export thousands of skeletons or manually cutting a huge animation in engine. Know if this will still be possible using the new system using this new multiple animations approach?
Hi, are there any plans to change how you delete materials etc.? the fake user stuff is very unintuitive imo.
Hey pablo hope everything is going good you are looking awesome with your awesome hair Blender is spreading like a Wildfire in India we want to support this awesome software whole hearted we would just request you to activate payment through upi it would help us a lot
PLEASE ACTIVATE "PAYMENT THROUGH UPI"
It is the most fastest way we can pay you and I will also recommend all the others who are watching my YouTube channels in local language to pay for Blender development fund
FYI Pablo, UPI is a digital payment system in India. Its a direct bank a/c to bank/ac transfer system. Its a ubiquitous payment method and used actively in day to day life and online transactions. Imagine its like Apple Pay/Venmo/Google Pay but you can use any app to facilitate payment.
I agree with Pranay that implementing UPI as a payment options will make much much easier for Indians to make contributions to the dev fund.
Chao
Hola Pablo!
A request that was made multiple times through the years is differentiating how linked duplicates/instances look in the Outliner. Even though we can see if an object is instanced/linked in its properties, I think being able to see it at a glance in the Outliner would be extremely useful. These are a couple of proposals that I liked: blender.community/c/rightclickselect/Btcbbc/ blender.community/c/rightclickselect/Z8Pv/
Cheers!
I as a regular user of Blender openly offended that in recent versions, in particular in the long-awaited version 4.0 developers have completely forgotten about the new modeling features! Blender is primarily an editor for modeling! I want to see new modeling features. Why did they stop improving Bevel, Extrude, Retopology, Lattice, Array, Mesh Deform tools?
Reconsider "Shaders: clamp various shader inputs for Principled BSDF". Clamping values such as emission strength will seriously hinder the creative applications of Cycles. Already many effects that are needed in stylized workflows require obtuse solutions in Blender. I am surprised this change is going on without any pushback or interest.
Hey Pablo, quick question regarding all searches prioritizing recently search items. Are there any plans to allow for disabling this on specific operators? (at least in the API)
As an addon dev, I'm having problems with it overriding how I'd like my addons' searches to behave, as it takes priority no matter what sorting I use on my addon. This ruins the intended UX, and currently the only option to turn it off is a global user preference that applies to all search operators, something I won't have control over as an addon developer.
Please add ""edit node" for geometry nodes. Also what happened with keymesh addon
Hi Pablo. Is there any difference between "location" and "position" attributes in Geometry nodes? If it's just a naming inconsistency, then... why?
Also I I would request all the code committer to at least post an image of what they have done so that we could spread the word Very quickly especially in India as we have lots of languages so it will be easy for us
As the proverb goes "a picture speak thousand words"
oi, Pablo!
This isn't my question, this week- a friend asked me about IK systems! They work great for humans, but anything with more than 2 joints is a bit of trouble- IK wants to limit the movement of one end of the chain, and people are coming up with very complex setups to get around this. Is there anyone looking at IK algorithms or making them more extensible, like by allowing multiple poles, or stiffness per joint? As well, adding a pole makes the first joints floppier, and the last joints stiffer, for 3+ bones, it seems.
for me- the vector curves and color curves in the shader editor does not have the spline math fix yet! just found it!
Hi Pablo! Recently I discovered that Cycles does not do Motion Blur for objects that have variable topology. I've searched all over the internet for a way to do this, but I haven't found anything. It's mainly about animated procedural objects from GeoNodes. Do you know what native tools are used in Blender in such situations? I know that Pixel Motuion Blur can be used in post-production - but from what I understand it is not available natively either.
If you store a "velocity" named attribute in geometry nodes, Cycles uses it to generate the motion blur, it is supported but maybe not intuitive.
This may help: Big Motion Blur Issues In Cycles (And How To Fix) youtu.be/E__Jrqy-JL4
Wait what. This is awesome. "Velocity" with value 1 - I tested it right away and it works nice. It's amazing that I couldn't find this information anywhere in official sources or through user forums. Thanku you!
This works with all other "anonymous" attributes as well you can replace "normal", "position" or even the default "uvmap" attributes with custom stuff just by creating a named attribute with the same name.