Blender 4.4 Beta + New LTS! - Blender Today LIVE #254
Changelog between February 04, 2025 - February 18, 2025 at 12h
468 commits in total, of which 120 are fixes and 85 cleanup.
API Docs
- API Docs: Add some more precisions about calling init for Blender-derined classes. - Bastien Montagne
Anim
- Anim: change RNA Action.id_root to have backwards-compatible behavior - Nathan Vegdahl
- Anim: ensure correct type prefix when setting Slot.identifier - Nathan Vegdahl
- Anim: make copy-paste of keyframes slot-aware - Sybren A. Stüvel
-
Anim: add RNA
Channelbag.slotproperty - Nathan Vegdahl -
Anim: remove
ActionLayer.mix_modeand.influencefrom RNA - Sybren A. Stüvel - Animation: Allow overriding transform locks on posed bones. - Bastien Montagne
Assets
- Assets: Update submodule hash - Sean Kim
- Assets: Update submodule hash - Sean Kim
- Assets: Update submodule hash - Sean Kim
BPY
- BPY: Fix weak access to Main data from bpy.data API. - Bastien Montagne
Build
- Build: Enable custom USD namespace for Blender again - Brecht Van Lommel
- Build: Add OpenSubdiv patch to silence ASAN warnings - Brecht Van Lommel
- Build: Upgrade Intel Graphics Compiler to 2.1.14 on Linux - Nikita Sirgienko
- Build: Add Blackwell to OIDN GPU architectures - Patrick Mours
- Build: Auto clear CMake cache variables for 4.4 library update - Brecht Van Lommel
- Build: Remove unused PCRE dependency - Jonas Holzman
- Build: Fix intel-graphics-compiler archive filename. - Sebastian Parborg
CMake
- CMake: Windows add opencolorio to PLATFORM_ENV_BUILD_DIRS - Ray Molenkamp
- CMake: support using LIBDIR while building against an external Python - Campbell Barton
Cleanup
- Cleanup: Vulkan: Remove resource locking when reordering nodes - Jeroen Bakker
- Cleanup: Use StringRef for some WM and UI APIs - Hans Goudey
- Cleanup: Correct asset function comment - Julian Eisel
-
Cleanup: Vulkan: Use
is_link_to_buffer- Jeroen Bakker - Cleanup: Remove transform parameter now that asset folder was updated. - Thomas Dinges
-
Cleanup: Anim: rename
identifier_prefix_for_idtypetoidtype_string- Nathan Vegdahl - Cleanup: Grease Pencil: Add comments about attributes assumptions - Falk David
- Cleanup: Rename object materials "test" functions - Hans Goudey
- Cleanup: quiet check_spelling_* warnings, use doxygen doc-strings - Campbell Barton
- Cleanup: improve code-comments & naming for window decoration styles - Campbell Barton
- Cleanup: rename "GL" selection to "DEPTH" - Campbell Barton
- Cleanup: use const arguments & variables where appropriate - Campbell Barton
- Cleanup: remove redundant checks - Campbell Barton
- Cleanup: avoid double precision loss when converting to/from floats - Campbell Barton
- Cleanup: pass std::string arguments by reference instead of value - Campbell Barton
- Cleanup: use a more specific name for NDOF's guide - Campbell Barton
- Cleanup: Cycles: improve comments and variable names of bump-related functions - Weizhen Huang
- Cleanup: Compiler warning - Weizhen Huang
-
Cleanup: Cycles: use utility struct
Intervalto improve readability - Weizhen Huang -
Cleanup: Cycles: add utility function
is_circular()for Huang Hair - Weizhen Huang - Cleanup: correct misleading variable name - Campbell Barton
- Cleanup: Remove unnecessary "using" statements - Hans Goudey
- Cleanup: Use StringRef for UI search menu code - Hans Goudey
- Cleanup: add license header & minor changes - Campbell Barton
- Cleanup: correct spelling in comments (check_spelling_*) - Campbell Barton
- Cleanup: quiet compiler warnings WITH_INPUT_NDOF=OFF - Campbell Barton
- Cleanup: quiet unused argument warning - Campbell Barton
- Cleanup: Subdiv: Remove common_ prefix - Jeroen Bakker
- Cleanup: Subdiv: Move shaders to draw_shader - Jeroen Bakker
- Cleanup: Nodes: use utility method to check if node is undefined - Jacques Lucke
- Cleanup: cmake formatting, sort file lists - Campbell Barton
- Cleanup: quiet check_spelling_* warnings - Campbell Barton
- Cleanup: GPU: Remove unused Transform Feedback implementation - Clément Foucault
- Cleanup: GPU: Remove dependency on legacy common_math_lib.glsl - Clément Foucault
- Cleanup: Include in CSV import header - Hans Goudey
- Cleanup: Remove unnecessary indirection in CSV importer - Hans Goudey
- Cleanup: Warning in format string in CSV importer - Hans Goudey
- Cleanup: Remove unused CMake dependencies for CSV import - Hans Goudey
- Cleanup: de-duplicate numbered key definition with loop - Campbell Barton
- Cleanup: quiet warnings & simplify Popen use in project_source_info - Campbell Barton
- Cleanup: remove unused function - Campbell Barton
- Cleanup: remove redundant use of PARM_PYFUNC_OPTIONAL - Campbell Barton
- Cleanup: rename RNA parameter to clarify its meaning - Campbell Barton
- Cleanup: DRW: Remove unused legacy DRWViewport*List - Clément Foucault
- Cleanup: DRW: Remove global access function DRW_viewport_pixelsize_get - Clément Foucault
- Cleanup: DRW: Remove unused options - Clément Foucault
- Cleanup: Compositor: Remove is_int_type method - Omar Emara
- Cleanup: Fix C++20 deprecation warnings in Cycles - Brecht Van Lommel
- Cleanup: Remove unused patches - Brecht Van Lommel
-
Cleanup: OCIO intern wrapper: Use
MEM_new. - Bastien Montagne - Cleanup: DRW: Replace DRW_stats with GPU_debug - Clément Foucault
- Cleanup: Cycles: oneAPI: Switch to non-experimental work item API - Nikita Sirgienko
- Cleanup: Directly include DNA_userdef_types.h and BLI_listbase.h - Brecht Van Lommel
- Cleanup: wrap Python lines exceeding 120 - Campbell Barton
- Cleanup: reference imported types in class definitions - Campbell Barton
- Cleanup: don't sub-class other registered classes - Campbell Barton
- Cleanup: correct typo - Campbell Barton
- Cleanup: add doxy-sections to bpy_rna.cc - Campbell Barton
- Cleanup: Refactor VSE snapping code - Richard Antalik
- Cleanup: various non-functional changes for C++ - Campbell Barton
- Cleanup: remove unnecessary call to PyGILState_Ensure - Campbell Barton
- Cleanup: move Python's GIL ensure/release to the function start/end - Campbell Barton
- Cleanup: UI: Move related tree view functions closer together - Julian Eisel
- Cleanup: Add explicit defaults to MEM_new-allocated structs with no constructors. - Bastien Montagne
- Cleanup: Add explicit defaults to MEM_new-allocated structs with no constructors. - Bastien Montagne
- Cleanup: Tests: remove unnecessary --gpu argument - Habib Gahbiche
- Cleanup: Remove unused CustomData functions - Hans Goudey
- Cleanup: Missing custom data implicit sharing info in edit mesh undo - Hans Goudey
- Cleanup: Remove unnecessary const qualifiers in function declarations - Hans Goudey
- Cleanup: Use StringRef for uiBut tooltips - Hans Goudey
- Cleanup: Minor changes for recently added bl_object.py - Sean Kim
- Cleanup: Use float instead of double for VSE retiming step - Richard Antalik
- Cleanup: Sculpt: Avoid unnecessary copy - илья _
- Cleanup: cmake indentation - Campbell Barton
- Cleanup: pass arguments by const reference instead of value - Campbell Barton
-
Cleanup: use a const
argvin main() for WIN32 matching other systems - Campbell Barton - Cleanup: use "at_most" RNA array access functions for simplicity - Campbell Barton
- Cleanup: strip trailing space, sort file lists - Campbell Barton
- Cleanup: DRW: Remove unused functions and batch inside the shape cache - Clément Foucault
- Cleanup: DRW: Remove unused API functions - Clément Foucault
-
Cleanup: Improve API comment for
MEM_new()- Julian Eisel - Cleanup: use typed named tuple for code_clean.py - Campbell Barton
- Cleanup: Move transform editors module to C++ namespace - Hans Goudey
- Cleanup: quiet unused variable warning in release builds - Campbell Barton
- Cleanup: Improved Comments in ui_def_but_rna__menu - Harley Acheson
Compositor
- Compositor: add test data for pixel nodes - Habib Gahbiche
- Compositor: Use gpu::TexturePool instead of DRW pool - Omar Emara
- Compositor: Regression tests for File Output Node - Habib Gahbiche
Core
- Core: Add info about chain of ancestors (owner data) of a PointerRNA. - Bastien Montagne
Correct error bumping patch level instead of subversion
- Correct error bumping patch level instead of subversion - Campbell Barton
Cycles
- Cycles: Burley diffuse closure for MaterialX compatibility - Alex
- Cycles: Add Blackwell to Cycles CUDA binaries architectures - Patrick Mours
-
Cycles: Change the integration measure in Huang Hair from
gammatoh- Weizhen Huang - Cycles: oneAPI: Enable kernels compression - Xavier Hallade
- Cycles: oneAPI: Optimize texture access by using GPU HW sampler - Nikita Sirgienko
DRW
-
DRW: Use new
gpu::TexturePoolinsideTextureFromPool- Clément Foucault - DRW: Move procedural batch to GPUContext - Clément Foucault
- DRW: Move sphere batch generation to EEVEE - Clément Foucault
- DRW: Move cube batch generation to GPU module - Clément Foucault
- DRW: Make vertex format threadsafe - Clément Foucault
Deps
- Deps: Include OIIO PR 4630 - Ray Molenkamp
- Deps: Move OIIO Patch to the right folder. - Ray Molenkamp
- Deps: Shaderc Fix msvc runtime + switch to ninja - Ray Molenkamp
Docs
- Docs: improve doc-string for OPTYPE_REGISTER - Campbell Barton
- Docs: cross reference progress enum for GHOST/WM API's - Campbell Barton
- Docs: correct context.temp_override example - Campbell Barton
- Docs: add code-comments to clarify bad-level include & developer only UI - Campbell Barton
- Docs: add code-comments to clarify bad-level include & developer only UI - Campbell Barton
- Docs: Update RNA to user manual URL mapping - Aaron Carlisle
- Docs: clarify reference ownership in bpy_rna.cc - Campbell Barton
-
Docs: Fix
TimelineMarkers.newdescription - RedMser
EEVEE
- EEVEE: Update Metal Blocklist to make GPU tests pass - Clément Foucault
Extensions
- Extensions: forward any errors setting up wheels to reports - Campbell Barton
- Extensions: resolve unhandled exceptions when wheel extraction fails - Campbell Barton
Fix
- Fix: Assets: Previews of local IDs not showing in asset shelf - Julian Eisel
- Fix: #125354: Assert with box/lasso select in driver editor - Sybren A. Stüvel
- Fix: Conflict between bpy.app.translations and PySide - Brecht Van Lommel
- Fix: Anim, crash when deleting both action slot and F-Curve group - Sybren A. Stüvel
- Fix: compiler warning for case-fallthrough - Sybren A. Stüvel
- Fix: Deadlock when generating asset catalog tree after file-load - Julian Eisel
- Fix: Deadlock when generating asset catalog tree after file-load - Julian Eisel
- Fix: Stop View3D FPS Overlay from Jiggling - Harley Acheson
- Fix: Potential crash in curves attribute set operator - Hans Goudey
- Fix: Radial control operator crash after PointerRNA change - Hans Goudey
- Fix: Menu search crash after recent PointerRNA change - Hans Goudey
- Fix: Pointer reseted to nullptr - Guillermo Venegas
- Fix: Link error from missing include - Hans Goudey
- Fix: Mistake in previous menu search fix/refactor - Hans Goudey
- Fix: Indicate that creating a pose asset opens a pop up - Christoph Lendenfeld
- Fix: Inverted tablet pen Y tilt on macOS - Aki Sakurai
- Fix: Geometry Nodes: Instance on Points ignores Grease Pencil layer transform - Jacques Lucke
- Fix: MaterialX 1.39 subsurface not exporting correctly - Brecht Van Lommel
- Fix: Potential crash in attribute search code - Hans Goudey
- Fix: Cycles: Compilation issue with OSL on GPU - weizhen
- Fix: Potential build error from missing include - Hans Goudey
- Fix: Link error from missing include - Hans Goudey
- Fix: VSE duplicate snapping values - Richard Antalik
-
Fix: Grease Pencil: Use
ensure_selection_attributeinvgroup_select_verts- Falk David - Fix: Object info random on lights do not work in Cycles OSL - Alaska
- Fix: Nodes: handle undefined nodes more gracefully - Jacques Lucke
- Fix: Grease Pencil: Missing operator to delete breakdown keyframes - Pratik Borhade
-
Fix: DRW: Avoid division by zero in
frustum_culling_planes_calc- Clément Foucault - Fix: Compiler warning after recent commit - Falk David
- Fix: SYCL library not found after recent library update - Brecht Van Lommel
- Fix: Disable zlib in dpcpp to avoid linking to system library - Brecht Van Lommel
- Fix: Improve retiming speed get/set code precision - Richard Antalik
- Fix: VSE: Standardize fake retiming key hotspot - John Kiril Swenson
- Fix: Tools: Weekly report script failure - Julian Eisel
- Fix: Blur is two times slower in 4.4 - Omar Emara
- Fix: Cycles oneAPI kernel not rebuilding when the compiler is updated - Brecht Van Lommel
- Fix: Ignore original plane and normal when brush type is Plane - Nicola
- Fix: Cycles OptiX with OSL 1.14 failure in some render tests - Brecht Van Lommel
- Fix: SelectID: Broken shader compilation on Metal - Clément Foucault
- Fix: Grease Pencil: Mask icon for layer groups is not correct - Falk David
- Fix: GPU: Broken gizmo color - Clément Foucault
- Fix: Grease Pencil: Remove invisible layers from evaluated data - Falk David
- Fix: USD exports icnorrect dome light color when not using nodes - Brecht Van Lommel
- Fix: Hydra exoports incorrect dome light color - Brecht Van Lommel
- Fix: MaterialX of gradient texture node is wrong - Brecht Van Lommel
- Fix: MaterialX normal map node not exported - Brecht Van Lommel
- Fix: Cycles Metal invalid storage mode check - Brecht Van Lommel
- Fix: Cycles silently ignores unknown --cycles--device type - Brecht Van Lommel
- Fix: UI: Close pie menu on window focus loss - Gilberto.R
- Fix: new/free mismatch - Aaron Carlisle
- Fix: Keying Screen and anti-aliasing produce bad results - Omar Emara
- Fix: Mismatched MEM_new/MEM_freeN after recent fix - Hans Goudey
- Fix: Build error with latest MSVC 2022 - Brecht Van Lommel
- Fix: VSE: Retiming key translation not working correctly - Richard Antalik
- Fix: Adding new objects in HIP-RT rendered viewport errors out - Sergey Sharybin
- Fix: Incorrect ray depth on emission in Cycles OSL - Alaska
- Fix: NLA Track Solo flag handling, in depsgraph and F-Curve iteration - Sybren A. Stüvel
- Fix: Restore Cycles oneAPI host memory fallback on Linux - Xavier Hallade
- Fix: Grease Pencil: Points copied from same stroke were not split - Falk David
- Fix: Spreadsheet point cloud selection filter with no attribute wrong - Hans Goudey
- Fix: Incorrect selection field type in Set Selection node - Hans Goudey
- Fix: Overflow when using light falloff node on distant lights - Alaska
- Fix: Point cloud keymap not working - Dalai Felinto
- Fix: Vulkan: Async readback of storage buffers - Jeroen Bakker
- Fix: PyDocs typing issue with lists - Andrej730
- Fix: Metal: Avoid overriding GPU matrices after shader bind - Clément Foucault
-
Fix: quiet warning
constqualifier is applied to a function type - Guillermo Venegas -
Fix: EEVEE: Unitinialized
gpu::Batcharray content - Clément Foucault - Fix: Enable Translation Options by Default - Harley Acheson
- Fix: Copy caches in point cloud "nomain to main" function - Hans Goudey
- Fix: CSV import node ignores last character of some columns - Hans Goudey
- Fix: Grease Pencil: vgroup_select operator not working - Pratik Borhade
- Fix #101612: Viewport switched to perspective mode from camera view - Pratik Borhade
- Fix #102598: Resample Curve node collapses curves to a single point - Jacques Lucke
- Fix #110853: UI: Support adjusting color picker with Trackpad - YimingWu
- Fix #119932: Weight paint loop selection fails when bones are rotated - Philipp Oeser
- Fix #125376: Standalone bpy module can crash on exit - Campbell Barton
- Fix #127767: bpy.app.handlers could run in a read-only state - Campbell Barton
- Fix #129279: Cycles: Matrix-typed attributes not working in OptiX OSL - Lukas Stockner
- Fix #129706: Guess keymap context from properties space - YimingWu
- Fix #129967: Annotations in the VSE not showing in Dope Sheet - Christoph Lendenfeld
- Fix #130007: Invalid current file asset catalogs after saving file - Julian Eisel
- Fix #130372: Implements memory of the previous state of eSpace_Types. - Fabricio Luis
- Fix #131947: Error closing prefs while installing extensions on WIN32 - Campbell Barton
- Fix #132663: Selection: Object selection is broken on Intel Macs - Clément Foucault
- Fix #132782: MetalRT: Missing Geometry in Cycles preview on MacOS 15.2 - Sergey Sharybin
- Fix #132826: Grease Pencil: Missing "Paste by Layer" option - Falk David
- Fix #132889: EEVEE: Volumetric emission on zero scale mesh breaks render - Clément Foucault
- Fix #133318: Extruding bezier curve with handles selected didn't deselect old handles - Janne Nylander
- Fix #133339: Grease Pencil: Ensure span attribute writers are valid - Falk David
- Fix #133576: EEVEE: 'offscreen.draw_view3d' projection matrix broken - Clément Foucault
- Fix #133638: Overlay Next: Some overlays not displayed in X-Ray mode - Miguel Pozo
- Fix #133638: Overlay-Next: X-Ray + Overlays - Miguel Pozo
- Fix #133751: Render pass warning with GPU device - Pratik Borhade
- Fix #133927: Image editor not syncing with active image node - Pratik Borhade
- Fix #133943: Unnecessary image full update mark on file open - Brecht Van Lommel
- Fix #133953: Cycles oneAPI texture randomly renders black - Brecht Van Lommel
- Fix #133969: Crazyspace broken with bezier curves and armature modifier - Falk David
- Fix #133969: Crazyspace broken with bezier curves and armature modifier - Falk David
- Fix #134011: Overlay: Wireframe with object color isn't shown selected - Clément Foucault
- Fix #134011: Overlay: Loose wires object color in selection not visible - Clément Foucault
- Fix #134025: Crash displaying asset from current file in asset shelf - Julian Eisel
- Fix #134031: Set Parent menu lists unsupported armature options - Philipp Oeser
- Fix #134035: Grease Pencil: Correct index for multistroke modifier - YimingWu
- Fix #134061: Consider 2D Zoom in Event Icon Text Sizing - Harley Acheson
- Fix #134068: Show VSE Select Mode Variations - Harley Acheson
- Fix #134073: Compositor crash with viewer inside muted group - Omar Emara
- Fix #134082: Clarify description for subsurface scattering radius - YimingWu
- Fix #134100: hair curves disappear when adding new curves without radius interpolation - Jacques Lucke
- Fix #134104: Curves: handles miss recalc after snapping/randomize/warp - Philipp Oeser
- Fix #134107: Snapping while resizing nodes not working - Habib Gahbiche
- Fix #134108: Set attribute operator crash with multiple objects - Hans Goudey
- Fix #134111: sockets are incorrectly grayed out after random node - Jacques Lucke
- Fix #134151: Crash when appending Bloom node - Omar Emara
- Fix #134152: Grease Pencil: Keyframe color missing in viewport text overlays - Pratik Borhade
- Fix #134155: Crash when searching in properties editor. - Bastien Montagne
- Fix #134159: Grease Pencil: Use "Blank" for the entry name in add menu - YimingWu
- Fix #134162: Crash when opening a file with a compositor image node. - Bastien Montagne
- Fix #134166: Show Context Menus as "Options" on Status Bar - Harley Acheson
- Fix #134182: Regression: Enabling Tweak disappears NLA strip - Pratik Borhade
- Fix #134190: NLA track not evaluating when toggling its 'mute' setting - Sybren A. Stüvel
- Fix #134201: Invalid doc-string for Scene.ray_cast - Campbell Barton
- Fix #134212: Crash when appending into an Excluded collection. - Bastien Montagne
- Fix #134225: Data-block selector icon drawn too big - Julian Eisel
- Fix #134228: crash when trying to open file in text editor - Jacques Lucke
- Fix #134230: missed multi-threading opportunity when using repeat zone - Jacques Lucke
- Fix #134234: GPU: Shader Compile Error on with gpu.types.GPUShader - Clément Foucault
- Fix #134259: Compositor crash when passes are used - Omar Emara
- Fix #134270: Connected icon hidden when text overlays are disabled - Richard Antalik
- Fix #134271: Reflow Non-Categorized Enum Lists Only If Necessary - Harley Acheson
- Fix #134279: support boolean layers in bmesh API - Philipp Oeser
- Fix #134283: defer freeing tree/node/socket types - Jacques Lucke
- Fix #134284: Grease Pencil: Build modifier natural drawing speed fails - Pratik Borhade
- Fix #134286: Weight paint mirror ignores selection in face-select mode - Philipp Oeser
- Fix #134289: Grease Pencil: SVG export crashes with no material - YimingWu
- Fix #134290: Multi-editing crash after recent refactor - Hans Goudey
- Fix #134293: Compositor crash after adding view layer - Omar Emara
- Fix #134309: Grease Pencil: SVG export crashes on constructive modifiers - Lukas Tönne
- Fix #134309: Grease Pencil: SVG export crashes on constructive modifiers - Lukas Tönne
- Fix #134316: Color being sampled from hidden faces in texture paint - Pratik Borhade
- Fix #134320: EEVEE: Crashes when leaving camera view back to orthographic - Clément Foucault
- Fix #134362: Grease Pencil canvas settings don't do anything - Pratik Borhade
-
Fix #134366:
object.closest_point_on_meshalways returns no result - Sean Kim - Fix #134380: Error adding a torus after hiding a collection - Pratik Borhade
- Fix #134395: "Intersect" selection mode not working for Grease Pencil - Philipp Oeser
- Fix #134428: Switching Animation Slots does not update node UI - Pratik Borhade
- Fix #134430: missing node tree update after copying data-block - Jacques Lucke
- Fix #134448: Multi-object editing broken after recent fix - Hans Goudey
- Fix #134451: SVG: Reuse material data on SVG Import - Maxime-Cots
- Fix #134468: Grease Pencil: Primtive tools considering mouse drag threshold - Pratik Borhade
- Fix #134482: Grease Pencil: Correct mask for stroke interpolation - YimingWu
- Fix #134485: Missing depsgraph tag when assigning material - Hans Goudey
- Fix #134490: Grease Pencil: Clone brush in sculpt mode not working - Falk David
- Fix #134492: Do Not Assign Toggle Accelerators on First Pass - Harley Acheson
- Fix #134505: Bevel redo panel closes when defining profile - Pratik Borhade
- Fix #134537: Crash accessing colors in the UI with more than 4 elements - Campbell Barton
- Fix #134567: Compositor memory leak in some setups - Omar Emara
- Fix #134591: Node tool crashes when modifying mesh topology - Sean Kim
- Fix #134592: Node Editor space_*_get Unregistered Tree Type Returns - Harley Acheson
- Fix #134594: Show Overlay FPS in a brighter color - Harley Acheson
- Fix #134634: Overlay: Mask not drawing on top of render result/viewer - Jeroen Bakker
- Fix #134669: crash because of dangling socket declaration pointer - Jacques Lucke
- Fix #66367: Refresh view setting when exiting camera view - Pratik Borhade
- Fix #74979: Cycles: Support Normal texture for bump mapping on triangles - Weizhen Huang
- Fix #78484: Overlay: No Wireframes in Edit Mode when Overlays are off - Clément Foucault
- Fix #86648: reduce ray differentials size for bump mapping - Weizhen Huang
- Fix (unreported) crash when adding new image from UI. - Bastien Montagne
- Fix (unreported) invalid C-style allocation of non-trivial C++ data. - Bastien Montagne
- Fix (unreported) invalid C-style allocation of non-trivial C++ data. - Bastien Montagne
- Fix (unreported) invalid C-style allocation of non-trivial C++ data. - Bastien Montagne
- Fix (unreported) invalid C-style allocation/freeing on non-trivial data. - Bastien Montagne
- Fix (unreported) invalid MEM_new/MEM_freeN mismatches. - Bastien Montagne
- Fix (unreported) invalid calloc'ed data in fmodifier_ui. - Bastien Montagne
- Fix (unreported) invalid mismatched usages of MEM_new/MEM_freeN. - Bastien Montagne
- Fix (unreported) invalid usage of C-style allocation for non-trivial C++ data. - Bastien Montagne
- Fix (unreported) more PointerRNA-embedding structs C-styled allocated. - Bastien Montagne
- Fix (unreported) more invalid C-style allocation of non-trivial C++ data. - Bastien Montagne
- Fix 3D viewport depth calculation for comparison - Campbell Barton
- Fix ASAN warnings in node socket forward compatibility code - Lukas Tönne
- Fix BMesh split-op failing to output boundary & isovert_map slots - Jason C. Wenger
- Fix BMesh split-op failing to output boundary & isovert_map slots - Jason C. Wenger
- Fix IDProperty comparison warning in debug mode - Campbell Barton
- Fix UNIX NDOF state being start/finish during continuous motion - Campbell Barton
- Fix Unreported: Use correct icons for pose markers in Action editor - RedMser
- Fix assert with debug builds on exit when built as a Python module - Campbell Barton
- Fix buffer overflow from an one error accessing environment variables - Campbell Barton
- Fix compilation error on macOS after recent cleanup - Sergey Sharybin
- Fix driver "Update Dependencies" doing nothing - Campbell Barton
- Fix error in grease_pencil.relative_layer_mask_add poll - Campbell Barton
- Fix incorrect null checks in animadata::find_related_ids - Campbell Barton
- Fix invalid null checks (caught by cppcheck) - Campbell Barton
- Fix make_source_archive using outdated path to assets. - Thomas Dinges
- Fix missing call to va_end(..) - Campbell Barton
- Fix mistake in recent refactor of TaskPool. - Bastien Montagne
- Fix potential memory leak file_browse_exec - Campbell Barton
- Fix unknown Cycles test device silently pass - Sergey Sharybin
- Fix unreported: Grease Pencil "Add Masking Layer" operators duplicate check always returned nullptr - Janne Nylander
- Fix use of MEM_callocN for a struct containing a PointerRNA - Campbell Barton
- Fix writing a blend file to a directory "versioning" the path - Campbell Barton
For VFX platform 2025 and more.
- For VFX platform 2025 and more. - Ray Molenkamp
glTF
- glTF: Bump version to 4.5.0 after 4.4 branch creation - Julien Duroure
GPU
- GPU: Add test for byte pattern clearing of storage buffers - Clément Foucault
- GPU: TexturePool: Add texture pool functionality to the GPU module - Clément Foucault
Geometry Nodes
- Geometry Nodes: CSV import node - Devashish Lal
- Geometry Nodes: Remove extra copy step in CSV import node - Hans Goudey
Grease Pencil
- Grease Pencil: Python: Add base class for layer and layer groups - Falk David
-
Grease Pencil: Python: Add
next/prev_nodetoGreasePencilTreeNode- Falk David - Grease Pencil: Merge GPENCIL_PrivateData into GPENCIL_Instance - Clément Foucault
- Grease Pencil: Add python operator for masking with above/below layer - Janne Nylander
I18N
- I18N: Updated UI translations from git/weblate repository (61ec90aad9638d). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (a5066e76fb25f0). - Bastien Montagne
Libs
- Libs: Update to 4.4 Linux libs - Sebastian Parborg
- Libs: Update to 4.4 Linux libs - Sebastian Parborg
- Libs: Fix OCIO patch command for non-Windows ARM64 platforms - Anthony Roberts
macOS
- macOS: Colored Titlebar and WM Window Decoration Styles API - GSoC 2024 - Jonas Holzman
- macOS: Update x64 and arm64 libraries for 4.4 - Jonas Holzman
MaterialX
- MaterialX: Support sheen distribution input for Microfiber/Zeltner - Pablo Delgado Krämer
Math
- Math: Work around Windows math::is_negative build failures - Brecht Van Lommel
Mesh
- Mesh: Optimize vertex to edge attribute domain interpolation - Hans Goudey
- Mesh: grid-fill now supports replacing existing faces - Jason C. Wenger
Metal
- Metal: Ensure that storage buffer reads are synchronized on Intel Macs - Clément Foucault
NDOF
- NDOF: implement new methods to pick the orbit-center - Campbell Barton
- NDOF: enable "Auto" center & show orbit center guide by default - Campbell Barton
- NDOF: ignore orbit center lock when locked to object or 3D cursor - Campbell Barton
- NDOF: adjust when guides are shown - Campbell Barton
- NDOF: implement new methods to pick the orbit-center - Campbell Barton
- NDOF: Rework input handling on macOS - kgalik
Object
Overlay
- Overlay: Move 3D cursor drawing to the overlay engine - Clément Foucault
- Overlay: Remove static GPUVertFormat - Clément Foucault
Point Cloud
- Point Cloud: Expose 3D Cursor, annotation and ruler tools - Dalai Felinto
- Point Cloud: Select All/None/Invert - Dalai Felinto
- Point Cloud: Implement "Affect only Origins" object transform option - Hans Goudey
- Point Cloud: Implement "Set Attribute" operator - Hans Goudey
- Point Cloud: Implement box, circle, lasso select tools - Hans Goudey
- Point Cloud: Implement transform operator - Hans Goudey
- Point Cloud: Add cached full points BVH tree - Hans Goudey
- Point Cloud: Add transform operations to keymap - Hans Goudey
- Point Cloud: Implement duplicate operator - Hans Goudey
- Point Cloud: Implement selection pick operator - Hans Goudey
- Point Cloud: Implement edit mode undo system - Dalai Felinto
- Point Cloud: Delete operator - Dalai Felinto
- Point Cloud: Implement separate operator - Hans Goudey
PyAPI
- PyAPI: prevent built-in RNA types being unregistered - Campbell Barton
- PyAPI: correct unregister/register mix up in exception message - Campbell Barton
- PyAPI: check registered classes don't depend on registered classes - Campbell Barton
- PyAPI: document never none pointer/collection properties - Andrej730
PyDoc
RNA
-
RNA: Add 'save_copy' option to
Image.savefunction. - Bastien Montagne -
RNA: Fully clear data in
RNA_POINTER_INVALIDATE. - Bastien Montagne -
RNA: Fully clear data in
RNA_POINTER_INVALIDATE. - Bastien Montagne - RNA: add array get/set functions that limit the number of elements - Campbell Barton
Refactor
- Refactor: Assets: Improve asset system APIs for asset operators - Julian Eisel
- Refactor: Cycles: Rename rcp to reciprocal - Brecht Van Lommel
- Refactor: Compositor: Use generic container for results - Omar Emara
- Refactor: Add StringRef overloads to translation functions - Hans Goudey
- Refactor: Use StringRef for attribute API and BMesh CustomData functions - Hans Goudey
- Refactor: Make Library.runtime an allocated pointer. - Bastien Montagne
- Refactor: Compositor: Use gpu_fn for ShaderNode class - Omar Emara
- Refactor: Core: simplify accessing ListBases in Main - Jacques Lucke
- Refactor: Tooltip Calculation of Sizing and Spacing - Harley Acheson
-
Refactor:
bpy.data.batch_remove: use set instead of ID tags. - Bastien Montagne - Refactor: Add math.h include and DEG2RAD to BLI_math_constants - Brecht Van Lommel
- Refactor: Convert remainder of blenlib to C++ - Brecht Van Lommel
- Refactor: Build generated DNA files as C++ - Brecht Van Lommel
- Refactor: Remove extern "C" from most headers - Brecht Van Lommel
- Refactor: Cycles: Add host_alloc/free to device API - Brecht Van Lommel
- Refactor: UI: Use a Vector to store buttons in UI blocks - Guillermo Venegas
-
Refactor: Make
TaskPoola 'real' C++ struct. - Bastien Montagne - Refactor: Various C++ cleanups to object data transform - Hans Goudey
- Refactor: Use C++ types for vectors strip image transform code - Richard Antalik
- Refactor: Simplify CustomData functions by requiring ImplicitSharingInfo - Hans Goudey
Release
- Release: Bump main to 4.5 - Thomas Dinges
- Release: Bump branch to 4.4 Beta. - Thomas Dinges
Release tools
Revert "Fix #133638
Revert "Libs
- Revert "Libs: Update to 4.4 Linux libs" - Sebastian Parborg
Revert "Release
- Revert "Release: Bump branch to 4.4 Beta." - Thomas Dinges
Revert "Sound
- Revert "Sound: Sync up the screen refresh timer to the audio when seeking" - Sebastian Parborg
Revert 867e9d879a
- Revert 867e9d879a: Status Bar Impossible Confirms & Cancels - Harley Acheson
Sculpt
- Sculpt: Add 'Plane' brush type - Nicola
- Sculpt: Improve node tools performance for simpler changes - Hans Goudey
- Sculpt: Reduce overhead for multires index buffer creation - Hans Goudey
Sequencer
- Sequencer: Move 2D cursor drawing from DRW to sequencer using IMM API - Clément Foucault
Shader
Sound
- Sound: Sync up the screen refresh timer to the audio when seeking - Sebastian Parborg
Tests
- Tests: Add render test for object info node - Alaska
- Tests: Update Storm reference renders for USD 25.02 and MaterialX 1.39 - Brecht Van Lommel
- Tests: Add attributes category for render tests - Iliya Katueshenock
- Tests: Add initial sculpt mesh render test - Sean Kim
- Tests: Enable OptiX OSL generated volumetric texture coordinate tests - Alaska
- Tests: add fill_grid tests & update tests/data - Campbell Barton
- Tests: commit tests/data (missing from last commit) - Campbell Barton
Tools
- Tools: Improve gitea utils function optional paramenter handling - Julian Eisel
- Tools: add OUTPUT_DIR option to the "check_cppcheck" target - Campbell Barton
- Tools: fix code_clean operating on the same file from multiple processes - Campbell Barton
- Tools: prevent "struct" being removed from timezone - Campbell Barton
- Tools: minor correction to check_licenses reporting - Campbell Barton
UI
- UI: Show object data name in 3D Viewport text overlay - Nika Kutsniashvili
- UI: Shading: Move Cavity properties into a subpanel - Nika Kutsniashvili
- UI: On Win11 Use WM Window Decoration Styles API - Harley Acheson
- UI: Sort transform properties for custom bone shape - Pasang Bomjan
- UI: Remember scroll offset for tree-views - Julian Eisel
- UI: Remember scroll offset for tree-views - Julian Eisel
- UI: avoid potential error accessing freed memory - Campbell Barton
- UI: Improve save report message - IREXTIA
- UI: Disabled Message Before Python in Tooltips - Harley Acheson
- UI: Decrease Alert Dialog Icon Size - Harley Acheson
- UI: Themeable RedAlert, Error, Warning, Info Colors - Harley Acheson
- UI: Status Bar During Text and Numerical Entry - Harley Acheson
- UI: New Presets Icons - Harley Acheson
- UI: Tightened Status Bar Spacing - Harley Acheson
- UI: correct array size check for colors - Campbell Barton
- UI: Prevent button vector reallocations on redraws - Guillermo Venegas
Unbreak build WITH_PYTHON=ON & Python <= v3.12
- Unbreak build WITH_PYTHON=ON & Python <= v3.12 - Campbell Barton
USD
- Add default Plane shape to USD Importer - Maxime-Cots
VSE
- VSE: Over Drop effect was not doing anything useful, map it to Alpha Over - Aras Pranckevicius
Vulkan
- Vulkan: Render and compositor tests - Jeroen Bakker
Windows
- Windows: Update x64 libraries for 4.4 - Ray Molenkamp
- Windows: Guard VsDevCmd env var check to ARM64 only - Anthony Roberts
- Windows ARM64: 4.4 Library Updates - Anthony Roberts
- Windows ARM64: Check and cache VSCMD version - Anthony Roberts
- Windows ARM64: Enable SIMD in OpenColorIO - Anthony Roberts
- Windows ARM64: Update libs to use patched OCIO - Anthony Roberts
Xcode/thumbnailer
- Xcode/thumbnailer: rebuild error due to rpath - Ankit Meel
install_linux_package
- install_linux_package: add harfbuzz library. - Bastien Montagne
- install_linux_package: Update Embree and OIDenoiser. - Bastien Montagne
- install_linux_package: Update/add OneAPI level-zero package. - Bastien Montagne
- install_linux_package: Update python-related packages versions. - Bastien Montagne
- install_linux_package: update OpenEXR, OCIO, OpenVDB versions. - Bastien Montagne
install_linux_packages
- install_linux_packages: Fix debian package query invalid results. - Bastien Montagne
- install_linux_packages: Updated Boost and OneTBB versions. - Bastien Montagne
- install_linux_packages: updated USD and materialX versions. - Bastien Montagne
- install_linux_packages: Bump the remaining 4.4 lib versions - Sebastian Parborg
16 Comments
Hi Pablo, There are ongoing discussions about improving render passes such as Deep, Sheen, Coat, etc. This is the last limitation I’m aware of that hinders adoption by VFX studios.
Hi Pablo! Very happy to have Blender Today a bit more frequent lately, realy missed the old monday streams :) Do you have an ETA or updates about when we might see multi-pass support for compositing in the viewport with Cycles ?
Hello! I'm very interested in the upcoming animation layers project. It's uh... 20 years overdue, but hey! Are there any UX mockups as to how it will be implemented? As clunky as the NLA is, the ability to slide the tracks in time is really cool and not something one can really do in other DCCS that have animation layers short of brute force moving all the keyframes around. I'm also interested to know if any alterations are happening in the animation baking workflow as a result of these improvements.
Hi Pablo, I'm happy to see you and the show returned, how you have a great day. I know this most likely won't happen, but can we have the old style add modifier menu back? I know the new has search, but it still feels slower, before 2 click, now 1 click, the mover mouse cursor or move your hand to type what you want then click on it feels too slow.
And I know I can add modifiers to the quick menu, but that still not fix the problem if I need a new modifier. Also, the new menu makes it harder to find a modifier if you don't know the name.
Again, thank you for making a great show.
Thank you and have a good time!
When can we expect another guest on the show?
Can I suggest to add importing gaussian splatting file format?
and tweaking tools
Hello Pablo, whose penguins do I have to scratch to get easier way of mixing shaders in Blender? The current way of using mix shader nodes is very painful if you have many contributing nodes. Could we get layer stack node like the one proposed in Layered Textures Design but for Shader Node editor?
Image for illustration porpoises. code.blender.org/wp-content/uploads/2022/02/Artboard-13.png
Oi, morning/afternoon, Pablo!
I'm still working on that normals issue, and it turns out, part of it is because "normal correction" is one flag with two functions! In diffuse lighting, it knocks down highlights around the terminator line (and turns what the light to a biased gradient). In glossy reflections, any incoming ray lower than about 30 degrees gets flattened parallel with the surface. People will often want these to be separate check boxes, so I guess I'm graduating from cycles kernel to UI! I made an uber-post about it. devtalk.blender.org/t/cycles-and-surface-normals-normalmap-shading/38176/31
Separating it into two flags wouldn't be a breaking change, but both solutions are definitely not optimal. I'll see to adding the UI soon, but when is the best time to work on/submit breaking changes?
Hi pablo, Is there any plan to make vertex edit available for USD cache data? As of now its really annoying to keep going back to Maya to fix/edit vertex again and again. Also Is there any plan to include USD compatibility between software just like in Nvidial Omniverse version of Blender. I have been using that feature a lot and its really helpful but I hear they are deprecating Nvidial Omniverse.
Hi. Pablo Any updates on the NPR prototype branch. When can we expect another guest on the show?
Hi, great to see you, I hope you have a great day.
1 question:
any news about this bug: #63581
It was moved to: #120304
I can't find any new update for it.
Hey Pablo!
Really happy to see blender today live here and there. It really is a special thing that blender has that people can check out what's new, catch up on news and ask some questions live. No other 3D app community has this, and it's a wonderful tradition.
I do have a question. I think Iliya Katushenock is rewriting some of the backend of the distribute points on faces node for performance stuff. I think back in the day there was a discussion about making the node force the number of points you specify. I think the idea behind that was so that geonodes setups are more shareable. So if a setup requires there to be exactly 100 points (like a raspberries drooplets or something), then it would not matter the size of the input object, like it currently does. Is there still any interest in this I wonder?
Hi, Pablo! Any update on Blender Store? What are the plans and timelines for it? Good to see you return! ❤️
Hi Pablo, I'm finally on time to see the stream live, very happy to have you back. Whats the status of having an api exposed, to get the current blender version, download links etc, you mentioned that was planed once.