Community 10 Jun 2025 Xerox-CX560 youtube.com Xerox-CX560 RyanKingArt Community 1 Published 10 Jun 2025 GREASE PENCIL in your BROWSER - Blender Today LIVE #260 https://youtube.com/watch?v=tVPFsmMACUY X Xerox-CX560 10 Jun 2025 1 Comment p pablovazquez 12 Jun 2025 Changelog between May 27, 2025 - June 10, 2025 at 12h 393 commits in total, of which 114 are fixes and 1 cleanup. ANIM 🔸 ANIM: optimize proportional editing many keys in the Graph Editor - Philipp Oeser Add new versioning source file template. Add new versioning source file template. - Bastien Montagne Allocator Allocator: Use calloc when alignment is compatible - Hans Goudey Blender 4.5 Forward Compatibility for Long ID Names. 🔸 Blender 4.5 Forward Compatibility for Long ID Names. - Bastien Montagne Brush 🔸 Brush: Remove legacy icon replaced by asset preview image - Hans Goudey Build Build: Make Zstandard use our zstd library - Sebastian Parborg Build: Enable Vulkan in USD (no Vulkan SDK) - Sebastian Parborg Build: resolve build error with USD enabled - Campbell Barton Build: DPCPP, don't build tests as they are not needed - Sebastian Parborg Build: Remove features from blosc that we don't use - Sebastian Parborg Build: Make libraries compile on Linux ARM64 again - Brecht Van Lommel Build: remove OpenCollada libs - Aras Pranckevicius Build: unbreak building with GCC 15 - Campbell Barton Cleanup Cleanup: Fix comment (update reference to ID_NEW_SET macro). - Bastien Montagne Cleanup: Unused arguments in Cycles kernel - Brecht Van Lommel Cleanup: Nodes: Remove always-null arguments - Hans Goudey Cleanup: GPU: Simplify GLCompilerWorker management - Miguel Pozo Cleanup: Fix incorrect reference to MAX_ID_NAME-2 for Mask's layer name. - Bastien Montagne Cleanup: Use C++ style casts for Brush type - Sean Kim Cleanup: Use functional style cast for node socket type enum - Hans Goudey Cleanup: Remove unused variables in sculpt_undo.cc - Sean Kim Cleanup: use doxygen doc-strings, spelling (make check_spelling_*) - Campbell Barton Cleanup: unused parameter warning - Campbell Barton Cleanup: Use functional style case for eCustomDataType - Hans Goudey Cleanup: Vulkan: Silence logging - Jeroen Bakker Cleanup: Remove unnecessary const in BKE_brush.hh - Sean Kim Cleanup: Remove unnecessary qualifiers in BKE_paint.hh - Sean Kim Cleanup: Grammar: Fix uses of "it's own" - Hans Goudey Cleanup: Grammar: Fix uses of "for e.g." - Hans Goudey Cleanup: spelling & duplicate terms (check_spelling.py) - Campbell Barton Cleanup: VSE: Standardize "Crossfade" and "Gamma Crossfade" naming - John Kiril Swenson Cleanup: use a separate logging callback in background in Wayland - Campbell Barton Cleanup: VSE: Replace redundant "Change Effect Input" with "Swap Inputs" - John Kiril Swenson Cleanup: add missing include - Campbell Barton Cleanup: move PlayheadSnappingPanel out of tool-system module - Campbell Barton Cleanup: typo - Jacques Lucke Cleanup: repeated typo - Jacques Lucke Cleanup: correct documentation of BLI_uniquename_cb for dynamic strings - Sybren A. Stüvel Cleanup: Unused parameter warning - Brecht Van Lommel Cleanup: Grammar: Fallback vs. fall back - Hans Goudey Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton Cleanup: remove redundant checks for UV data layers - Campbell Barton Cleanup: Comment code style - Christoph Lendenfeld Cleanup: Use CurvesGeometry::is_empty() - Falk David Cleanup: Move more draw cache functions to C++ namespace - Hans Goudey Cleanup: Remove unnecessary struct prefix in BKE_brush.hh - Sean Kim Cleanup: Move eUnifiedPaintSettingsFlags to DNA_scene_enums.h - Sean Kim Cleanup: Rename and move BKE_sculpt_check_cavity_curves - Sean Kim Cleanup: spelling in comments & duplicate terms (check_spelling.py) - Campbell Barton Cleanup: add missing braces in walk/fly mode - Campbell Barton Cleanup: remove invalid comment - Campbell Barton Cleanup: remove unused functions in UI scripts - Campbell Barton Cleanup: Remove meaningless const for return by value - Hans Goudey Cleanup: Sculpt: Remove unused argument - Hans Goudey Cleanup: spelling in comments - Campbell Barton Cleanup: const-correctness for GHOST's IME events - Campbell Barton Cleanup: const-correctness for array-store references - Campbell Barton Cleanup: correct misleading names - Campbell Barton Cleanup: Make format - Thomas Dinges Cleanup: Assert normalized first before performing any operation - Mohamed El Shorbagy Cleanup: GPU: Use CLOG instead of std::cout for profile error - Clément Foucault Cleanup: spelling, use doxygen comments, move doc-string to declaration - Campbell Barton Cleanup: Cycles: remove unused variable - Weizhen Huang Cleanup: minor changes to spreadsheet header filtering - Campbell Barton Cleanup: quiet unused variable warning - Jacques Lucke Cleanup/Fix Cleanup/Fix: BLO: Include missing header. - Bastien Montagne Compositor 🔸 Compositor: set crop node default size to 1920x1080 - Habib Gahbiche Compositor: Take virtual sockets into consideration - Omar Emara 🔸 Compositor: Add support for Group Input node - Omar Emara 🔸 Compositor: Turn Flip node options to inputs - Omar Emara 🔸 Compositor: implement toggle for backdrop gizmos - Habib Gahbiche Compositor: Maintain alpha in Lens Distortion node - Mohamed Hassan 🔸 Compositor: Expose EWA sampling in interpolation enum - Benjamin Beilharz Core 🔸 Core: Show all path template errors in the UI - Nathan Vegdahl Core: lock stack trace printing - илья _ Core: Add data-level support for new 'system IDprops' storage for Blender 4.5 forward compatibility with 5.0 blendfiles - Bastien Montagne Core: add id_cast function as more type-safe reinterpret_cast alternative - Jacques Lucke Curves Curves: Unit tests for curves::nurbs::calculate_knots - Mattias Fredriksson Cycles 🔸 Cycles: Use HIP SDK 6.4.0 on Linux - Sergey Sharybin Cycles: Show device optimizations status in preferences for oneAPI - Nikita Sirgienko Cycles: Switch OptiX OSL to use LLVM bitcode for shadeops - Lukas Stockner Cycles: Bump OptiX minimum and release version to 8.0.0 - Brecht Van Lommel Deps 🔸 Deps: Update python packages - Thomas Dinges Docs Docs: update code layout diagram - Campbell Barton Docs: Grammar and wording cleanups for FileHandler examples - Jesse Yurkovich Docs: use single quotes instead of back-ticks - Campbell Barton Draw Draw: Remove direct use of duplis from engine code - Miguel Pozo EEVEE 🔸 EEVEE: Use simpler hash for ObjectKey - Hans Goudey 🔸 EEVEE: Add deferred texture loading - Clément Foucault 🔸 EEVEE: Split static shaders in different compilation batches - Clément Foucault Fix Fix: Gizmo for Crop Node is broken - Habib Gahbiche Fix: compositor gizmos sometimes have no effect - Habib Gahbiche Fix: Weekly report script error when no PR found for branch - Julian Eisel Fix: Nodes: cannot make menu input expanded - Jacques Lucke Fix: BLO: Invalid handling of duplicated libraries in readfile code. - Bastien Montagne Fix: Assets Browser: asserts on unknown import method values. - Bastien Montagne Fix: Core: VectorList iterator after clear - Miguel Pozo Fix: USD: Set midlevel and scale inputs for constant displacement - Jesse Yurkovich Fix: Cursor options display inactive in Sculpt Mode - Sean Kim Fix: Sculpt Filter tools may not initialize radius - Sean Kim Fix: VSE: Reassign Inputs erroring - John Kiril Swenson Fix: VSE: Add missing effect types to "change effect type" menu - John Kiril Swenson Fix: GPU: Failling test caused by missing push constant - Clément Foucault Fix: Shader CPP compiler error - Jeroen Bakker Fix: Geometry Nodes: Show menu socket name in boolean Switch nodes - Lukas Tönne Fix: Various fixes to unused CustomData to AttributeStorage conversion - Hans Goudey Fix: Asset library tests using wrong internal asset library type - Julian Eisel Fix: GPU: Invalid logic in StaticShader::get() - Clément Foucault Fix: GPU: Make StaticShader::ensure_compile_async request for ready state - Clément Foucault Fix: Graph Editor Circle/Lasso select fails to select handles - Philipp Oeser Fix: Metal parallel shader compilation does not respect -t option - Brecht Van Lommel Fix: VSE source cache eviction logic - Aras Pranckevicius Fix: Use Color Temperature prop subtype for light temperature - Damien Picard Fix: Incorrect handling of asset libraries from Preferences - Julian Eisel Fix: Memory leak in Image Coordinates node - Omar Emara Fix: Crash in BVH2 instance packing after recent bugfix in bc543ec5312d - Brecht Van Lommel Fix: Compile error in node socket shape shader - Hans Goudey Fix: Mantaflow OpenVDB cache hollow volume artifacts - Bartosz Kosiorek Fix: Geometry Nodes: Duplicate Elements node propagates instance handles incorrectly - илья _ Fix: Cryptomatte pick layer is wrongly displayed sometime - Omar Emara Fix: Crash when starting asset preview screenshot in the header - Christoph Lendenfeld Fix: OpenGL: Hang when subprocess crashes - Miguel Pozo Fix: inconsistent directory path in make.bat - chunfeng_tsin-2 Fix: Crash with frame nodes after recent fix - Hans Goudey Fix: PyDocs: Annotations for callables with variable number of arguments - Andrej730 Fix: wrong pointer passed to RNA_pointer_create_discrete - Jacques Lucke Fix: assert in auto smooth operator - Jacques Lucke Fix: use getter function for Library.parent in RNA - Jacques Lucke Fix: OSL camera templates should not have copyright and license header - Brecht Van Lommel Fix: Curves: Custom knots in Curves and GP operators - Laurynas Duburas Fix: Texture paint color jitter dereference of uninitialized optional - Hans Goudey Fix: UV Editor doesn't show UVs in non-edit modes - Sean Kim Fix: Geometry Nodes: Unnecessary "Curve to Mesh" scale input versioning - Falk David Fix: UnifiedPaintSetting converting values incorrectly - Sean Kim Fix: uninitialized TransData center for Curves proportional editing - Philipp Oeser Fix: PyAPI Docs: Document more msgbus limitations - Andrej730 Fix: GPU: Metal: Compilation error - Clément Foucault Fix: Quiet unused variable warning - Guillermo Venegas Fix: Build error with OpenSubdiv disabled - Hans Goudey Fix: Build warning due to unnecessary default constructor - Pratik Borhade Fix: Overlay: Shader compilation warnings - Clément Foucault Fix: Append: Error message when appending liboverrides. - Bastien Montagne Fix: Silence warning in BKE_brush_calc_curve_factors - Sean Kim Fix: PyDocs: Syntax error in PointerProperty assignment - Steve-Paws Fix: #140028: Vulkan: Incorrect move of resources - Jeroen Bakker Fix: Value property in shape key tree rows - Pratik Borhade Fix: Assets: Grease Pencil erasers - Falk David Fix: Assets: Grease Pencil fill defaults - Falk David Fix #105546: Cycles volume uninitialized when frame is beyond valid range - Weizhen Huang Fix #118207: avoid floating point calculations when computing random integer - Jacques Lucke Fix #125944: Outliner: Child objects missing when linked to other collection - Pratik Borhade Fix #125974: Theme: TreeView list items use wrong theme settings - Pratik Borhade Fix #130597: Grease Pencil: Brush cursor radius not working in perspective projection. - casey-bianco-davis Fix #132700: Grease Pencil: Strokes with locked materials receive weight value - Sietse Brouwer Fix #133533: Inverted scroll direction in render pass menu - Marc Hamamji Fix #133738: missing update when input of zone without link changes - Jacques Lucke Fix #134599: Win32 Automatically Detect Language for Chinese Variations - Harley Acheson Fix #137120: Asset catalogs overwitten by pre-existing ones on file save - Julian Eisel Fix #137236: performance regression with nonsensical face material indices - Jacques Lucke Fix #137238: Collection asset placement not working with collection hierarchies. - Bastien Montagne Fix #137238: Collection asset placement not working with collection hierarchies. - Bastien Montagne Fix #137662: Auto-validate meshes during USD import if we detect bad faces - Jesse Yurkovich Fix #137735: Scale Icon Border Intensity by Icon Alpha - Harley Acheson Fix #137909: Vulkan: Recover from allocation errors - Jeroen Bakker Fix #137942: Grease Pencil: Make layer operators non-editable for linked data - Pratik Borhade Fix #137966: oneAPI crash when max texture size is exceeded - Brecht Van Lommel Fix #138085: Nodes: allow panel toggles in panels with outputs - Jacques Lucke Fix #138175: EEVEE crash with multiple materials in sculpt mode multires - Hans Goudey Fix #138509: Cycles: Point clouds do not render properly when using spatial splits - David Murmann Fix #138511: support dropping material asset into Set Material node - Jacques Lucke Fix #138533: Cryptomatte node fails for animated images - Omar Emara Fix #138654: reset menu socket to default value does not work - Jacques Lucke Fix #138662: Image Editor View and Mask modes show UVs - Sean Kim Fix #138793: Grease Pencil: Tag ID update after conv from legacy curves - YimingWu Fix #138920: EEVEE: Crash when switching workspace with world volume - Clément Foucault Fix #139019: Grease Pencil: Support converting materials from Curve - YimingWu Fix #139043: Asset shelf previews not updating when preview is changed - Julian Eisel Fix #139157: Fix Movement of Numbers in animation editors - Harley Acheson Fix #139172: group outputs show up in link-drag-search incorrectly - Jacques Lucke Fix #139214: Wrong FBX file imported when dropping with a preset - Guillermo Venegas Fix #139248: Update IME Data with GHOST_kEventImeComposition Event - Harley Acheson Fix #139274: Grease Pencil: Update vertex color overlay value - YimingWu Fix #139314: Copy Keyframes copies a frame if only a handle is selected - Philipp Oeser Fix #139327: Movie distortion result is cropped - Omar Emara Fix #139369: Crash pasting 3D text from a curve with more materials - Campbell Barton Fix #139391: take dynamically added vertex groups into account in armature modifier - Jacques Lucke Fix #139443: WM: Clear draw region framebuffers to avoid corruption - Christoph Neuhauser Fix #139449: Show gizmos in viewport when selecting gizmo nodes - Marc Hamamji Fix #139466: Grease Pencil: Face Project / Face Nearest snapping broken - Philipp Oeser Fix #139471: Grease Pencil: Trace materials must be created on main thread - Lukas Tönne Fix #139516: crash when enabling shader node previews - Jacques Lucke Fix #139546: Vulkan: Race condition during rendering resulting in a stall - Jeroen Bakker Fix #139550: Modeling: Add error message for invalid mesh data transfer - YimingWu Fix #139553: EEVEE: Vulkan raytracing denoising pink propagation - Clément Foucault Fix #139558: Incorrect shader when using edge slide even - Jeroen Bakker Fix #139565: PyGPU: Add builtin point shaders - Jeroen Bakker Fix #139565: Update GPU polyline examples - Jeroen Bakker Fix #139572: Grease Pencil: Support pasting strokes into multiple frames - YimingWu Fix #139580: Movie proxies can be missing the last frame - Aras Pranckevicius Fix #139586: Switch node crops input image - Omar Emara Fix #139590: Draw: Ensure dupli batches are always extracted - Miguel Pozo Fix #139617: Crash when activating brush - Sean Kim Fix #139645: Incorrect preview rendering for screenshot previews - Christoph Lendenfeld Fix #139648: Crash when capturing screenshot preview with selection over window edges - Dhiraputta Pathama Tengara Fix #139656: FBX importer does not set normalmap textures as "non-color" - Aras Pranckevicius Fix #139666: Grease Pencil: Fix modifier type when getting defgroup names - YimingWu Fix #139670: Cycles crash with persistent data and light geometry - Brecht Van Lommel Fix #139675: Mesh analysis crashes in editmode with instances - Philipp Oeser Fix #139681: Cursor appears in walk navigation after hovering over gizmo - Campbell Barton Fix #139705: Generate undo step after cancelling node.join_named - Pratik Borhade Fix #139721: Audio: Blender hang on startup - Jörg Müller Fix #139726: EEVEE: HiZ unneeded filtering - Jeroen Bakker Fix #139726: EEVEE: HiZ unneeded filtering - Jeroen Bakker Fix #139750: Crash in structure type inferencing with missing data-block - Hans Goudey Fix #139752: missing update when changing camera parameters - Jacques Lucke Fix #139753: Discontinuity in mesh tangent without UV map - Weizhen Huang Fix #139773: Grease Pencil: Copy vgroup names when converting from mesh - YimingWu Fix #139776: Grease Pencil: Prevent fillet on empty curves - YimingWu Fix #139780: Always Enforce Minimum Area Heights on File Load - Harley Acheson Fix #139782: USD MeshSequenceCache modifier using the wrong frame - Philipp Oeser Fix #139791: Crash with HIP-RT and multi GPU BVH after recent fix - Brecht Van Lommel Fix #139810: Missing git lfs checkout in make update. - Bastien Montagne Fix #139816: Corrupt wireframe with antialiasing off and subdivision - Hans Goudey Fix #139828: Proportional edit connected only fails with some topology - Brecht Van Lommel Fix #139846: Plane brushes behave incorrectly with constant falloff - Sean Kim Fix #139856: Ellipse/Box mask size is clamped - Omar Emara Fix #139863: Retiming sound does not tag depsgraph - Richard Antalik Fix #139898: Vulkan: Asan issue during color picking - Jeroen Bakker Fix #139898: Vulkan: Read out of bounds with color picking - Jeroen Bakker Fix #139901: UI: Incorrect flow when drawing scopes - Jeroen Bakker Fix #139903: Don't Check Minimum Size for Areas Not Yet Initiated - Harley Acheson Fix #139904 glTF: Fix typo regression for uri - Julien Duroure Fix #139913: Brush size doubles each time you draw - YimingWu Fix #139917: Vulkan: Increase number of render frames - Jeroen Bakker Fix #139966 glTF: Fix unquote uri filenames - Julien Duroure Fix #139969: Clay Strips brush can corrupt mesh - Sean Kim Fix #139981: volume transform crash with bad matrix - Jacques Lucke Fix #139985: refit column width when data type changes - Jacques Lucke Fix #140014: enforce minimum width when creating group from reroute node - Jacques Lucke Fix #140017: creating a node group from Bake node crashes - Jacques Lucke Fix #140018: no warning when using bake node or simulation in zone - Jacques Lucke Fix #140034: Unhandled Python exception in the spreadsheet UI - Campbell Barton Fix #140072: Overlay: UV Stretch ANGLE Overlay always shows green in 4.5 - Clément Foucault Fix #140078: Sculpt Paint brushes can apply NaN - Sean Kim Fix #81089: Pointiness bright spot artefacts at small scale - Weizhen Huang Fix (unreported) 'too new' libraries not always correctly detected. - Bastien Montagne Fix (unreported) ID copied in libs making their depencies directly linked. - Bastien Montagne Fix PyAPI doc generation: add back a 'context' entry removed by mistake. - Bastien Montagne Fix UV select similar missing selection flushing calls - Campbell Barton Fix UV select similar vertex & edge tagging for updates on every face - Campbell Barton Fix UV select similar with multi-object editing & sync-select - Campbell Barton Fix bug in dissolve edges that was introduced in 4.4 - Jason C. Wenger Fix command line help text mixing up "-a" arguments - Campbell Barton Fix crash de-selecting UV edge loops in edge-selection mode - Campbell Barton Fix crash dissolving two adjacent edges of a quad - Jason C. Wenger Fix crash picking geometry with out of range material indices - Campbell Barton Fix edge dissolve leaving visible edges connected to hidden vertices - Campbell Barton Fix edit-mode check when removing materials - Campbell Barton Fix failure to start with an unknown --gpu-backend - Campbell Barton Fix invalid blend-file writing logic in "Add color jitter support" - Campbell Barton Fix missing call to MOV_exit in the animation player - Campbell Barton Fix out of bounds read from recent undo optimization - Campbell Barton Fix out-of-bounds write with Wayland compose-key event handling - Campbell Barton Fix the order dissolve angle is shown in the redo panel - Jason C. Wenger Fix use after free error rendering in background mode on Wayland - Campbell Barton Fix wm.operator_presets_cleanup failing to exclude collections - Campbell Barton GPU GPU: Metal: Add --profile-gpu support for CPU timing - Clément Foucault 🔸 GPU: Add CompilationPriority - Miguel Pozo 🔸 GPU: Add async compilation to StaticShader class - Clément Foucault GPU: Always use MTLShaderCompiler - Miguel Pozo GPU: Add compilation constants - Clément Foucault GPU: Shader: Also move the compilation handle in static shaders - Clément Foucault GPU: Add profiling groups for subprocess compilation - Clément Foucault 🔸 GPU: OpenGL: Add support for non-blocking specialization - Clément Foucault GPU: GLProgram: Use unique pointer instead of movable object - Clément Foucault 🔸 GPU: Enable GL multithreaded compilation by default - Clément Foucault GPU: Shader: Add support for shader entry points - Clément Foucault Geometry Nodes 🔸 Geometry Nodes: add error message when simulation is in loop or closure - Jacques Lucke 🔸 Geometry Nodes: Socket structure type and display changes - Hans Goudey 🔸 Geometry Nodes: add error message when simulations are not supported - Jacques Lucke 🔸 Geometry Nodes: new Format String node - Jacques Lucke 🔸 Geometry Nodes: initialize String node width based on content - Jacques Lucke Geometry Nodes: initialize String node when using link-drag-search - Jacques Lucke 🔸 Geometry Nodes: support structure types in closures - Jacques Lucke Grease Pencil 🔸 Grease Pencil: remove "Weights" from editmode menu - Philipp Oeser 🔸 Grease Pencil: Fill Tool: Draw fill guides - Falk David 🔸 Grease Pencil: Edit Mode Outline Strokes operator - Casey Bianco-Davis 🔸 Grease Pencil: Support exporting animated SVGs - Leon Schittek 🔸 Grease Pencil: Add Convert Curve Type operator - Falk David 🔸 Grease Pencil: Motion Blur support - Falk David Hydra Hydra: Add selection of Vulkan HGI - Jeroen Bakker I18N I18N: Updated UI translations from git/weblate repository (d201f173c9e12). - Bastien Montagne IO 🔸 IO: Remove Collada import/export - Aras Pranckevicius ImBuf 🔸 ImBuf: Remove pre-2.80 Texture mipmaps/filters - Aras Pranckevicius Improve Blender resilience to blendfile DNA data corruption. Improve Blender resilience to blendfile DNA data corruption. - Bastien Montagne JACK JACK: Fix a mutex deadlock when trying to start/stop playback - Sebastian Parborg Libs Libs: Update to 4.5 Linux libs - Sebastian Parborg Logging Logging: remove explicit newlines - Campbell Barton Mesh Mesh: 5.0 changes for mask, custom normals, UV seam - Hans Goudey 🔸 Mesh: Separate GPU subdivision normals and positions - Hans Goudey Modeling 🔸 Modeling: add an angle threshold that affects vertex dissolve - Jason C. Wenger Modifiers 🔸 Modifiers: Change softbody fuzzy default value - Pratik Borhade Movie Clip Editor 🔸 Movie Clip Editor: Show preview range - RedMser NDOF 🔸 NDOF: simplify the UI and preferences - Kamil Galik Nodes 🔸 Nodes: improve usage inferencing when some inputs are unknown - Jacques Lucke 🔸 Nodes: improve mix node usage inference when some inputs are unknown - Jacques Lucke 🔸 Nodes: improve usage inferencing in Vector Math node with unknown inputs - Jacques Lucke 🔸 Nodes: support searching for outputs of various input nodes directly - Jacques Lucke Nodes: add missing input node sockets in search - Jacques Lucke 🔸 Nodes: support creating wrapper node group that keeps original interface - Jacques Lucke 🔸 Nodes: Voronoi node CPU optimizations - Aras Pranckevicius 🔸 Nodes: make frame bounding box account for extra rows data - Jason C. Wenger 🔸 Nodes: add "Power" and "Sign" operations to Vector Math node - quackarooni 🔸 Nodes: improve "frame" search - Jacques Lucke 🔸 Nodes: add NodeSocket.is_inactive and NodeSocket.is_icon_visible Python API - Jacques Lucke 🔸 Nodes: deactivate overlay buttons when no tree is assigned - Habib Gahbiche Outliner Outliner: Support duplicating selected collections - Pratik Borhade 🔸 Outliner: Keep Transform by default on drag-dropping to parent - Dan-Gry Overlay 🔸 Overlay: Batch async compile shaders to improve cold startup times - Clément Foucault Paint 🔸 Paint: Add color jitter support - Charles S 🔸 Paint: Add forward compatibility code for brush size - Sean Kim 🔸 Paint: Scale brush size in preparation for planned 5.0 changes - Sean Kim PlayAnim 🔸 PlayAnim: use the same GPU backend as Blender - Campbell Barton Point Cloud Point Cloud: Use AttributeStorage instead of CustomData - Hans Goudey PyAPI PyAPI: expose Event.ndof_motion via RNA - Campbell Barton 🔸 PyAPI: add bpy.app.built_options.experimental_features - Campbell Barton PyDoc PyDoc: improve BMesh operator docs - Campbell Barton PyDoc: quiet wanings/prints when building docs - Campbell Barton PyDocs PyDocs: quiet context member warning without experimental features - Campbell Barton Python Docs Python Docs: remove example for using timers with separate threads - Jacques Lucke Refactor Refactor: UI: Remove uiItemStringO API - Guillermo Venegas Refactor: Vulkan: Reuse GHOST VkInstance - Jeroen Bakker Refactor: Nodes: change int to enum for bNodeSocketType.type - Jacques Lucke Refactor: Nodes: precompute node extra info rows - Jacques Lucke Refactor: Nodes: extract socket items accessor defaults - Jacques Lucke Refactor: Vulkan: Move code from header to compile unit - Jeroen Bakker Refactor: Vulkan: Use VKDevice& in finalize_pipeline_layout - Jeroen Bakker Refactor: Move collection runtime struct out of DNA - Hans Goudey Refactor: UI: Replace uiLayoutSetEmboss and uiLayoutGetEmboss with uiLayout methods - Guillermo Venegas Refactor: UI: Add uiLayout default operator call context get and set methods - Guillermo Venegas Refactor: UI: Add uiLayout scale and ui_units get and set methods - Guillermo Venegas Refactor: Paint: Rename brush _tool properties to _brush_type - Sean Kim Refactor: improve error handling for the animation player - Campbell Barton Release Release: Bump main to 5.0 - Thomas Dinges Release: Update 4.5 branch to beta - Thomas Dinges Release note tool Release note tool: Sort backport version numbers from lowest to highest - Alaska Release note tools: Remove manual sorting of revert commits - Alaska Release note tools: Changes for 4.5 branch - Alaska Revert "Cleanup Revert "Cleanup: remove unused functions in UI scripts" - Campbell Barton Revert "Fix #139898 Revert "Fix #139898: Vulkan: Asan issue during color picking" - Jeroen Bakker Revert "Release Revert "Release: Update 4.5 branch to beta" - Thomas Dinges Rocky8 Rocky8: Add new library requirement for weston in the install script. - Sebastian Parborg Sculpt 🔸 Sculpt: Lower Multires leaf node limit to 800 - Sean Kim Sculpt: Remove dyntopo BMesh reordering - Sean Kim Sculpt: Assert when applying a translation that contains NaN - Sean Kim Shaders 🔸 Shaders: Reduce default distance/scale for bump/displacement nodes - Brecht Van Lommel Spreadsheet Spreadsheet: make active table lookup slightly more efficient - Jacques Lucke Spreadsheet: reuse same table for Viewer nodes in different loop iterations - Jacques Lucke 🔸 Spreadsheet: Add option to display internal attributes - Hans Goudey Tests Tests: Add dyntopo brush stroke and toggle undo test - Sean Kim Tests: Allow OptiX to run tests in the OSL folder - Alaska UI 🔸 UI: Make light exposure soft limits match color management exposure - Brecht Van Lommel 🔸 UI: UIList: Highlight active element when hovered - Pratik Borhade 🔸 UI: Fix incorrect capitalizations - Nika Kutsniashvili 🔸 UI: use automatic search box width in more places - Jacques Lucke UI: Note that Vulkan can have VR performance issues - Alaska 🔸 UI: Tooltip for dragging multiple files - Guillermo Venegas 🔸 UI: Move empty image to Image menu - Pratik Borhade 🔸 UI: Use Tree view for shape keys - Pratik Borhade 🔸 UI: Add "Remove All Particle Systems" operator to particle systems context menu - Eitan Traurig 🔸 UI: Top Bar Tabs as Pills - Harley Acheson USD 🔸 USD: Implement new DomeLight_1 Schema for Import - Maxime-Cots UV UV: select similar faces now skips meshes without a selection - Campbell Barton VSE 🔸 VSE: Scene strip invalidation - Richard Antalik 🔸 VSE: Improve "Change Effect Type" operator - John Kiril Swenson 🔸 VSE: Swap shortcuts for next and previous strip jump - Damien Picard Versioning Versioning: Add 500 versioning file - Thomas Dinges Vulkan Vulkan: Update limitations - Jeroen Bakker Vulkan: Only load layers that we trust - Jeroen Bakker Vulkan: Allow NVIDIA layers - Jeroen Bakker Vulkan: Don't run tests on unsupported platforms - Jeroen Bakker Vulkan: Add support for descriptor buffers - Jeroen Bakker Vulkan: Add CPU profiling - Clément Foucault WM WM: prevent the same value being written multiple times in a preset - Campbell Barton Win64 Win64: Blender 4.5 Library update - Ray Molenkamp Win64: Libs: Rebuild of openvdb due to blosc changes - Ray Molenkamp Windows ARM64 Windows ARM64: 4.5 Library Updates - Anthony Roberts Windows ARM64: Rebuild OpenVDB for blosc changes - Anthony Roberts deps deps: Fix typo in DPCPP_SPIRV_HEADERS_FILE - Ray Molenkamp deps: Bump zstd to 1.5.6 - Ray Molenkamp glTF glTF: Update addon version after 4.5 branch creation - Julien Duroure libs libs: move wintab out of the lib dir into /extern - Ray Molenkamp macOS macOS: Update arm64 and x64 libraries for 4.5 - Jonas Holzman 1
1 Comment
Changelog between May 27, 2025 - June 10, 2025 at 12h
393 commits in total, of which 114 are fixes and 1 cleanup.
ANIM
Add new versioning source file template.
Allocator
Blender 4.5 Forward Compatibility for Long ID Names.
Brush
Build
Cleanup
MAX_ID_NAME-2for Mask's layer name. - Bastien MontagneCurvesGeometry::is_empty()- Falk DavideUnifiedPaintSettingsFlagstoDNA_scene_enums.h- Sean KimCleanup/Fix
Compositor
Core
Curves
Cycles
Deps
Docs
Draw
EEVEE
Fix
StaticShader::get()- Clément FoucaultStaticShader::ensure_compile_asyncrequest for ready state - Clément FoucaultBKE_brush_calc_curve_factors- Sean KimGPU
--profile-gpusupport for CPU timing - Clément FoucaultGeometry Nodes
Grease Pencil
Convert Curve Typeoperator - Falk DavidHydra
I18N
IO
ImBuf
Improve Blender resilience to blendfile DNA data corruption.
JACK
Libs
Logging
Mesh
Modeling
Modifiers
Movie Clip Editor
NDOF
Nodes
Outliner
Overlay
Paint
PlayAnim
Point Cloud
PyAPI
PyDoc
PyDocs
Python Docs
Refactor
_toolproperties to_brush_type- Sean KimRelease
Release note tool
Revert "Cleanup
Revert "Fix #139898
Revert "Release
Rocky8
Sculpt
Shaders
Spreadsheet
Tests
UI
USD
UV
VSE
Versioning
Vulkan
WM
Win64
Windows ARM64
deps
glTF
libs
macOS