🐈⬛🥇 - Blender Today LIVE #255
Changelog between February 18, 2025 - March 04, 2025 at 12h
462 commits in total, of which 114 are fixes and 99 cleanup.
Add some type-check to
MEM_freeN<T>
with MSVC.
-
Add some type-check to
MEM_freeN<T>with MSVC. - Bastien Montagne
Anim
- Anim: update Action RNA descriptions to clarify legacy status - Sybren A. Stüvel
-
Anim: add RNA function
Action.fcurve_ensure_for_datablock(...)- Sybren A. Stüvel -
Anim: make
BKE_fcurves_id_cb()only report F-Curves for that ID - Sybren A. Stüvel
Assets
- Assets: Avoid allocating empty preview when unsupported on Mark as Asset - Julian Eisel
- Assets: Batch create/remove previews for all selected assets - Julian Eisel
Attempt to fix build error
- Attempt to fix build error - Philipp Oeser
Audaspace
- Audaspace: port bugfix for CoreAudio from upstream. - Jörg Müller
- Audaspace: file missing in last commit. - Jörg Müller
BKE
- BKE: Add type conversion rules for float4 - Omar Emara
BLI
- BLI: add utilities to find first (un)set bit in a bit span - Jacques Lucke
- BLI: ignore empty lines when parsing CSV files - Jacques Lucke
Brush Assets
- Brush Assets: Add Material to linked editable assets - Brecht Van Lommel
Build
- Build: Patch OpenEXR 3.3.2 for dwa bug - Thomas Dinges
Cleanup
- Cleanup: DRW: Remove unused DRWTexturePool - Clément Foucault
- Cleanup: DRW: Remove draw_manager_c from DRW_gpu_wrapper.hh dependencies - Clément Foucault
- Cleanup: DRW: Remove old CPU profiling tools - Clément Foucault
- Cleanup: DRW: Remove unused code - Clément Foucault
- Cleanup: DRW: Make DRW_viewport_size_get return float2 - Clément Foucault
- Cleanup: make format. - Bastien Montagne
- Cleanup: Remove unused variable - Miguel Pozo
- Cleanup: Formatting - Hans Goudey
- Cleanup: Armature: Use overlay data instead of global G_draw for colors - Clément Foucault
- Cleanup: function argument flags for UIList.draw_item - Campbell Barton
- Cleanup: BKE: Nodes: Pass-by-reference - илья _
- Cleanup: Rename point cloud to pointcloud / POINT_CLOUD to POINTCLOUD - Dalai Felinto
- Cleanup: IO: Use recently added radius accessors for USD and Alembic IO - Jesse Yurkovich
- Cleanup: avoid redundant file-type flag calculation - Campbell Barton
- Cleanup: GPU: Reduce compilation warnings - Jeroen Bakker
- Cleanup: Avoid some void pointer freeing for type safety - Bastien Montagne
- Cleanup: Compositor: List all types in switch case - Omar Emara
- Cleanup: Improve naming for sculpt draw index creation - Hans Goudey
- Cleanup: Compositor: Deduplicate CPPType getters - Omar Emara
- Cleanup: DRW: Make Open subdiv evaluator part of a DRW module - Clément Foucault
-
Cleanup: Remove
void *handling fromMEM_freen<T>. - Bastien Montagne - Cleanup: Cycles: Deduplicate kernel attribute code using templating - Lukas Stockner
- Cleanup: avoid duplicate calls to WM_keyconfig_active - Campbell Barton
- Cleanup: Minor tidying up in paint.cc modifier methods - Sean Kim
- Cleanup: Various non-functional changes for multires.cc - Sean Kim
-
Cleanup: Update comment in
MEM_freeN<T>about MSVC and triviality check. - Bastien Montagne - Cleanup: Unused warning in release builds - Omar Emara
- Cleanup: Minor changes for sculpt flush functions - Sean Kim
- Cleanup: Remove unused CCGDerivedMesh Multires modified_flags property - Sean Kim
- Cleanup: Remove outdated comment - Sean Kim
- Cleanup: Grease Pencil: Remove unused drawing vector - Pratik Borhade
- Cleanup: quiet unused variable warning - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: correct argument names in recent RNA API function - Campbell Barton
- Cleanup: Cycles: Deduplicate code in geometry_attributes.cpp - Lukas Stockner
- Cleanup: remove unused prefix from a used argument - Campbell Barton
- Cleanup: GPU: Use StringRef for vertex format function arguments - Hans Goudey
- Cleanup: DRW: Remove legacy common_math_lib - Clément Foucault
- Cleanup: DRW: Remove legacy object data create infos - Clément Foucault
- Cleanup: DRW: Remove unused legacy object attribute UBO - Clément Foucault
- Cleanup: DRW: Remove legacy create info and rename new ones - Clément Foucault
- Cleanup: DRW: Remove unused legacy shader libraries - Clément Foucault
- Cleanup: DRW: Remove uniforms declaration and dangerous defines - Clément Foucault
- Cleanup: correct Python type hint - Campbell Barton
- Cleanup: remove redundant assignment in extensions file dropping logic - Campbell Barton
- Cleanup: remove "pep8" target from extensions makefile - Campbell Barton
- Cleanup: USD: Use newly enabled BKE_fcurve_bezt_resize API - Jesse Yurkovich
- Cleanup: Compositor: Remove common_math_utils includes - Omar Emara
- Cleanup: rename IMB divers.cc -> conversion.cc - Aras Pranckevicius
- Cleanup: GPU: Remove common_math.glsl includes - Omar Emara
- Cleanup: DRW: Remove unused DRWInstanceData - Clément Foucault
- Cleanup: USD: remove now unneeded PXR_VERSION guards - Jesse Yurkovich
- Cleanup: remove disabled BMWalker logic for un-subdivide - Campbell Barton
- Cleanup: Warning about integers of different signs - Omar Emara
- Cleanup: Nodes: Use common prefix instead of sh_fn - Omar Emara
- Cleanup: Use utility function to clear ListBase - Hans Goudey
- Cleanup: Typo in comment, argument name consistency - Hans Goudey
- Cleanup: Remove "e" prefix for field status enum name - Hans Goudey
- Cleanup: Use auto after static_cast to avoid repetition - Hans Goudey
- Cleanup: Specify backing type for node enums - Hans Goudey
- Cleanup: Fix typo in subdiv_eval.cc - Jeroen Bakker
- Cleanup: Use Array for FieldInferencingInterface - Hans Goudey
- Cleanup: Formatting - Ray Molenkamp
-
Cleanup: Reduce usage of
BMLogEntry- Sean Kim - Cleanup: IO: Use blender containers for AbstractHierarchyIterator - Jesse Yurkovich
- Cleanup: Rename LayerTreeNode variable - Pratik Borhade
- Cleanup: Replace IMB_processor_apply_threaded_scanlines with parallel loops - Aras Pranckevicius
- Cleanup: remove mention of once-planned 'Animation' data-block - Sybren A. Stüvel
- Cleanup: remove redundant layout panel function - Jacques Lucke
- Cleanup: Use bNodeTree all_nodes() accessor method - Hans Goudey
- Cleanup: Switch GHash for blender::Map for bmesh_log.cc - Sean Kim
- Cleanup: Various non-functional changes for bmesh_log.cc - Sean Kim
- Cleanup: Remove outdated references to GHash - Hans Goudey
- Cleanup: Use Vector, BitVector for BMesh partial update struct - Hans Goudey
- Cleanup: Use references, nodiscard, for BMesh partial update - Hans Goudey
- Cleanup: Sculpt: Use Map instead of GHash for dyntopo edge collapse - Hans Goudey
- Cleanup: Subdiv: Missing usage binding defines - Jeroen Bakker
-
Cleanup: GPU: Remove warning about
is_zeroredundant declaration - Clément Foucault - Cleanup: GPU: Add macro for default constructor compatibility on MSL - Clément Foucault
- Cleanup: GPU: Shader C++: Avoid #pragma once in main file warning - Clément Foucault
- Cleanup: DRW: Reduce code duplication and group similar functions - Clément Foucault
- Cleanup: DRW: Remove unused function from header and cleanup function names - Clément Foucault
- Cleanup: Transform: Use C++ parallel_for to remove boilerplate - Hans Goudey
- Cleanup: Name more IMB things as "byte" or "float" instead of "rect" and "rectFloat" - Aras Pranckevicius
- Cleanup: Simplify curve handles comment - Hans Goudey
- Cleanup: Formatting - Hans Goudey
- Cleanup: Update bmesh_log.hh documentation - Sean Kim
-
Cleanup: Add comment for sculpt_undo.cc
StepData#bm_entry- Sean Kim - Cleanup: DRW: Avoid warning caused by class/struct mismatching definition - Clément Foucault
- Cleanup: Simplify check for sculpt BVH normals update in mesh draw code - Hans Goudey
-
Cleanup: Convert
BLI_mempooltoblender::Poolinbmesh_log.cc- Sean Kim - Cleanup: Correct comment in customdata.cc - Hans Goudey
- Cleanup: Use StringRef instead of StringRefNull - Hans Goudey
- Cleanup: Deduplicate geometry attribute convert function - Hans Goudey
- Cleanup: Move geometry editors module function to C++ namespace - Hans Goudey
- Cleanup: quiet warnings from ruff, use static sets - Campbell Barton
- Cleanup: Subdiv: Remove wrapper OpenSubdiv_Buffer - Jeroen Bakker
- Cleanup: Remove single value reduction operation - Omar Emara
- Cleanup: extract function to capture field on geometry components - Jacques Lucke
Color management
- Color management: Dithering consistency/perf improvements - Aras Pranckevicius
Compile fix
- Compile fix: include limits.h for INT_MIN/MAX. - Jörg Müller
Compositor
- Compositor: Add Float4 type - Omar Emara
- Compositor: Reduce vector type components to 3 - Omar Emara
- Compositor: Support Vector outputs for Image node - Omar Emara
- Compositor: Implement link validation - Omar Emara
- Compositor: Track update count for cache invalidation - Omar Emara
Core
- Core: Add warning when opening deprecated BigEndian-saved Blendfiles. - Bastien Montagne
Curves
- Curves: Separate to object operator - Hans Goudey
- Curves: Implement join operator - Hans Goudey
- Curves: add Split operator - Laurynas Duburas
- Curves: Refactor extrude to use foreach_selected_point_ranges_per_curve - Laurynas Duburas
Cycles
- Cycles: Rudimentary utilities to plot light tree - Sergey Sharybin
- Cycles: Fix library search path for HIPRT - Torsten Keßler
- Cycles: HIP-RT 2.5 integration and gfx12 support - Sahar A. Kashi
- Cycles: Refactor lights to be objects - Brecht Van Lommel
- Cycles: Drop inline hint on light_tree_pdf - Xavier Hallade
- Cycles: Re-enable HIPRT point cloud rendering - Alaska
- Cycles: Increase minimum supported HIP GPU driver - Alaska
- Cycles: Disable HIP-RT and MNEE on RDNA1 generation GPUs - Brecht Van Lommel
- Cycles: oneAPI: Remove some texture code from the squished bindless texture commit - Nikita Sirgienko
- Cycles: oneAPI: Use linear USM memory for 1D images - Sean Stirling
- Cycles: Adjust inlining attributes for oneAPI device - Xavier Hallade
DRW
- DRW: Do not clear 1D texture in debug mode - Clément Foucault
- DRW: Move GPU context lock out of the DST variable. - Clément Foucault
Deps
- Deps: Windows: x64: Rebuild openexr with upstream PR 1986 - Ray Molenkamp
Docs
- Docs: Update RNA to user manual URL mapping - Aaron Carlisle
- Docs: add docs & code comments for extensions - Campbell Barton
Draw
- Draw: Use StaticShaders for GPU subdivision - Miguel Pozo
EEVEE
- EEVEE: Update pointcloud tests after radius fix - Clément Foucault
Extensions
- Extensions: use dynamically created link to the manual - Campbell Barton
- Extensions: add "help" target for the makefile - Campbell Barton
- Extensions: add progress test to "test_cli" - Campbell Barton
- Extensions: remove unused operators - Campbell Barton
Fix
- Fix: compiler warning on Windows about an always-true check on enum value - Sybren A. Stüvel
- Fix: Preserving linked editable asset datablock fails with embedded ID - Brecht Van Lommel
- Fix: Build error with GCC 11.1 after recent changes - Brecht Van Lommel
- Fix: EEVEE: Broken Metal blocklist - Clément Foucault
- Fix: Geometry Nodes: unescape column names after csv import - Jacques Lucke
- Fix: Point Cloud: Properly handle caches in undo step decode - Hans Goudey
- Fix: Geometry Nodes: support relative paths in import nodes - Jacques Lucke
- Fix: Compiler warnings on Mac - Miguel Pozo
- Fix: Overlay: Broken shader compilation - Clément Foucault
- Fix: Set Persistent Base doesn't work for cloth brushes - Sean Kim
- Fix: Vertex Paint average brush produces incorrect results - Sean Kim
- Fix: Incorrect radius values used for Alembic points and USD nurbs - Jesse Yurkovich
- Fix: File Output node crash when saving vector image - Omar Emara
- Fix: #134636: VSE - Fade In and Out not working - Sybren A. Stüvel
- Fix: Grease Pencil: "Extrude" operator breaks vertex group weights - Janne Nylander
- Fix: Hydra: Make final render run render loop - Gracjan Jeżewski
- Fix: Cycles OSL random texture issue on macOS ARM - Brecht Van Lommel
- Fix: GPU: Memory leak from shader printf buffer - Clément Foucault
- Fix: GPU: Printf Memory leak - Clément Foucault
- Fix: Build error in lite build - Brecht Van Lommel
- Fix: glTF exporter: Reset skin if mesh failed to export - Julien Duroure
- Fix: glTF exporter: export all single armature actions only when "actions" mode - Julien Duroure
- Fix: glTF exporter: fix filter on collection when using both collection exporter and full collection hierarchy" - Julien Duroure
- Fix: glTF exporter: Fix typo in cache system, leading to endless loop - Julien Duroure
- Fix: glTF exporter: Fix typo in gltfpack option - Julien Duroure
- Fix: glTF exporter: remove empty action in filter list when refresh - Julien Duroure
- Fix: Use Font Flag to Identify Default Fonts - Harley Acheson
- Fix: missed point_cloud for node tools and more aggressive renaming - Dalai Felinto
- Fix: Grease Pencil ID data evaluation happening in the wrong function - Falk David
- Fix: Geometry Nodes: use object names in Import OBJ node - Jacques Lucke
- Fix: Use matching attribute name for multi-object "Set Attribute" - Hans Goudey
- Fix: missing includes - Nathan Vegdahl
- Fix: missing import in gdb pretty printers - Jacques Lucke
- Fix: Blender as Python Module shared library directory wrong - Brecht Van Lommel
- Fix: Audaspace: Unsupported availability guard - Weizhen Huang
- Fix: MacOS Status Status Bar Swap Areas Spacing - Harley Acheson
- Fix: SubDiv: CPP Shader compilation - Jeroen Bakker
- Fix: Geometry Nodes menu socket can leak memory - Lukas Tönne
- Fix: Grease Pencil: Add channel_color RNA prop to layer groups - Pratik Borhade
- Fix: Compositor asserts for unsupported unavailable sockets - Omar Emara
- Fix: selecting bones of pose assets not respecting multiple slots - Christoph Lendenfeld
- Fix: glTF exporter: fix missing check that a SK slot is assigned - Julien Duroure
- Fix: CMake: Windows: Make ASAN usable again on debug configurations - Ray Molenkamp
- Fix: USD: Don't attempt to export the special custom_normal attribute - Jesse Yurkovich
- Fix: Compiling shaders without opensubdiv - Jeroen Bakker
- Fix: UI: Text shortening function off by one character - Julian Eisel
- Fix: Cycles hardware RT is only supported if all multi devices have it - Brecht Van Lommel
- Fix: Broken "File -> External Data -> Pack Linked Libraries" - Philipp Oeser
- Fix: Hydra incorrect assmes camera object is always a camera - Brecht Van Lommel
- Fix: Hydra camera missing depth of field parameters - Gracjan Jeżewski
- Fix: Cycles performance regression after refactor for light objects - Brecht Van Lommel
- Fix: use selected objects in Visual Geometry to Objects operator - Jacques Lucke
- Fix: Cycles HIP-RT curve motion blur and motion pass - Sahar A. Kashi
- Fix: Constrain Docking Hint to Window Bounds - Harley Acheson
- Fix: Nodes: only expose panel toggles in geometry and shader nodes - Jacques Lucke
- Fix: UI: Transform Feedback for Invalid Trackball - John Kiril Swenson
- Fix: Potential issue in BMesh points index buffer extraction - Hans Goudey
- Fix: glTF Exporter: Avoid crash when action has no slot assigned - Julien Duroure
- Fix: glTF Exporter: Another sanity check about slot - Julien Duroure
- Fix: USD: Incorrect call to Map::add_new during dupli-vert export - Jesse Yurkovich
- Fix: 2D cage gizmo rotation part not being highlighted - Habib Gahbiche
- Fix: Tools: 'issues_needing_info.py' failing - Germano Cavalcante
- Fix: DRW: Wrong logic for Grease Pencil visibility test - Clément Foucault
- Fix: Cursor snapping does not work for Curves bezier handles - Philipp Oeser
- Fix: Scene Time asserts when one output is unused - Omar Emara
- Fix: Keying asserts when Edges output is unused - Omar Emara
- Fix #110650: Drivers not removed if removing their container - Christoph Lendenfeld
- Fix #120697: better error for BVHTree.FromObject() - Philipp Oeser
- Fix #120770: poor un-subdivide performance with disconnected geometry - Jason C. Wenger
- Fix #121609: Shrinkwrap invert vertex group (no group specified) wrong - Philipp Oeser
- Fix #122152: Mask Points select API wrong - Philipp Oeser
- Fix #128966: Update Dopesheet playhead in separate window - Julian Eisel
- Fix #129306: Cycles: Principled coat doesn't pass furnace test - Lukas Stockner
- Fix #129596: Cycles oneAPI crash with interactive BVH updates - Brecht Van Lommel
- Fix #130829: Incorrect render result with light trees - Sergey Sharybin
- Fix #130890: Toggle the offset option after snap fails - Padraig-O-Cinneide
- Fix #131779: Display "inf" / "-inf" for Correct Range of UI Values - Harley Acheson
- Fix #133413: Don't Use Fallback for Sequencer Text Using Custom Fonts - Harley Acheson
- Fix #133713: Crash when drag and dropping bitmap images on macOS - Jonas Holzman
- Fix #134092: Keymap Editor can add an extra . to the end of an attribute - Philipp Oeser
- Fix #134120: Crash evaluating rigid body in animation render - Brecht Van Lommel
- Fix #134189: geometry name lost when processing instances - Jacques Lucke
- Fix #134292: Clone brush cannot access local blendfile images - Sean Kim
- Fix #134436: Compositor is much slower on Windows - Omar Emara
- Fix #134482: Grease Pencil: Interpolation creates uninitialized values - Lukas Tönne
- Fix #134489: Grease Pencil: Simplify operator should follow selection - YimingWu
- Fix #134491: Adjust Text Input Offset When Deleting Selection - Harley Acheson
- Fix #134581: Regression: Animation breaking going from 4.3 to 4.4 - Sybren A. Stüvel
- Fix #134586: EEVEE: Crash when rendering large resolutions - Jeroen Bakker
- Fix #134596: Crash baking light probe while rendering animation - Brecht Van Lommel
- Fix #134605: Crash when deleting view layer during render - Brecht Van Lommel
- Fix #134607: Sequencer render animation preview not working - Brecht Van Lommel
- Fix #134621: Only Update Face Orientation Alpha if Using Old Colors - Harley Acheson
- Fix #134621: Only Update Face Orientation Alpha if Using Old Colors - Harley Acheson
- Fix #134630: Do Not Set Area Subtype For Previously Stored Editors - Harley Acheson
- Fix #134662: Video Sequencer: reset transforms ignores auto keyframing - Philipp Oeser
- Fix #134706: Vertex & Weight Paint do not respect clipping - Sean Kim
- Fix #134707: Dynamic paint brush object movement ignored - Hans Goudey
- Fix #134708: Audio render does not change file extension - Richard Antalik
- Fix #134711: Frame selected shortcut not showing in menu - Pratik Borhade
- Fix #134730: incorrect pan-speed with NDOF auto-center enabled - Kamil Galik
- Fix #134737: Node: Panel deleted when Parented with children - Pratik Borhade
- Fix #134737: Node: Panel deleted when Parented with children - Pratik Borhade
- Fix #134756: Internal text datablock filepath considered missing - Brecht Van Lommel
- Fix #134758: renaming a node breaks animation - Christoph Lendenfeld
- Fix #134770: Multires persistent base doesn't work randomly - Sean Kim
- Fix #134793: Grease Pencil: Set Uniform Opacity cannot set fill opacities - YimingWu
- Fix #134796: Adjust Error Theme Color for Widget Text - Harley Acheson
- Fix #134808: Grease Pencil: Interpolation tool crashes when stroke has zero length - Lukas Tönne
- Fix #134809: Grease Pencil: Proportional edit tweaks locked material strokes - Pratik Borhade
- Fix #134810: animating Grease Pencil layer "hide" option doesn't un-hide - Sybren A. Stüvel
- Fix #134821: "Copy To Selected" can act on non-matching nodes - Philipp Oeser
- Fix #134822: Crash when trying to Join empty PointClouds or Curves - Pratik Borhade
- Fix #134825: Assert in draw code when enabling "Paint Mask" - Philipp Oeser
- Fix #134828: Dynamic topology wireframe overlay crash - Hans Goudey
- Fix #134843: Grease Pencil: Crash duplicating active keyframe - Pratik Borhade
- Fix #134886: Crash with Subdivision modifier update - Clément Foucault
- Fix #134890: Overlay: Missing Weight Paint overlays with Display as Wire - Miguel Pozo
- Fix #134895: Cancelling sculpt mode elastic transforms deforms mesh - Philipp Oeser
- Fix #134898: Grease Pencil: Select Similar doesn't work in stroke mode - Pratik Borhade
- Fix #134909: Crazyspace has incorrect deformed positions due to armature modifier - Falk David
- Fix #134914: Backdrop remain after loading new file - Omar Emara
- Fix #134939: Passes are incorrectly interpreted as vectors - Omar Emara
- Fix #134948: face orientation depends on pivot type (for a single face) - Campbell Barton
- Fix #134954: Mask by Color doesn't work - Sean Kim
- Fix #134969: Grease Pencil: Ensure correct mode for image tracing - YimingWu
- Fix #134972: Do Not Render Text Characters in Control Code Range - Harley Acheson
- Fix #134984: Grease Pencil: Applying a modifier clears keyframe of hidden layer - Falk David
- Fix #134985: Merging layers resets layer opacity - Janne Nylander
- Fix #134992: HIP-RT fails building BVH if Blender path contains space - Sergey Sharybin
- Fix #135009: Python: Can't Set PointerProperty to None - Campbell Barton
- Fix #135010: Crash when using Denoise node - Omar Emara
- Fix #135018: EEVEE: Plane lightprobe renders incorrectly in ortho view - Clément Foucault
- Fix #135018: EEVEE: Plane lightprobe renders incorrectly in ortho view - Clément Foucault
- Fix #135031: data-race in Remove Attribute node - Jacques Lucke
- Fix #135047: missing arrow to collapse/expand in properties - Yahia
- Fix #135052: Grease Pencil: "Convert To" missing in object context menu - YimingWu
- Fix #135073: OBJ import of emissive colors - Nikita Lisitsa
- Fix #135086: Light ray visibility not taken into account without light tree - Brecht Van Lommel
- Fix #135087: Cycles light properties not updating in viewport - Brecht Van Lommel
- Fix #135097: Wrap Text Lines Without Control Chars in Glyph Cache - Harley Acheson
- Fix #135116: DRW: Leaks while using generated metarig rigs - Clément Foucault
- Fix #135122: Crash when using pose assets created without slots. - Christoph Lendenfeld
- Fix #135126: Mantaflow crashes when resizing a liquid domain - Lukas Tönne
- Fix #135129 glTF Collection Exporter: Avoid to export multiple scene info when Collection Export - Julien Duroure
- Fix #135130: Mask from Cavity does not work via operator - Sean Kim
- Fix #135136: UI: Shader node template panels can't collapsed on drag - Pratik Borhade
- Fix #135145: object visible to volume scatter when ray visibility is off - Weizhen Huang
- Fix #135152: crash because of missing gizmo update after closed editor - Jacques Lucke
- Fix #135159: Copied modifier doesn't keep the name of the modifier - Philipp Oeser
- Fix #135163: Grease Pencil layer visibility animation doesn't work in NLA - Sybren A. Stüvel
- Fix #135164: crash when deleting nodes from node tree after appending - Jacques Lucke
- Fix #135185: Delete pose asset crash - Pratik Borhade
- Fix #135190: wrong file path filter for properties - Jacques Lucke
- Fix #135191: Overlay: Edit Mesh: Face selection Z-fighting with edit cage - Clément Foucault
- Fix #135193: Correctly clamp the current frame when starting playback - Sebastian Parborg
- Fix #135200: Linking linking artifacts with light trees - Sergey Sharybin
- Fix #135217: ColorManage Settings RNA paths incomplete/wrong - Philipp Oeser
- Fix #135245: Crash passing a dict for OperatorProperties to RNA funcs - Campbell Barton
- Fix #135246: Overlay: Loose wire disapears when line antialias is off - Clément Foucault
- Fix #135294: Improve missing VR support error message on macOS - Alaska
- Fix #135295: Always Restore Previous Editor with set_or_cycle - Harley Acheson
- Fix #135313: Grease Pencil: Layer adjustments get applied repeatedly during playback - Falk David
- Fix #135330: Incorrect pasted flipped armature keyframes - Philipp Oeser
- Fix #135333: Node tools crash with empty mesh input - Hans Goudey
- Fix #135354: View render animation from Python no longer shows progress - Brecht Van Lommel
- Fix #135355: ops.render.opengl() in the console wont return {'FINISHED'} - Philipp Oeser
- Fix #135357: Overlay-Next: Reference images briefly disappear when entering orthographic view - Miguel Pozo
- Fix #135391: Python type error reporting that addon is for newer version of Blender - Alaska
- Fix #135395: Use new Grease Pencil object type for status bar stats - Aleš Jelovčan
- Fix (experimental) Point Cloud properties editor not showing - Dalai Felinto
- Fix (unreported): Mismatching MEM_new/MEM_freeN on button handling data - Julian Eisel
- Fix (unreported) Depsgraph invalid C-style allocation of non-trivial C++ data. - Bastien Montagne
- Fix (unreported) invalid crash in debug, disabled-by-default code. - Bastien Montagne
-
Fix (unreported) invalid mismatch MEM_new/MEM_freeN on
but->active. - Bastien Montagne - Fix (unreported) potential memory leak in IMBuf. - Bastien Montagne
- Fix assert in BKE_main_namemap when reusing brush assets on fileload. - Bastien Montagne
- Fix exception in poll function when the brush is None - Campbell Barton
- Fix file-selector operators performing an undo push on failure - Campbell Barton
- Fix linting error on buildbot - John Kiril Swenson
- Fix missing report about crashed render tests - Sergey Sharybin
- Fix the line-width controlling UI element scale & drag threshold - Campbell Barton
- Fix use of the pixelsize for the size of rounded area bounds - Campbell Barton
GHOST/Wayland
- GHOST/Wayland: set the size of custom cursors based on the DPI - Campbell Barton
GPU
- GPU: Add --profile-gpu - Miguel Pozo
- GPU: Fix compilation of tests - Clément Foucault
- GPU: Threadsafe shader creation and acquisition - Miguel Pozo
Geometry
Geometry Nodes
- Geometry Nodes: make CSV parser more reliable and faster - Jacques Lucke
- Geometry Nodes: improve multi-threading and avoid redundant work in CSV import - Jacques Lucke
- Geometry Nodes: eagerly update bounding box after CSV import - Jacques Lucke
- Geometry Nodes: support creating import nodes when dropping file paths - Jacques Lucke
Grease Pencil
- Grease Pencil: Make brush asset pinned materials local - Brecht Van Lommel
- Grease Pencil: Channel color for groups - Pratik Borhade
- Grease Pencil: Remove legacy object type references - Pratik Borhade
I18N
- I18N: Updated UI translations from git/weblate repository (8b79ffdf509885). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (c8d9807f023). - Bastien Montagne
I18n
- I18n: Fix Node Wrangler merge menus - Damien Picard
- I18n: Translate quick effect data - Damien Picard
- I18n: Translate "Action" name when created with action.new operator - Damien Picard
- I18n: Disambiguate "Clip" - Damien Picard
- I18n: Disambiguate "Home" - Damien Picard
- I18n: Disambiguate "To" - Damien Picard
ImBuf
- ImBuf: faster orthogonal image rotation - Aras Pranckevicius
- ImBuf: unify color space transform threaded/non-threaded functions - Aras Pranckevicius
- ImBuf: multi-thread IMB_alpha_under_color - Aras Pranckevicius
- ImBuf: speedup/cleanup IMB_display_buffer_acquire - Aras Pranckevicius
Libs
- Libs: Update libs to include the patched openEXR lib - Sebastian Parborg
MEM_guardedalloc
- MEM_guardedalloc: Refactor to add more type-safety. - Bastien Montagne
MSVC
- MSVC: Fix build error with MSVC 2019 - Ray Molenkamp
Mesh Edit Selection
- Mesh Edit Selection: Use last_update for update detection - Clément Foucault
Metal
- Metal: Add support for packed_float3 as storage buffers - Jeroen Bakker
Modeling
Modifiers
- Modifiers: new Visual Geometry to Objects operator - Jacques Lucke
Nodes
- Nodes: support filepath filter for import nodes - Jacques Lucke
- Nodes: UI: always draw panels as collapsible in tree view - Jacques Lucke
- Nodes: support boolean inputs as toggles in panel headers - Falk David
- Nodes: UI: support panel toggles in materials tab - Jacques Lucke
Object Mode
- Object Mode: conversion no longer depends on the active object - Campbell Barton
OpenEXR
- OpenEXR: Change DWA compression mapping - Sergey Sharybin
Overlay
- Overlay: Add tests - Miguel Pozo
- Overlay: Add support for CPP shader compilation - Clément Foucault
Point Cloud
- Point Cloud: Support view selected operator in edit mode - Hans Goudey
- Point Cloud: Implement join operator - Hans Goudey
- Point Cloud: Select Random - Dalai Felinto
- Point Cloud: Draw selection overlay - Dalai Felinto
- Point Cloud: Remove multiplication in radius extraction and shaders - Hans Goudey
Pointcloud
- Pointcloud: Integration with transverts (cursor snapping) - Philipp Oeser
PyAPI
- PyAPI: Support KeyConfig.keymaps.find_match(...) - Campbell Barton
- PyAPI: Support KeyMap.keymap_items.find_match(...) - Campbell Barton
PyAPI Docs
- PyAPI Docs: Properly document byte string types - Aaron Carlisle
- PyAPI Docs: Increase the width of "On this page" region - Aaron Carlisle
RNA
Refactor
-
Refactor: Replace
RNA_POINTER_INVALIDATERNA/BPY macro usages. - Bastien Montagne -
Refactor: VSE: Remove
sceneparameter of some time functions - Falk David -
Refactor: VSE: Remove
scenedependency ofSEQ_lookup_*functions - Falk David - Refactor: DRW: Put all curves/hair related data into CurvesModule - Clément Foucault
- Refactor: DRW: Move color ramp texture creation to Overlay::Instance class - Clément Foucault
- Refactor: DRW: Move GlobalsUboStorage handling to Overlay::Instance class - Clément Foucault
- Refactor: DRW: Move all volume and pointcloud related data into modules - Clément Foucault
- Refactor: Simplify grease pencil brush material API surface - Brecht Van Lommel
-
Refactor: Core: Make
BKE_libblock_alloc_notestreturn ID pointer. - Bastien Montagne - Refactor: BLI: extract function to convert bytes to bits - Jacques Lucke
-
Refactor: split
animrig::action_fcurve_ensure()into two components - Sybren A. Stüvel -
Refactor: rename
BKE_fcurve_bezt_shrinkto..._resizeand allow growing - Sybren A. Stüvel -
Refactor: pass
FCurveDescriptoras const reference instead of value - Sybren A. Stüvel - Refactor: make FCurve and Channelbag 'ensure' functions return a reference - Sybren A. Stüvel
- Refactor: DRW: Centralize and clean up packed normals conversion - Hans Goudey
- Refactor: Compositor: Use BKE conversions for MF operation - Omar Emara
- Refactor: Compositor: Use int32_t as result type - Omar Emara
- Refactor: Select: Use IndexRange for the element selection - Clément Foucault
-
Refactor: BLI: Re-implement
BLI_string_split_name_numberin C++. - Bastien Montagne - Refactor: DRW: Make DRWManager more C++ oriented - Clément Foucault
- Refactor: Core: ID's 'namemap' used to generate unique ID names. - Bastien Montagne
- Refactor: Nodes: Use Map instead of GHash for compositor previews - Hans Goudey
-
Refactor: DRW: Pass
ObjectRefdirectly to engine object sync - Clément Foucault - Refactor: DRW: Make Dupli batch extraction use C++ types - Clément Foucault
- Refactor: DRW: Remove access to global context for instance data - Clément Foucault
- Refactor: Curves: Various changes to draw cache extraction - Hans Goudey
Refactor/Fix
- Refactor/Fix: WM messagebus: invalid usage of calloc/free on data embedding PointerRNA. - Bastien Montagne
Release
- Release: Update license.md for 4.4 - Thomas Dinges
Release tools
Revert "Cleanup
- Revert "Cleanup: GPU: Reduce compilation warnings" - Jeroen Bakker
Revert "Fix #130372
Revert "Fix (unreported) invalid mismatch MEM_new/MEM_freeN on
but->active
."
SVG
- SVG: Batch import SVG as curves files - Maxime-Cots
Sculpt
Spreadsheet
SubDiv
- SubDiv: Use shader create info for SubdivNormalsFinalize shaders. - Jeroen Bakker
- SubDiv: Add base for polygon offset - Jeroen Bakker
- SubDiv: Use shader create info for normal accumulation shader - Jeroen Bakker
- SubDiv: Use shader create info for lines shader - Jeroen Bakker
- SubDiv: Use shader create info for triangle indices shader - Jeroen Bakker
- SubDiv: Use shader create info for lnor shader - Jeroen Bakker
- SubDiv: Use shader create info for edge fac shader - Jeroen Bakker
- SubDiv: Use shader create info for sculpt data - Jeroen Bakker
- SubDiv: Use shader create info for stretch overlays - Jeroen Bakker
- SubDiv: Use shader create info for custom data - Jeroen Bakker
- SubDiv: Use shader create info for patch evaluation shader - Jeroen Bakker
Tests
- Tests: Add render test for light falloff node - Alaska
- Tests: Generate render diffs in parallel - Miguel Pozo
- Tests: Move sculpting render tests out of WITH_GPU_RENDER_TESTS - Sean Kim
- Tests: Compositor: update failing images only - Habib Gahbiche
- Tests: Add render tests for outputs of the light path node - Alaska
- Tests: Temporarily block glossy light path tests - Alaska
-
Tests: Add
sculpt.mask_from_cavityoperator test - Sean Kim - Tests: Add a Cycles test for #135200 - Alaska
- Tests: Add Cycles tests for ray visibility on lights - Alaska
UI
- UI: Vertically Aligned Grip Icon - Harley Acheson
- UI: Add Icons to Represent Error Conditions - Harley Acheson
- UI: Skip Internal Operators For Idle Status Bar - Harley Acheson
- UI: Rename 'Inverse' to 'Invert' in File/Asset Browser - IREXTIA
- UI: Do Not Show Editor Border for Single Area Separated Windows - Harley Acheson
- UI: Select Operator Name Improvements - Harley Acheson
- UI: Show ANIM_OT_change_frame as "Set Frame (Solo Preview)" in VSE - Harley Acheson
- UI: Ensure invisible scrollbar tracks are opaque and shrink scrollbars with handles - John Kiril Swenson
- UI: add larger mouse cursors - Harley Acheson
- UI: Collections: Rename & update Restrictions panel for consistency - Quentin
- UI: Update curves edit mode menus - Mattias Fredriksson
- UI: Show "Not Found" Icon when Not Found - Harley Acheson
USD
- USD: Improved sanitation of names with leading digits - Jesse Yurkovich
- USD: Add Capsule_1 and Cylinder_1 Shapes to USD importer - Maxime-Cots
- USD: import skeletal animation as slotted Actions - Sybren A. Stüvel
Unbreak build from missing include on some configurations
- Unbreak build from missing include on some configurations - Campbell Barton
Undo
VSE
- VSE: speedup RE_render_result_rect_from_ibuf by avoiding memory clear - Aras Pranckevicius
Vulkan
- Vulkan: Enable vk loader logging - Jeroen Bakker
Windows
- Windows: Rework clang scripts, and enable by default on Windows ARM64 - Anthony Roberts
- Windows: Enable OpenMP on ARM64, and quiet new noisy warning - Anthony Roberts
Windows ARM64
- Windows ARM64: Update deps with new OpenEXR patch - Anthony Roberts
glTF
- glTF: Fix: bad check type in a previous commit - Julien Duroure
- glTF: New option to export Vertex Color with a given name - Julien Duroure
glTF exporter
- glTF exporter: Better slot management: - Julien Duroure
macOS arm64/x64
make.bat
- make.bat: show hash/branch for test repository when available - Ray Molenkamp
19 Comments
Hi Pablo, glad to see you back and congrats also to Blender regarding Flow, its amazing. Just wanted to give a call out for this bug that is 4 years old. Basically the skin modifier is not compatible with Geometry Nodes. This is a significant limitation as the skin modifier algo is quite good and useful for many purposes. So would just like to give a little push, for the devs to not forget about this. projects.blender.org/blender/blender/issues/89823
Thank you!!!
What if the Camera Panel Tab was always active / showing?
You could select the active camera there. If there isn't a camera on the scene, it's greyed out.
Way better than having to find / select the camera every time and it's more intuitive.
i think @Blender should have fspy features in build for VFX , because original creator are not developing that software anymore (last update was like 5 year ago)
Hey Pablo, do you think there could be like a complete universal node graph for a complete Blender file in the future? Like a node graph that shows everything from mesh, parents, collections, shaders, textures, modifier, geonodes, sims, lights etc. from a top down view, kind of like USD already and some other software (magician). IMO not only it would be very powerful and procedural, it could make copying or linking shaders, modifiers, lights etc. really easy as all shaders, geonodes etc. can be represented as one node and then when you double click it, it will open the shader or geonode editor for you to modify. Maybe it could even show what assets are linked as well with other Blender files as well.
I totally agree and even got a RCS feature request about it, feel free to add to it: blender.community/c/rightclickselect/492x/
Didn't know about it, looks really cool, i'll upvote it.
Not a real question, just... your Game, I think you want to bring it to Steam. That would be awesome. but think about something like a small charge for it. like 5€. Or something like a free tier and just like a "empty" 5€ Charge for some kind of Addon. Skin. Whatever. It's just to give the people a way to spend directly some money for that game and for Blender directly there. Might work. Might give some more funds for Blender :). Because people can just spend money right there. Enjoy :D Can't wait to play it.
I agree! a 5 buck "supporter addition" that comes with the blender cloud stuff would be great!
I think it would be better if they did all of it on their own servers and possibly show a pay button there. If they use steam, a big cut probably will go to steam and that is a waste of money. Perhaps the possible pool of customers is bigger. But the payment would also be small due to the cut steam takes
Additionally. No one says that they can't offer it somewhere else. Why Steam? Convenience. All Games in one Place. Option to play it easily on the Steam Deck. Sure, Steam takes a cut - but if that means that you can reach more people - why not. And that is the thing with a game. While a Video on Youtube is easily watchable, a Game has - depending on the platform even - a little more of a upwards battle. And you can still give it away for free and add something like a Blender Supporter DLC for money which doesn't really add anything. Or maybe a Skin. Or maybe a Badge at the Main Screen.
Hey Pablo... ;)... Thank you for this Episode. Have a good time and thanks to all @blender.
Hi Pablo!! What is the current state of Grease Pencil right now? Thank you
Oi, Pablo!
Any news on nondestructive rigging? Like with 3D envelopes. Been super busy, I remember some whispers about it early last year, but meeting notes have been empty of it for a bit.
Also, Thanks for being so supportive of Blender's community- just sent my first pull request! Turns out I can crawl around in kernel, but my math-brained head melts at understanding git. On theme with "blender tomorrow", I guess I'll show off my pull request a little early!
big n00b here, so if it's bad form to show off WIP's, don't click, please!- projects.blender.org/blender/blender/pulls/135380
I'm just super excited because for a long time contributing has felt like something beyond me. I wanted to tell the other aspiring devs to just dive in! It feels great when you compile your own personal branch of blender, and understanding the codebase comes through changing it, not just trying to learn it!
also, Alaska helped and set up a package build. Help me test it here:
builder.blender.org/download/patch/PR135380/ and if you find a bug, speak up here! devtalk.blender.org/t/cycles-and-surface-normals-normalmap-shading/38176/35
Hi Pablo, are there any plan for section tool ?, In Architectural visualization it is very much necessary. And also export section to dxf.
Hi Pablo, I wanted to ask you about some bugs that weren't included in the "winter of quality" especially the object mapping rotated texture bug: projects.blender.org/blender/blender/issues/44014
It's been 10 years of this bug! broken since blender 2.74 👀
Is there a plan to solve these old bugs that affect daily use? Object mapping is often used to project a fast texture, and currently it's impossible to rotate textures without breaking them!
I also wanted to ask you about the Simulation Nodes and physics nodes projects (solvers, etc), since they weren't mentioned in this year's road map. Are they really not being worked on this year? I'm waiting for the old particle system to be deprecated, since it was announced years ago. But since there are no updates to the new system we're halfway through. Should I keep waiting or use the old particle system??
I also wanted to ask you about donating to Blender. Is it better to donate to Blender or join Blender Studio? Is it the same? Which would you recommend?
Thank you very much for all the live videos! Saludos desde Buenos Aires, Argentina! 💙🤍💙
Hey Pablo :) Falk here! This is the proposal I mentioned: devtalk.blender.org/t/grease-pencil-material-stroke-fill-workflow-revamp-feedback/39354 This has been proposed by the module and was talked about internally a few times already. Now it's an official proposal and we need artists feedback :)
Thanks!
Hi Pablo!
Yay for flow! I'll leave it at that, I'm sure comments will be swamped with flow comments.
I was wondering about Vulcan integration in Blender. It seems to be coming along very well. Do you think we will be seeing it out of experimental this year?
Hi Pablo, I wanted to know why holding alt on multiple selected image texture does not change UDIM to all image texture. I have to manually do it for all texture. If I duplicate the same texture and hold alt to change UDIM it works for both, but it does not work for the texture I imported with node wrangler shortcut ctrl+shift+T for some reason. Thank you