ACES & HDR - Blender Today LIVE #264
Announcements
- Blender Conference around the corner
- Suzanne Awards voting is open!
- Blender 4.5.2 LTS release
Changelog between August 05, 2025 - September 02, 2025 at 12h
826 commits in total, of which 185 are fixes and 1 cleanup.
Allocator
Anim
- 🔸 Anim: Store pose bone visibility flag on pose bone - Christoph Lendenfeld
- 🔸 Anim: Draw Time editor minor lines on full frames - Christoph Lendenfeld
- 🔸 Animation: minor speedup when accessing id properties - Jacques Lucke
- Animation: Fix crash in versioning code when pose bones are not in sync with Armature data. - Bastien Montagne
Armature
- 🔸 Armature: Switch envelope weight calculation to the new subdiv code - Sergey Sharybin
Attributes
- Attributes: Reset various runtime data for writing files - Hans Goudey
Audaspace
- Audaspace: porting changes from upstream. - Jörg Müller
- Audaspace: porting changes from upstream. - Jörg Müller
BLF/BLI
- BLF: Public Function to Return Maximum Glyph Bounds - Harley Acheson
- BLI_noise: suppress signed int overflow warnings for hash_pcg2d_* - Campbell Barton
- BLI_string_ref: add copy_bytes_truncated method - Campbell Barton
BPY
- BPY: Implement get_transform and set_transform for runtime-defined RNA properties. - Bastien Montagne
- BPY props: Fix own mistake in recent refactor. - Bastien Montagne
Benchmark
- Benchmark: Compositor support - Habib Gahbiche
- Benchmark: Improve RNA performance tests flexibility. - Bastien Montagne
- Benchmark: Fix bpy/RNA broken 'bpy props get/set' tests, add FloatVectorProperty one. - Bastien Montagne
Build
- Build: Only link to librt on Linux - Brad Smith
- Build: unbreak lite builds (WITH_TBB=OFF) - Campbell Barton
- Build: correct TBB include - Campbell Barton
- Build: unbreak lite builds - Campbell Barton
- Build: resolve linking error on *BSD systems - Brad Smith
- Build files: add note that certain files should be py3.6 compatible - Sybren A. Stüvel
CLI
- 🔸 CLI: move VSync from an environment variable to an argument - Campbell Barton
- CLI: only show "--qos" on WIN32 - Campbell Barton
Cleanup
- Cleanup: Fix missing declaration warnings in compositor - Hans Goudey
- Cleanup: VSE: Add deprecation notices to DNA, improve comments - John Kiril Swenson
-
Cleanup: VSE: Rename deprecated DNA fields with
_legacysuffix - John Kiril Swenson -
Cleanup: VSE: Remove
StripData.start/endstill- John Kiril Swenson - Cleanup: grammar corrections, minor improvements to wording - Campbell Barton
- Cleanup: rename the keyconfig operator type update function - Campbell Barton
- Cleanup: VSE: Add additional info to function comment - Falk David
- Cleanup: USD: Remove some redundant property type checks - Jesse Yurkovich
- Cleanup: remove string length argument for proxy path dir access - Campbell Barton
- Cleanup: use defines for buffer sizes - Campbell Barton
- Cleanup: use the suffix "_maxncpy" instead of "_len" for string sizes - Campbell Barton
- Cleanup: quiet GCC warning for pointer subtraction - Campbell Barton
- Cleanup: Pass ReportList instead of wmOperator - Hans Goudey
- Cleanup: correct comment, remove unused variable - Campbell Barton
- Cleanup: remove redundant loop - Campbell Barton
- Cleanup: use RNA_def_enum_flag - Campbell Barton
- Cleanup: use RNA_def_enum_flag - Campbell Barton
-
Cleanup: Core: Replace
FPSscene macro with member function - Falk David - Cleanup: correct comment - Campbell Barton
- Cleanup: use doxy sections for resources - Campbell Barton
- Cleanup: consistent for C-style comment blocks - Campbell Barton
- Cleanup: hyphenate the term data-blocks in strings/doc-strings - Campbell Barton
- Cleanup: use single quotes for enum literals - Campbell Barton
-
Cleanup: VSE: Replace
STRIP_DUPEmacros with enum - Falk David - Cleanup: improve confusing/incomplete code-comments - Campbell Barton
- Cleanup: Remove deprecated movie formats code - Omar Emara
- Cleanup: Vulkan: Remove not needed code. - Jeroen Bakker
- Cleanup: Bake from multires code - Sergey Sharybin
- Cleanup: Avoid copying strings in compositor file output node - Hans Goudey
- Cleanup: Use correct macro for versioning - Habib Gahbiche
- Cleanup: Format - Aaron Carlisle
- Cleanup: replace unused RNA doc-string with comment - Campbell Barton
- Cleanup: use braces in case statements - Campbell Barton
- Cleanup: remove duplicate assignment - Jacques Lucke
- Cleanup: Remove unused type handing in File Output node - Omar Emara
- Cleanup: Cleanups in point cache code - Aras Pranckevicius
-
Cleanup: Use alphabetical order for
_ui_tests_category - Sean Kim - Cleanup: capitalization of the term "VSync" - Campbell Barton
- Cleanup: consistently hyphenate the term "swap-chain" - Campbell Barton
- Cleanup: use str.format to format strings in Python - Campbell Barton
- Cleanup: sort CMake file lists - Campbell Barton
- Cleanup: Add null check in node tools eval log - Hans Goudey
- Cleanup: consistent doc-string comment block style - Campbell Barton
- Cleanup: quiet unused warning - Campbell Barton
- Cleanup: use function style casts - Campbell Barton
- Cleanup: remove redundant parenthesis - Campbell Barton
- Cleanup: avoid "nullptr" in Python strings & error messages - Campbell Barton
- Cleanup: GeometryNodes: avoid unnecessary void pointer - Jacques Lucke
- Cleanup: Geometry Nodes: avoid unnecessary void pointer - Jacques Lucke
- Cleanup: remove dead code - Jacques Lucke
- Cleanup: CMake: Modernize bf_intern_openvdb dependencies - Jesse Yurkovich
- Cleanup: Remove python references to deprecated brush types - Sean Kim
-
Cleanup: Remove deprecated
toggle_brushfield - Sean Kim - Cleanup: LineArt: Bump version when doing thickness versioning - YimingWu
- Cleanup: Cycles: remove unused function - Weizhen Huang
- Cleanup: Add missing "#pragma once" to header - Hans Goudey
- Cleanup: remove header added last commit - Campbell Barton
- Cleanup: make format - Thomas Dinges
- Cleanup: Use event parameter - Pratik Borhade
- Cleanup: Fix compiler warning - Falk David
- Cleanup: Improve & correct comment for asset system file flag - Julian Eisel
-
Cleanup: Rename and add comment for
RadialControl#initial_mouse- Sean Kim - Cleanup: quiet unused warning & correct typo - Campbell Barton
- Cleanup: UI: Remove uiItem::flag_ public access - Guillermo Venegas
- Cleanup: Adjust recently added RadialControl comment - Sean Kim
- Cleanup: quiet GCC warning - Campbell Barton
- Cleanup: use snake case, replace "m_" prefix with "_" suffix - Campbell Barton
- Cleanup: Mesh: Use edge_other_vert instead of ternary operator - илья _
- Cleanup: Sequencer: Replace seqbasep variable access with function - Hans Goudey
-
Cleanup: VSE: Add Doxygen sections to
sequencer_add.cc- John Kiril Swenson - Cleanup: VSE: Reorganize and clean up sequencer add code - John Kiril Swenson
- Cleanup: Cycles: Check if background light is enabled in one place. - Weizhen Huang
- Cleanup: Make AttributeStorage method const - Hans Goudey
- Cleanup: BPY prop: Move get/set... py callbacks into own scope. - Bastien Montagne
-
Cleanup: Change
BKE_paint_brush_setto take in const reference - Sean Kim - Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: use camel-case/pascal-case for struct names - Campbell Barton
- Cleanup: quiet compiler warnings - Campbell Barton
- Cleanup: use bool argument for object_cacheIgnoreClear - Campbell Barton
- Cleanup: use PyErr_SetString when formatting isn't needed - Campbell Barton
-
Cleanup: Rename
BKE_paint_brush_polltoBKE_paint_can_use_brush- Sean Kim -
Cleanup: Various changes for
calc_area_normal_and_center- Sean Kim - Cleanup: remove tools/utils_build/cmake-flags - Campbell Barton
- Cleanup: use SPDX header in CMakeLists.txt generator - Campbell Barton
- Cleanup: quiet array-bounds GCC warning - Campbell Barton
- Cleanup: suppress deprecated-copy warnings - Campbell Barton
- Cleanup: quiet use of unknown variable warning in CMake - Campbell Barton
- Cleanup: disable -Wnontrivial-memcall for CLANG with remove_strict_flags - Campbell Barton
- Cleanup: correct comment - W_Cloud
- Cleanup: suppress array-bounds warning for GCC 15.2.x - Campbell Barton
- Cleanup: mark library directories as advanced on UNIX - Campbell Barton
- Cleanup: correction to mark_as_advanced from last commit - Campbell Barton
- Cleanup: remove Python scripts & directory from CMake source file lists - Campbell Barton
- Cleanup: add missing headers to source lists - Campbell Barton
- Cleanup: Quiet compiler warning - Weizhen Huang
- Cleanup: struct initializers - Jeroen Bakker
- Cleanup: better documentation for the Bone struct - Sybren A. Stüvel
- Cleanup: various minor changes BKE_object_modifier_update_subframe - Campbell Barton
- Cleanup: quiet compiler warning - Campbell Barton
- Cleanup: rename function for removing handlers, use typed area argument - Campbell Barton
- Cleanup: VSE scopes drawing number typo - Aras Pranckevicius
- Cleanup: check the blend-file path isn't empty before comparing - Campbell Barton
- Cleanup: UNUSED_VARS referencing unknown variable - Harley Acheson
- Cleanup: use doxygen comments for BKE_subdiv* - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: quiet class-memaccess warning - Campbell Barton
- Cleanup: remove unused Curve::lines & disabled RNA definition - Campbell Barton
- Cleanup: pass a curve to BKE_vfont_select_* instead of an object - Campbell Barton
- Cleanup: Remove obsolete comment - Jeroen Bakker
- Cleanup: Remove unused code - Miguel Pozo
- Cleanup: clarify naming for CharTrans, EditFontSelBox members - Campbell Barton
- Cleanup: Unused multires_subdiv_type in ToolSettings - Sergey Sharybin
- Cleanup: Grammar tooltip - Habib Gahbiche
- Cleanup: pass "Curve" as a const reference for font evaluation - Campbell Barton
- Cleanup: Formatting - Falk David
- Cleanup: tone down ffmpeg related logging amount - Aras Pranckevicius
- Cleanup: GPU: Remove unused shader library guards - Clément Foucault
- Cleanup: Formatting - Hans Goudey
- Cleanup: GPU: Fix french spelling of Dictionary - Clément Foucault
- Cleanup: Resolve missing declaration warning - Hans Goudey
- Cleanup: Remove unused CustomData interpolation "subweights" argument - Hans Goudey
- Cleanup: Use attribute API in weighted normal modifier - Hans Goudey
- Cleanup: Mesh: Use attribute API for merging UV maps - Hans Goudey
- Cleanup: Rename "mloopuv" to "uv_map" - Hans Goudey
- Cleanup: Remove unnecessary operator< in draw code - Hans Goudey
- Cleanup: Remove valid mesh check in set custom normals code - Hans Goudey
- Cleanup: Simplify arraystore since custom data sharing info is required - Hans Goudey
- Cleanup: remove use of Object::track when updating physics dependencies - Campbell Barton
- Cleanup: remove unused VPaint::radial_symm - Campbell Barton
- Cleanup: Remove outdated reference to bpy_props.cc enum - Sean Kim
- Cleanup: rename pose_edit_bone_duplicate > post_edit_bone_duplicate - Philipp Oeser
- Cleanup: Metal: Remove unused struct - Clément Foucault
- Cleanup: remove unnecessary nested block from walk/fly logic - Campbell Barton
- Cleanup: Remove else after return in grease_pencil_io.cc - Hans Goudey
- Cleanup: Formatting - Jesse Yurkovich
- Cleanup: Remove unused 'DispOp' enum - Sean Kim
- Cleanup: remove duplicate import - Campbell Barton
- Cleanup: spelling (make check_spelling_*) - Campbell Barton
- Cleanup: use float2 for some 3D text logic - Campbell Barton
- Cleanup: typo in VFontToCurveIter struct member - Campbell Barton
- Cleanup: unused variable warnings - Campbell Barton
- Cleanup: GPUFramebuffer variable names - Jeroen Bakker
- Cleanup: Mark unused variable - Jeroen Bakker
- Cleanup: Fix unused parameter warnings for Windows-only QoS functions - Christoph Neuhauser
- Cleanup: EEVEE: Remove Metal/AMD workaround - Jeroen Bakker
-
Cleanup & Refactor:
BKE_libblock_find_nameAPI. - Bastien Montagne -
Clenaup/Fix: Missing handling of
ObHook::parentObject pointer. - Bastien Montagne
Color Management
- Color Management: Recognize ACES config un-tone-mapped view - Brecht Van Lommel
- Color Management: Fix wrong use of display color space - Brecht Van Lommel
- 🔸 Color Management: Add Rec.2100-PQ display and ACES 2.0 view transforms - Brecht Van Lommel
- Color Management: Base color space interpretation on interop ID - Brecht Van Lommel
- Color Management: Wide gamut display - Brecht Van Lommel
- Color Management: Remove "High Dynamic Range" setting - Brecht Van Lommel
- Color Management: Group SDR and HDR displays in menu - Brecht Van Lommel
- Color Management: Add some heuristics to match display and view names - Brecht Van Lommel
- Color Management: Improve wide gamut color buttons and pickers - Brecht Van Lommel
- Color Management: Support for saving wide gamut images - Brecht Van Lommel
- Color Management: Make per-view look filtering work with AgX HDR - Brecht Van Lommel
- 🔸 Color Management: Add Rec.2100 HLG display - Brecht Van Lommel
- 🔸 Color Management: Add AgX HDR view transform - Zijun Zhou
- 🔸 Color Management: Add Perceptual color space in color pickers - Brecht Van Lommel
- Color Management: Consider all aliases for interop ID - Brecht Van Lommel
- Color Management: Optimization for display transforms - Brecht Van Lommel
- Color Management: Improve gamma 2.2 vs piecewise sRGB handling for HDR - Brecht Van Lommel
Compositor
- 🔸 Compositor: Add Convert to Display node - Brecht Van Lommel
- 🔸 Compositor: Add Convolve node - Omar Emara
- 🔸 Compositor: remove preview for File Output node - Habib Gahbiche
- 🔸 Compositor: Turn off Render Layers preview in default node tree - Habib Gahbiche
- 🔸 Compositor: Improve unsupported passes warning - Omar Emara
- 🔸 Compositor: Redesign File Output node - Omar Emara
- 🔸 Compositor: Allow empty names in File Output node - Omar Emara
- 🔸 Compositor: Support strings sockets - Omar Emara
- 🔸 Compositor: Allow menu sockets for pixel nodes - Omar Emara
- 🔸 Compositor: Removing Sun Beams node - Mohamed Hassan
- 🔸 Compositor: Add Jitter input to Glare Sun beams - Mohamed Hassan
- 🔸 Compositor: Turn Menu options to inputs - Omar Emara
- Compositor: Optimize nodes with Boolean and Menu inputs - Omar Emara
Copy Global Transforms
- 🔸 Copy Global Transforms: SKIP_SAVE on paste - Demeter Dzadik
Core
- Core: remove use of the environment variable TMP on Unix - Campbell Barton
- Core: Don't get/set PWD env var for working directory functions - Jesse Yurkovich
- Core: treat already-existing directory as 'ok' in recursive mkdir - Sybren A. Stüvel
Corrections
- Correct define check for command line file-type registration - Campbell Barton
- Correct error in 359599a16b7a60cc8c2ce98b879c2b0dbe14435c - Campbell Barton
- Correct error in e6e7f92ce0f325ad65426dab251eb90c41b7f219 - Campbell Barton
- Correct error updating the tests in last commit - Campbell Barton
Curves
- 🔸 Curves: Add "Curve Data" edit mode panel - Laurynas Duburas
- Curves: Unit tests for curves::nurbs::calculate_evaluated_num() - Mattias Fredriksson
- 🔸 Curves: Parallelize NURBS basis cache evaluation with O(n) complexity - Mattias Fredriksson
- Curves: Add cyclic curve offsets cache - Hans Goudey
- Curves: Cache whether any curve is cyclic - Hans Goudey
-
🔸
Curves:
DeleteandDissolveoperator not work with selected handles - Casey Bianco-Davis -
🔸
Curves: Add
Toggle Free/AligntoSet Handle Typeoperators - Casey Bianco-Davis
Cycles
- Cycles: Stop Metal API validation asserts - Michael Jones
- Cycles: Change normal map node to work with undisplaced normal and tangent - Brecht Van Lommel
- Cycles: do not sample direct light when ray segment is invalid - Weizhen Huang
- Cycles: Always add world as object - Weizhen Huang
- Cycles: Create one box for vdb mesh instead of many - Weizhen Huang
- Cycles: Render volume by ray marching through octrees - Weizhen Huang
- Cycles: Compute volume transmittance using telescoping - Weizhen Huang
- 🔸 Cycles: Shade volume with null scattering - Weizhen Huang
- 🔸 Cycles: Volume Scattering Probability Guiding - Weizhen Huang
- Cycles: Use RGBE for denoised guiding buffers to reduce memory usage - Weizhen Huang
- Cycles: Use analytic formula for homogeneous volume - Weizhen Huang
- Cycles: Add and update volume test files - Weizhen Huang
- Cycles: Store octree parent nodes in a stack - Weizhen Huang
- Cycles: oneAPI: Disable L0 copy optimization for several dGPUs - Nikita Sirgienko
- Cycles: use deterministic linear interpolation for velocity - Weizhen Huang
- Cycles: use one-tap stochastic interpolation for volume - Weizhen Huang
- 🔸 Cycles: Add support for building with CUDA 13.0 and OptiX 9.0 - Patrick Mours
- Cycles: Remove ROCm 5 code path and add ROCm 7 runtime to search list - Sahar A. Kashi
- 🔸 Cycles: Tesselate adaptive subdivision meshes in parallel - Jesse Yurkovich
- 🔸 Cycles: Switch to HIP SDK 6.4.2 on Windows - Sergey Sharybin
- Cycles: Remove warning about HIP being unstable - Alaska
- Cycles: Re-enable MNEE on HIP - Alaska
DRW
- 🔸 DRW: New Curve Drawing - Clément Foucault
- 🔸 Draw: Use ResourceHandleRange - Miguel Pozo
Depsgraph
Doc
- Doc: add clarifications to fix for #144958 - Campbell Barton
- Docs: Update RNA to user manual URL mapping - Aaron Carlisle
- Docs: add note that smooth-view may set the viewport "dist" to zero - Campbell Barton
- Docs: Update RNA to user manual URL mapping - Aaron Carlisle
- Docs: mention why paths aren't checked on startup - Campbell Barton
- Docs: Update RNA to user manual URL mapping - Aaron Carlisle
- Docs: Update RNA to user manual URL mapping - Aaron Carlisle
- Docs: correct doc-string - Campbell Barton
EEVEE
- 🔸 EEVEE: World Sun Shadow no longer works in 4.5 - Clément Foucault
- EEVEE: Change barriers in the raytracing pipeline - Clément Foucault
- 🔸 EEVEE: Remove GPencil from geometry types - Clément Foucault
FBX
- 🔸 FBX: Add material name collision mode - Oxicid
FFmpeg
- FFmpeg: Remove deprecated variable (fixes ffmpeg 8 compilation) - Sebastian Parborg
Fix
- Fix: Viewport compositor passes does not work with Group Input - Omar Emara
- Fix: Wrong structure type for Transform node output - Omar Emara
- Fix: Geometry Nodes: wrong structure types in a couple of nodes - Jacques Lucke
- Fix: Vulkan: Use after free when switching scenes - Jeroen Bakker
- Fix: Assert in Keying node with no input - Omar Emara
- Fix: SubDiv: Out of bound write loose normals - Jeroen Bakker
- Fix: EEVEE: VolumeProbeModule do_full_update_ - Miguel Pozo
- Fix: USD: Use exr instead of hdr for world light texture - Jesse Yurkovich
- Fix: Cycles volume assert on Windows due to wrong comparator - Brecht Van Lommel
- Fix: incorrect icon ID in the UV menu - Campbell Barton
- Fix: UI: Node layout buttons not visible in material node view - Lukas Tönne
- Fix: Grease Pencil: Assert in length modifier due to wrong argument - Falk David
- Fix: Avoid drag-drop above basis key - Pratik Borhade
- Fix: Grease Pencil: Remove fill guides skips locked layers - Falk David
- Fix: Assert when opening movie clip (debug build) - John Kiril Swenson
- Fix: Curves: Various fixes for poly curves - Laurynas Duburas
- Fix: Revert part of previous fix breaking curves tests - Hans Goudey
- Fix: Geometry Nodes: fix using constexpr if - Jacques Lucke
- Fix: Geometry Nodes: keep materials on geometries in bundles in simulation/bake - Jacques Lucke
- Fix: Geometry Nodes: wrong data-block default values - Jacques Lucke
- Fix: Instances: ensure unique instance ids - Jacques Lucke
- Fix: GHOST: Build error - Clément Foucault
- Fix: Image as planes add-on sets wrong alpha for OpenEXR files - Brecht Van Lommel
- Fix: GPU: Shader: Make shader parser less prone to out of bound issues - Clément Foucault
- Fix: DrawTest.draw_pass_all_commands - Miguel Pozo
- Fix: RNA: Failing assert on console auto-complete - Julian Eisel
- Fix: Use correct mode for pressure sensitivity in Vertex & Weight paint - Sean Kim
- Fix: GPU Tests on Windows - Miguel Pozo
- Fix: Compositor: Wrong tooltip for Crop Node - Habib Gahbiche
- Fix: GPU: Shader: Preprocess tests - Clément Foucault
- Fix: Overlay: Missing fragment output for curve edit overlays - Clément Foucault
- Fix: Build failure on riscv64 platform - Brad Smith
- Fix: PyDocs: typo fix in example - clankill3r
- Fix: VSE: Scene Strip template ID "new" function not working - Falk David
- Fix: Sculpt spatial reodering crash after recent fix - Namit Bhutani
- Fix: error referencing a temporary variable - Campbell Barton
- Fix: typo in mathutils.Vector doc-string - nutti
- Fix: GL Compilation Subprocess race condition - Miguel Pozo
- Fix: GL Compilation Subprocess file locking - Miguel Pozo
-
Fix: Cycles:
lcg_stateuninitialized before volume density baking - Weizhen Huang - Fix: HDR video output does not preserve the view transform - Brecht Van Lommel
- Fix: Curves: Transformation center when single point handles are selected - Laurynas Duburas
- Fix: Grease Pencil: Attribute interpolate with randomization - Casey Bianco-Davis
- Fix: frozen mathutils Vector & Matrix types could be resized - Campbell Barton
- Fix: exception types in last commit - Campbell Barton
- Fix: Use of uninitialized variables in Mantaflow - Sergey Sharybin
-
Fix: Grease Pencil: Bézier handles not effected by
Snap To Grid- Casey Bianco-Davis -
Fix: Grease Pencil:
SVGandPDFbounding box size bug - Casey Bianco-Davis - Fix: add ThemeCommonAnim to XML secure types - Campbell Barton
- Fix: VSE cache limits not handled properly when there's way more final frames than source images - Aras Pranckevicius
- Fix: VSE preview draw was not caching the OCIO GPU shader - Aras Pranckevicius
- Fix: execute_node_group only accepting positive values for arguments - Ray Molenkamp
- Fix: Grease Pencil panels / buttons not displaying - Sean Kim
- Fix: Annotate tool in Image Editor shows brush properties & errors - Sean Kim
- Fix: Incorrect attribute type check during USD shape import - Jesse Yurkovich
- Fix: Geometry Nodes: crash accessing empty instances - Jacques Lucke
- Fix: View transforms do not match display device in image save - Brecht Van Lommel
- Fix: typo in mathutils.Vector doc-string - nutti
- Fix: Zero division exception in ca60419b3a - илья _
- Fix: Cycles OptiX + OSL fails to render images with OSL releases - Brecht Van Lommel
- Fix: Image Editor can have no default active brush - Sean Kim
- Fix: Grease Pencil: Pen Tool does not work with multiple layers - Casey Bianco-Davis
- Fix: BPY props: broken custom set function for strings. - Bastien Montagne
- Fix: Non-existent mask.cursor_set operator in keymap - Brecht Van Lommel
- Fix: Reference binding to null pointer in normals-calc_corner - Hans Goudey
- Fix: Missing space in Unbiased volume tooltip - Alaska
- Fix: Use correct callback for unified paint setting updates - Sean Kim
- Fix: don't attempt to load unknown arguments as a blend file - Campbell Barton
- Fix: Vulkan: Submission runner crash on start - Jorn Visser
- Fix: GPU: Wrong default size for compute local group size - Clément Foucault
- Fix: Assert in curves sculpt mode - Hans Goudey
- Fix: EEVEE: Memory leak when drawing Volume objects - Jeroen Bakker
- Fix: failure to append with an unsaved blend file - Campbell Barton
- Fix: resolve memory leak in previous fix for #144958 - Campbell Barton
- Fix: VSE preview wrong ImBuf variable used - Aras Pranckevicius
- Fix: Unified Paint Settings changes do not notify the scene - Sean Kim
- Fix: Crash during USD import of an instanced point-instancer - Jesse Yurkovich
- Fix: VSE preview display channel / overexposed fields wrongly disabled - Aras Pranckevicius
- Fix: ACES 2.0 studio config sets image files to ACES2065-1 incorrectly - Brecht Van Lommel
- Fix: Performance regression when using bevel and subdivision modifier - Piotr Makal
- Fix: List Style still shown in Nodes - Habib Gahbiche
-
Fix: PyDocs: Missing
sequencer_sceneincontext_type_map- Falk David -
Fix: PyDocs: Missing
tool_settingsincontext_type_map- Falk David - Fix: EEVEE: Avoid Valgrind issues - Clément Foucault
- Fix: EEVEE: Bilateral denoiser has wrong color transform - Clément Foucault
- Fix: UI: Hide internal "mode" property in Mesh Edit Duplicate - Jonas Holzman
-
Fix: Curves:
Select Alternateoperator not selecting handles - Casey Bianco-Davis -
Fix: Grease Pencil:
Select Groupednot selecting bezier handles - Casey Bianco-Davis - Fix: Curves: Don't treat non-bezier curves as selected when handles are - Casey Bianco-Davis
- Fix: incorrect doc-strings for bpy.props type argument - Campbell Barton
- Fix: invalid center calculation for 3D text cursor - Campbell Barton
- Fix: VSE: Various crashes when sequencer scene is not initialized - John Kiril Swenson
- Fix: Grease Pencil: Use evaluated positions for the Fill tool - Casey Bianco-Davis
-
Fix: Grease Pencil:
Joinoperator connects wrong ends and crashes - Casey Bianco-Davis - Fix: Draw: Attribute Viewer doesn't work - Miguel Pozo
- Fix: Draw: Update overlapping octrees reference image - Miguel Pozo
- Fix: VSE: Remove unused tweak property in userpref - John Kiril Swenson
- Fix: VSE: Reassign Inputs Overlap - il4n
- Fix: error displaying 3D text for v1.70 blend files - Campbell Barton
- Fix: Python: incorrect assert when reading back framebuffers - Jeroen Bakker
- Fix: Vulkan: Incorrect framebuffer size - Jeroen Bakker
- Fix: support loading blend files with text from v1.70 (#2) - Campbell Barton
- Fix: Cycles: Some volume octree nodes randomly disappearing - Weizhen Huang
- Fix: walk/fly causing RegionView3D::viewquat not to be normalized - Campbell Barton
- Fix: Nodes: crash when opening files with closure and bundle nodes saved in 4.5 - Jacques Lucke
- Fix: uninitialized memory use in RNA slice assignment - Campbell Barton
- Fix: Outliner: Not using sequencer scene in various places - Falk David
- Fix: incorrect handling of 3x3 matrices with RNA get/set callbacks - Campbell Barton
- Fix: Nodes: navigate to top level shader tree from Material/World breadcrumbs - W_Cloud
- Fix: Typo in ID full name RNA description - Julian Eisel
- Fix: UI: Correct spelling of Bézier in Curves add menu - Alaska
- Fix: USD: Camera FStop of 0 means no depth of field - Jesse Yurkovich
-
Fix: VSE: Silence
RNA_boolean_getwarning foruse_sequence_detection- John Kiril Swenson - Fix: GPU: Compilation failure on windows - Clément Foucault
- Fix: Grease Pencil: Pen tool moving incorrect handle when extruding from curve start - Janne Nylander
- Fix: Compilation error on Windows - Jeroen Bakker
- Fix: Image Sampler ignores sample size - Habib Gahbiche
- Fix: Compositor Convert Color Space node fails on GPU with some colorspaces - Brecht Van Lommel
- Fix: Nodes: incorrect structure types in Random Value node - Jacques Lucke
- Fix: Nodes: wrong structure type inference in Blur Attribute node - Jacques Lucke
- Fix #112936: Asset shelf breaks when changing preview size - Philipp Oeser
- Fix #129065: Linked material can be modified from the Properties Editor - Philipp Oeser
- Fix #129241: AssetBrowser "display mode" Reset Default sets wrong mode - Philipp Oeser
-
Fix #130293: Grease Pencil: Edit mode
Joinoperator splits points - Casey Bianco-Davis -
Fix #131108:
Reproject StrokesOperator does not project bézier handles - Casey Bianco-Davis - Fix #132460: Remove File Browser Path Validation - Harley Acheson
- Fix #136020: Linking: Improve performances of many linked IDs relocation. - Bastien Montagne
- Fix #136939: Translation is ignored in some nodes - Omar Emara
- Fix #138388: Use grid voxel corners as value locations like OpenVDB - Lukas Tönne
-
Fix #139094: Grease Pencil: Primitive Tools not initializing
u_scaleattribute - Casey Bianco-Davis - Fix #139182: Cannot remove material slot in certain case - Philipp Oeser
- Fix #139258: Grease Pencil: Strokes lose deform groups when moved to another layer - Janne Nylander
- Fix #139585: Blender could erase OS root - Campbell Barton
- Fix #141455: Panel Category Tab Jiggling - Harley Acheson
- Fix #142046: EEVEE: Deferred Lighting shader doesn't run (Nvidia) - Miguel Pozo
- Fix #142093: Fix crash when entering sculpt mode - Jeroen Bakker
- Fix #142110: Vulkan: Only last planar probe is visible - Jeroen Bakker
- Fix #142137: Dynamic paint crashes when evaluating poses - Campbell Barton
- Fix #142305: Vulkan: Memory leak immediate mode - Jeroen Bakker
- Fix #142381: EEVEE: Freeze playing back a certain animation - Clément Foucault
- Fix #142464: Add customizable color for W quaternion channel - Sybren A. Stüvel
- Fix #142537: Vulkan aliased wireframe occlusion - Jeroen Bakker
- Fix #142636: Crash with node interface that's an input and an ouput - Hans Goudey
-
Fix #142644: Grease Pencil:
Subdivide Modifiernot smoothing first point when cyclical - Casey Bianco-Davis - Fix #142700: Grease Pencil: Allow copying strokes without materials - YimingWu
- Fix #142871: Two cursors visible when panning over a number button - Campbell Barton
- Fix #142912: VSE thumbnail cache processing slows down UI - Aras Pranckevicius
- Fix #142927: Sculpt artifact resizing dyntopo - Jeroen Bakker
- Fix #143018: Assert browsing a non UTF8 render output path - Campbell Barton
- Fix #143060: Snapping to curve object does not use subdivision modifier - Brecht Van Lommel
- Fix #143110: Custom keymaps missing versioning for unified settings - Sean Kim
- Fix #143231: Vulkan Renders Curve Profile Control Points Incorrectly - Philipp Oeser
- Fix #143336: Frustum culling is incorrect in Blender 4.5 - Clément Foucault
- Fix #143399: Vertex Paint subtract blend mode can cause artifacts - Sean Kim
- Fix #143474: Color Space inconsistent between 2D and 3D texture paint - Sergey Sharybin
- Fix #143532: Spreadsheet: use-after-free displaying instance tree - Jacques Lucke
- Fix #143534: Grease Pencil: Grid snapping problem with bezier points or proportional editing - Casey Bianco-Davis
- Fix #143539: Assert in UI auto complete after StringRef refactor - Hans Goudey
- Fix #143551: Cache invalidation causes crash when changing node tree item properties - Lukas Tönne
- Fix #143585: wrong structure type inferencing for lists - Jacques Lucke
-
Fix #143635: Grease Pencil: Use only editable points in
use_connected_only- Laurynas Duburas - Fix #143638: Spreadsheet Generic context is missing from Keymaps list - Pratik Borhade
- Fix #143653: Add use of Quality of Service (QoS) API on Windows - Christoph Neuhauser
- Fix #143662: Crash with Cycles persistent data and file thumbnail generation - Brecht Van Lommel
- Fix #143691: Out of bounds 2d painting - Jeroen Bakker
- Fix #143697: UI freezes with lots of Action slots (in the Outliner) - Sybren A. Stüvel
- Fix #143699: Pose library asset shelf does not apply poses - Julian Eisel
- Fix #143714: Cycles OptiX fails to render linear and ribbon curves together - Brecht Van Lommel
- Fix #143720: Grease Pencil: Crash when loading file - Falk David
- Fix #143739: Operator redo broken for duplicate move - Hans Goudey
- Fix #143775: Cryptomatte: Precision issues with matte output - Sergey Sharybin
- Fix #143802: Grease Pencil: Divide blend mode not working in viewport - Falk David
- Fix #143818: Clear Keyframes operator unassigns action - Christoph Lendenfeld
- Fix #143838: hotkey customization's aren't saved for custom operators - Campbell Barton
- Fix #143839: missing warning when connecting field to single value - Jacques Lucke
- Fix #143841: Cycles OptiX error adding AO shader with viewport render - Brecht Van Lommel
- Fix #143847: Assert in attribute operator poll after refactor - Hans Goudey
- Fix #143905: Creating a face between two edges can make a bow-tie quad - Campbell Barton
- Fix #143925: File Output writes single values for Multi-Layer EXR - Omar Emara
- Fix #143952: Broken Grease Pencil edit lines overlay in some cases - Hans Goudey
- Fix #143958: Dynamic paint crash due to thread-unsafe brush mesh writing - Hans Goudey
- Fix #143980: Invalid default values for RNA enum-flag properties - Campbell Barton
- Fix #143983: crash when shader node from properties editor - Jacques Lucke
- Fix #143989: Vulkan: Text drawing performance - Jeroen Bakker
- Fix #144014: Driver for data.shape_keys path fails with GPU subdivision - Brecht Van Lommel
- Fix #144035: Image Editor ignores face selection - Sean Kim
- Fix #144048: Vulkan: Crash minimized windows - Jeroen Bakker
- Fix #144054: EEVEE: Wrong Attribute loading caused by multiview - Clément Foucault
- Fix #144065: Do not transfer special user count (e.g. the fake user) when duplicating. - Bastien Montagne
- Fix #144070: Keying morphology can not do erosion - Omar Emara
- Fix #144086: Crash Running "New Scene" in an Empty file - Campbell Barton
- Fix #144107: Cryptomatte picker always samples first frame - Omar Emara
- Fix #144126: Set Selection node can still fail with incorrect domain - Hans Goudey
- Fix #144135: Weight Paint gradient toolbar missing - Sean Kim
- Fix #144168: Ignore mouse event when creating search popups - Leon Schittek
-
Fix #144170:
Use Lightsdefaults to false on newly created objects - Casey Bianco-Davis - Fix #144174: DRW: Base instance workaround not working - Clément Foucault
- Fix #144175: assert when adding texture paint slot - Jacques Lucke
- Fix #144221: Use Depth instead of Z in grease pencil render pass warning - Jesse Yurkovich
- Fix #144254: VSE proxies for image sequences do not work - Aras Pranckevicius
- Fix #144270: Edge slide fails when moving towards a single triangle - Campbell Barton
- Fix #144272: Render slot list broken - Hans Goudey
- Fix #144281: Missing redraw for Unified Paint Setting toggles - Sean Kim
- Fix #144305: Crash adding workspace to startup file. - Bastien Montagne
- Fix #144306: I18n: Wrong values in bpy.app.translations.locales - Damien Picard
- Fix #144307: Smooth brush uses selection even with mask is disabled. - Casey Bianco-Davis
- Fix #144309: Crash when using 'Reorder Mesh Spatially' on empty mesh - Namit Bhutani
- Fix #144314: crash when syncing sockets with recursive closures - Jacques Lucke
- Fix #144332: VSE solo preview does not work - Richard Antalik
- Fix #144335: Collection asset drag-and-drop creates two undo operations - Colin Basnett
- Fix #144340: Potential deadlock in normals cache with no faces - Hans Goudey
- Fix #144361: Grease Pencil: Crash after deleting the Default Eraser - Pratik Borhade
- Fix #144362: Match string node crash after recent change - Hans Goudey
- Fix #144364: Incorrect RNA update function called for Bones - Christoph Lendenfeld
-
Fix #144369: Grease Pencil: Use aligned handle type in
Convert Curve Typeoperator - Casey Bianco-Davis - Fix #144371: Prevent inserting keyframes on linked action - Pratik Borhade
- Fix #144373: Removing and then redefining an override property causes a crash. - Bastien Montagne
- Fix #144383: Limited dissolve creates duplicate faces - Jason C. Wenger
- Fix #144385: "Reorder Mesh Spatially" broken with loose vertices - Namit Bhutani
- Fix #144392: LineArt: End job explicitly when not baking in background - YimingWu
- Fix #144408: Crash when cancelling primitive tool with automerge on empty drawing - Casey Bianco-Davis
- Fix #144411: Crash when loading EXR image with Alpha layer - Omar Emara
- Fix #144426: Vertex Paint falloff doesn't work - Sean Kim
- Fix #144432: VSE scopes sometimes stop updating during playback - Aras Pranckevicius
- Fix #144441: EEVEE: Wrong projection matrix with Walk Navigation + Overscan - Miguel Pozo
- Fix #144469: Regression: LiboVerride: Crash on startup in some cases. - Bastien Montagne
- Fix #144483: Use-after-free when splitting View3D opened Asset Shelf - Bart van der Braak
-
Fix #144521: Unable to fetch LFS objects on
make updatewith Glthub mirror - Sergey Sharybin - Fix #144526: Crash on exit with Video_Editing template - Miguel Pozo
- Fix #144528: Cycles renders OpenVDB grids with rotation wrong - Brecht Van Lommel
- Fix #144542: Workbench DoF crash when using Vulkan - Jeroen Bakker
- Fix #144542: Crash Workbench DoF - Jeroen Bakker
- Fix #144543: Cycles NanoVDB render error with empty volume grid - Brecht Van Lommel
- Fix #144569: Cycles NanoVDB rendering broken with oneAPI - Brecht Van Lommel
- Fix #144579: "Commons" theme settings fail to load from XML - Nika Kutsniashvili
- Fix #144592: FBX exporter: Invalid memory access when exporting tangents. - Bastien Montagne
- Fix #144599: Cycles OSL node with external script does not update - Brecht Van Lommel
- Fix #144610: Cycles: do not convert open volume mesh to sdf - Weizhen Huang
- Fix #144614: Vulkan: Disable optimization for large shaders - Jeroen Bakker
- Fix #144625: Vulkan: Blacklist NVIDIA 580.76.05 on Linux - Jeroen Bakker
- Fix #144636: EEVEE Invalid hit during raytracing - Jeroen Bakker
- Fix #144639: light missing update because it was disabled - Weizhen Huang
- Fix #144681: Add support for inactive color spaces - Sergey Sharybin
- Fix #144700: Incorrect operator model draw example - Jeroen Bakker
- Fix #144701: Wrong falling fluid behaviour - Bartosz Kosiorek
- Fix #144716: Crash showing menus that referenced panels that don't exist - Campbell Barton
- Fix #144749: Crash on opening a file with a Sculpt toolsettings gravity object. - Bastien Montagne
- Fix #144751: NDOF, pan/zoom reversed in orthographic views, in fly mode - Campbell Barton
- Fix #144758: Python: Inversed unicode comparison in GPUFramebuffer - Jeroen Bakker
- Fix #144760: Some (Input) Nodes not changeable in Properties Editor - Philipp Oeser
- Fix #144771: Vulkan: Object outlines and workbench transparency - Jeroen Bakker
- Fix #144781: EEVEE: Assert fail in ShadowModule at close zoom - Clément Foucault
- Fix #144814: Cycles OSL crash accessing geom:name string attribute - Brecht Van Lommel
- Fix #144840: Crash unlinking object from outliner unused data mode - Pratik Borhade
- Fix #144858: Invalid text selection in the Python console - Campbell Barton
- Fix #144864: UI freezes with lots of Action slots (in the Outliner) part 2 - Sybren A. Stüvel
- Fix #144900: Assert hit when changing/removing the default eraser - Falk David
- Fix #144910: Cycles missing AO temporarily when kernel features change - Brecht Van Lommel
- Fix #144916: Transform crash pressing tab disabling axis constraint - Campbell Barton
- Fix #144918: World volume with zero density not rendering correctly - Weizhen Huang
- Fix #144932 : BLI_assert failed: DRW_lock_start(), at 'locked' - Miguel Pozo
- Fix #144958: Crash changing screens with a menu open - Campbell Barton
- Fix #144970: Crash selecting the text on a linked duplicated text object - Campbell Barton
- Fix #144982: Crash when scrubbing retimed strips - Richard Antalik
- Fix #145000: Draw Buttons Even When Editor Very Narrow - Harley Acheson
- Fix #145007: don't show empty tooltip popups - Jacques Lucke
- Fix #145017: EEVEE: Performance regression with Drivers in Shaders - Miguel Pozo
- Fix #145070: Clay Strips 'Sculpt Plane' option doesn't work - Sean Kim
- Fix #145084: Crash opening a file and removing a scene from Python - Campbell Barton
- Fix #145100: Grease Pencil Pen tool subdividing multiple strokes - Janne Nylander
- Fix #145103: incorrect socket usage for built-in menu sockets - Jacques Lucke
- Fix #145108: Split selection removes edges - Campbell Barton
- Fix #145111: Typo in armature unparenting popup UI code - YimingWu
- Fix #145113: Nodes: menu error not automatically resolving - Jacques Lucke
- Fix #145116: new FBX importer does not handle geometry transform + instancing properly - Aras Pranckevicius
- Fix #145137: Regression: Multires Bake: Broken with UDIM - Sergey Sharybin
- Fix #145141: Crash on "Mark Freestyle Face" operator - Philipp Oeser
- Fix #145182: Bone custom shape mesh does not have subdivision - Brecht Van Lommel
- Fix #145185: Crash while solving camera motion - Sergey Sharybin
- Fix #145186: Allow opening non-existing blend from command line - Harley Acheson
- Fix #145194: EEVEE: World Shader crash - Miguel Pozo
- Fix #145206: Outliner not using the sequencer scene to show strips - Falk David
- Fix #145228: Wrong material when copying grease pencil strokes - YimingWu
- Fix #145234: Mesh normals calculation division by zero error - илья _
- Fix #145259: Grease Pencil: Bail when no frame is selected for SVG export - YimingWu
- Fix #145287: Don't touch original mesh when converting to grease pencil - YimingWu
- Fix #145295: Crash if not finding the linked data after relocating the library. - Bastien Montagne
- Fix #145297: Grease Pencil crash when joining objects - Falk David
- Fix #145300: Value node displayed value has an offset to the right - Philipp Oeser
- Fix #145305: Crash on loading file from 1.7x - Sean Kim
- Fix #145314: Vulkan: Disable HDR on incapable drivers - Jeroen Bakker
- Fix #145321: Crash with Viewer Node on Values without Geometry - Miguel Pozo
- Fix #145349: Manifold Boolean kills sharp on edge-vertex intersection. - Howard Trickey
- Fix #145375: Crash in Viewport Render Animation - Lars-Helge-Scheel
- Fix #145388: Pose library breaks double-click in file browser - Julian Eisel
- Fix #145391: File Output node: "Layers" uilist button is misaligned - Philipp Oeser
- Fix #145396: Selection doesn't consider viewport visibility - Miguel Pozo
- Fix #145403: Viewport Compositor error always persists - Omar Emara
- Fix #145419: Cycles render pass missing when changing display pass - Weizhen Huang
- Fix #145471: Pen tool could not assign first material slot to stroke - Janne Nylander
- Fix #145485: Don't Draw Panels When Hidden or Minimized - Harley Acheson
- Fix (unreported) assert issue in memfile undo code. - Bastien Montagne
- Fix (unreported) wrong handling of system-defined IDProperties in RNA. - Bastien Montagne
- Fix crash switching workspaces without an active object - Campbell Barton
- Fix more cases of invalid ID refcounting status in RNA. - Bastien Montagne
- Fix unused warning in release builds. - Bastien Montagne
-
Hotfix #145562: Crash when passing
nullvalue toRNA_property_string_set- Bastien Montagne
GHOST
- GHOST: Add environment variable for enabling or disabling vsync - Christoph Neuhauser
- GHOST: Rename GHOST_VSYNC to BLENDER_VSYNC, change description - Brecht Van Lommel
- GHOST/Wayland: minor change to error handling when setting the cursor - Campbell Barton
- GHOST/Wayland: support server-side key-repeat - Campbell Barton
- GHOST/Wayland: only disable VSync when using the OpenGL backend - Campbell Barton
GPU
- GPU: Shader Preprocess: Add basic support for struct methods - Clément Foucault
- GPU: Shader Preprocess: Add support for guarded scope using return value - Clément Foucault
-
GPU: Remove wrapper type for
gpu::Shader- Clément Foucault -
GPU: Remove wrapper type for
gpu::UniformBuf- Clément Foucault -
GPU: Remove wrapper type for
gpu::StorageBuf- Clément Foucault - GPU: Shader: Add support for full template specialization - Clément Foucault
- GPU: Shader: Rewrite default_argument_mutation using parser - Clément Foucault
- GPU: Remove Shader Draw Parameter workaround - Clément Foucault
- GPU: Add flag for shader debug info generation - Christoph Neuhauser
- GPU: Shader: Fix parser not being consistent - Clément Foucault
- GPU: Shader: Replace template macro implementation by copy paste - Clément Foucault
- GPU: Shader: Preprocess: Improve error reporting - Clément Foucault
- GPU: Shader: Add support for enum class - Clément Foucault
- GPU: Shader: Add Shared Variable in shader create info - Clément Foucault
- GPU: Shader: Remove legacy creation API - Clément Foucault
- GPU: Improve the do_static_compilation_ check coverage - Miguel Pozo
- GPU: Shader: Add support for templated struct - Clément Foucault
- GPU: Shader: Always mute line directives for GLSL - Clément Foucault
- GPU: Make text rendering not use instance buffer - Clément Foucault
- GPU: Added image format validation for shader image bindings - Christoph Neuhauser
- GPU: Remove unused workarounds - Clément Foucault
- GPU: Improve the do_static_compilation_ check coverage (2) - Miguel Pozo
- GPU: Batch: Remove unused instance attributes - Clément Foucault
- GPU: Shader: Fix template in template support - Clément Foucault
- GPU: Shader: Add string parsing and merging - Clément Foucault
- GPU: Shader: Use parser for assert processing - Clément Foucault
- GPU: Shader: Use parser for using_mutation - Clément Foucault
- GPU: Shader: Use parser for namespace_mutation - Clément Foucault
Geometry Nodes
- 🔸 Geometry Nodes: Change closure color, reset repeat zone color - Hans Goudey
- 🔸 Geometry Nodes: move bundle and closure nodes out of experimental - Jacques Lucke
- Geometry Nodes: implement file path callback for import nodes - Sybren A. Stüvel
Git
- Git: Use LFS for binary ICC files - Brecht Van Lommel
- GitHub: Add copy of README with GitHub mirror info - Bart van der Braak
Grease Pencil
- 🔸 Grease Pencil: Improve cyclical end cap rendering - Casey Bianco-Davis
- 🔸 Grease Pencil: Export other curve types to SVG - Casey Bianco-Davis
- 🔸 Grease Pencil: Edit Mode Pen Tool - Casey Bianco-Davis
-
🔸
Grease Pencil:
JoinOperator leaves handles selected - Casey Bianco-Davis - Grease Pencil: Avoid repeated attribute lookup in origin set operator - Hans Goudey
HTTP Downloader
- HTTP Downloader: ensure main . file is not set when spawning process - Sybren A. Stüvel
Help text
- Help text: support extracting Vulkan & OpenGL args even when disabled - Campbell Barton
- Help text: group all debug options together - Campbell Barton
- Help text: tweak for better extraction for the user manual & man page - Campbell Barton
I18N
- I18N: Update UI translations from git/weblate repository (da8ebe3f8291a7). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (5aae94a85f408). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repository (5a6a49b9a062). - Bastien Montagne
- I18N: Update UI translations from git/weblate repository (51922129e12b3cb9). - Bastien Montagne
- I18n: Allow translation of two formatted reports using dynamic types - Damien Picard
IO
- IO: Improve FileHandler drop operator missing properties warning - Guillermo Venegas
- IO: Add Apply Transforms option to obj exporter - Thomas Hope
ImBuf
- ImBuf: Change rounding for byte buffer in IMB_rectfill() - Sergey Sharybin
Image Mask Editor
Keymap
- 🔸 Keymap: Consistent hotkey for Jump to Previous/Next Keyframe - Damien Picard
LibOverride
- LibOverride: Fix recursive resync incorrectly clearing hierarchy info. - Bastien Montagne
- LibOverride: Prevent matching collection items only by their index if a name and ID are provided. - Bastien Montagne
Libx
- Libx: Restore macOS libraries hash - Sergey Sharybin
Lights
- 🔸 Lights: Rename Spot Size to Beam Angle in UI - Eqkoss / T1NT1N
LineArt
- 🔸 LineArt: Use "Radius" instead of "Thickness" for generating strokes - YimingWu
- 🔸 LineArt: Allow curves objects to be loaded into calculation - YimingWu
Mesh
- 🔸 Mesh: Avoid quadratic vertex valence complexity for corner normals - илья _
- 🔸 Mesh: Avoid mutex lock in hot loop for custom normals - илья _
Metal
- Metal: Workaround broken shader log - Clément Foucault
Modeling
- 🔸 Modeling: add "Connected" support for auto-merge - Campbell Barton
- 🔸 Modeling: Support "Auto Merge" for the bevel operator - Eitan Traurig
- Modeling: avoid redundant update call for bevel when auto-merge is used - Campbell Barton
- 🔸 Modeling: support maintaining the active object when pasting - Campbell Barton
Multires
- Rework Bake from Multires - Sergey Sharybin
- Multires: Add 'Conform Base' functionality - Sean Kim
- Multires Bake: Implement vector displacement baking - Sergey Sharybin
- Multires bake: Rework baking high-res displacement - Sergey Sharybin
Nodes
- 🔸 Nodes: Make context path breadcrumbs interactive - Maxime-Cots
- 🔸 Nodes: Change collapsed node shape - Hans Goudey
- Nodes: Use frame with label for versioning Use Nodes (World) - Habib Gahbiche
- Nodes: remove field inference test - Jacques Lucke
- Nodes: remove experimental option for new socket shapes - Jacques Lucke
- Nodes: wrap int in MenuValue type for menu sockets - Jacques Lucke
- Nodes: Lower main socket priority of menu sockets - Omar Emara
- 🔸 Nodes: Port shader Gamma node to Geometry Nodes - Alberto12345678999
- 🔸 Nodes: Inherit color tag when grouping a single node - W_Cloud
- Nodes: optimize socket usage inferencing for many group inputs - Jacques Lucke
- Nodes: further optimize socket usage inferencing for many group inputs - Jacques Lucke
- Nodes: ensure tree topology cache is up to date before iterating sockets - Sybren A. Stüvel
-
🔸
Nodes: Node Wrangler: Make
Lazy Connectwithout menu to only consider visible sockets. - Pasang Bomjan
Outliner
- 🔸 Outliner: Allow right mouse select - Pratik Borhade
Paint
- 🔸 Paint: Store brush and palette colors in scene linear colorspace - Brecht Van Lommel
- Paint: Add tablet pressure to status bar - Sean Kim
- 🔸 Paint: Change brush size values to represent diameter - Sean Kim
PointCache
- 🔸 PointCache: improve performance and compression, always compress - Aras Pranckevicius
PyAPI
- PyAPI: move bpy_types.py to a private module - Campbell Barton
- PyAPI: minor clarification to error - Campbell Barton
- PyAPI: buffer protocol support for mathutils types - Oxicid
PyDoc
- PyDoc: generate a list of types that support custom properties - Campbell Barton
- PyDoc: add missing arguments to bpy.app.handlers - Campbell Barton
- PyDoc: added missing screen parameter - clankill3r
- PyDoc: include buffer access in examples, cleanup - Campbell Barton
- PyDoc: UILayout.introspect(), add missing return value type - Andrej730
- PyDoc: correct types, consistent formatting for doc-strings in C++ - Campbell Barton
- PyDoc: correct use of back ticks for literal text - Campbell Barton
- PyDoc: include keyword only parameter in doc-strings - Campbell Barton
- PyDocs: Add Macro example - Aaron Carlisle
- PyDocs: Update Sphinx / Theme - Aaron Carlisle
- PyDocs: Fix syntax formatting errors - Aaron Carlisle
Python
-
Python: Fix parameter name in error message from
bpy.data.file_path_map()- Sybren A. Stüvel -
Python: Improve
bpy.data.user_map()argument documentation - Sybren A. Stüvel
RNA
- RNA: declare flags before calling RNA_def_property_enum_items - Campbell Barton
- RNA: require the enum flag is set before enum items are set - Campbell Barton
Readfile
- Readfile: Assert given BHead is an ID one in some util functions. - Bastien Montagne
Refactor
- Refactor: Extract BMesh attribute lookup function - Hans Goudey
- Refactor: simplify checks for the user & environment temp directory - Campbell Barton
- Refactor: simplify "_bpy_types" initialization internals - Campbell Barton
- Refactor: Geometry Nodes: use SocketValueVariant for data-block types - Jacques Lucke
- Refactor: Logging: Use CLOG for video and ffmpeg - Brecht Van Lommel
- Refactor: Logging: Replace more printf with CLOG - Brecht Van Lommel
- Refactor: Geometry Nodes: use SocketValueVariant for geometry sockets - Jacques Lucke
- Refactor: Cycles: Compute shader usage of volumes earlier - Brecht Van Lommel
- Refactor: Geometry Nodes: simplify parameter access - Jacques Lucke
- Refactor: Geometry Nodes: use SocketValueVariant in bake api - Jacques Lucke
-
Refactor: simplify and test
ANIM_unit_mapping_get_factor()- Christoph Lendenfeld - Refactor: Geometry Nodes: use SocketValueVariant instead of raw pointers - Jacques Lucke
- Refactor: Geometry Nodes: use SocketValueVariant to get value from socket - Jacques Lucke
- Refactor: Geometry Nodes: remove bNodeSocketType::geometry_nodes_cpp_type - Jacques Lucke
- Refactor: Disambiguate default and standard view transform - Brecht Van Lommel
- Refactor: Use function overload for bone_is_visible - Christoph Lendenfeld
- Refactor: Vulkan: Swapchain submission fence - Jeroen Bakker
- Refactor: Improve packaging of curve edit draw segments in memory - илья _
- Refactor: Use optional Span instead of empty Span with no attribute - Hans Goudey
- Refactor: Move some wmWindowManager runtime lists out of DNA - Hans Goudey
- Refactor: Cycles: Align log levels with CLOG - Brecht Van Lommel
- Refactor: Move various window manager runtime pointers out of DNA - Hans Goudey
- Refactor: Clear Panel and ARegion runtime pointers when writing files - Hans Goudey
- Refactor: simplify zero stripping in units code - Campbell Barton
- Refactor: Nodes: Generalize node tree subtypes - Omar Emara
- Refactor: Vulkan move queue ownership to device - Jeroen Bakker
- Refactor: Simplify subdiv utilities - Sergey Sharybin
- Refactor: Use float2 in the multires baker - Sergey Sharybin
- Refactor: Mass Mesh as const to multires displacement - Sergey Sharybin
- Refactor: Consolidate baking settings into BakeData - Sergey Sharybin
- Refactor: Spreadsheet: make value drawing function more reusable - Jacques Lucke
- Refactor: move the evaluated font size into EditFont - Campbell Barton
- Refactor: move font-curve initialization & validation out of evaluation - Campbell Barton
- Refactor: move run-time flags from CharInfo::flag to CharTrans - Campbell Barton
- Refactor: Remove usage of std::deque - Christoph Lendenfeld
- Refactor: Cycles: Simplify Metal backend with direct bindless resource encoding - Michael Jones
- Refactor: GPU: NodeLink shader to remove need of instance attributes - Clément Foucault
- Refactor: UI: use C++ types in interface_align - Guillermo Venegas
- Refactor: Color Management: Determine gamut and transfer function for views - Brecht Van Lommel
- Refactor: BLI: reduce code size for virtual arrays - Jacques Lucke
- Refactor: Deduplicate position transform utilities - Hans Goudey
- Refactor: Deduplicate Paint BVH source of truth for position cache access - Sean Kim
- Refactor: Move Vulkan descriptor pools - Jeroen Bakker
-
Refactor: Use container types for Subdiv
face_ptex_offset- Sean Kim - Refactor: Nodes: extract socket value inferencer from usage inferencer - Jacques Lucke
- Refactor: Nodes: improve InferenceValue abstraction to better support non-primitive values - Jacques Lucke
- Refactor: Remove unused function from UI_view_2d.hh - Christoph Lendenfeld
Release
- Release: Include 4.5 LTS gitea issue in notes generator - Philipp Oeser
Render
- 🔸 Render: Bake only to explicitly selected images - Martijn Versteegh
Rendering
- Rendering: check return value of mkdir before using directory - Sybren A. Stüvel
Revert
- Revert "Cleanup: GPU: Remove unused shader library guards" - Clément Foucault
- Revert "Cycles: Store octree parent nodes in a stack" - Weizhen Huang
- Revert "Cycles: Simplify Metal backend with direct bindless resource encoding" - Brecht Van Lommel
-
Revert "Fix: Curves:
Select Alternateoperator not selecting handles" - Falk David - Revert "Fix #141768: VSE: Tabbing in/out of metastrips does not update strip cache" - Sebastian Parbor
- Revert "GPU: Improve the do_static_compilation_ check coverage" - Miguel Pozo
- Revert "Outliner: Allow right mouse select" - Pratik Borhade
- Revert "Sequencer: Avoid storing un-tracked pointers in blend files" - Hans Goudey
- Revert "Vulkan: Remove resource pools" - Jeroen Bakker
Sculpt
- 🔸 Sculpt: Emit size for geometry sculpt undo steps - Sean Kim
- 🔸 Sculpt: Remove hardcoded plane offset value for clay brushes - Sean Kim
Shrinkwrap
- 🔸 Shrinkwrap: Use OpenSubdiv instead of legacy DerivedMesh - Sergey Sharybin
Test
- Test: LibOverride: Add more complex case for multi-level hierarchy handling. - Bastien Montagne
- Test: Extend runtime-defined bpy props array unittests. - Bastien Montagne
- Tests: Compositor: update File Output Node tests - Habib Gahbiche
- Tests: Overwrite animation FPS limit in EEVEE performance tests - Christoph Neuhauser
- Tests: Allow log errors from image loading tests - Brecht Van Lommel
- Tests: Remove broken image path in tests - Brecht Van Lommel
- Tests: USD: Replace USDZ export test with another for better validation - Jesse Yurkovich
- Tests: LibOverride: Simply some code, add 'empty lib' test case. - Bastien Montagne
- Tests: Turn VSync off for performance tests - Christoph Neuhauser
- Tests: update GPU volume tests - Weizhen Huang
- Tests: Fix RNA manual look up checks - Aaron Carlisle
- Tests: Reorganize group tests - Ian Yoo
- Tests: Adjust rounding in USD crease value test - Jesse Yurkovich
- Tests: bpy props: Add systematic tests for non-array types. - Bastien Montagne
- Tests: Minor update to systematic tests of numerical bpy.props-defined props. - Bastien Montagne
- Tests: Add Cycles test for scene with many unique materials - Alaska
- Tests: Update EEVEE and Workbench OpenVDB test after recent change - Clément Foucault
- Tests: Update bake tests for new selection requirements - Brecht Van Lommel
Tools
- Tools: avoid redundant checks in code_clean for function-style-casts - Campbell Barton
UI
- 🔸 UI: Center-align header modal status text - Pablo Vazquez
- 🔸 UI: Add Scene/ViewLayer selectors to Properties tabs - Aaron Carlisle
- 🔸 UI: Allow Preferences editor to be opened in Maximized Area - Jonas Holzman
- 🔸 UI: Fade in Area Move Divider Lines - Harley Acheson
- 🔸 UI: Generalized Alert and Popup Block Error Indication - Harley Acheson
- 🔸 UI: Use UI_alert For Vulcan Fallback Warning - Harley Acheson
- 🔸 UI: Gray out or hide asset shelf toggle if not available - Julian Eisel
- UI: Gray out the Attribute Text option when Text Info is disabled - Clément Foucault
- 🔸 UI: move playhead snapping to footer - Christoph Lendenfeld
- 🔸 UI: Nodes: Add icons to data type menus - W_Cloud
- 🔸 UI: Remove node socket icons from attribute and grid type enums - Hans Goudey
- 🔸 UI: Nodes: gray out sockets in non-editable linked node trees - Jacques Lucke
- 🔸 UI: Optionally Indicate Region Overflow - Harley Acheson
- UI: Prevent 'liboverride' 'decorator' button to control keyframes. - Bastien Montagne
- 🔸 UI: Prevent automatic mode switching in certain scenarios - Sean Kim
- 🔸 UI: Remove liboverride UI dead code, improve UI messages. - Bastien Montagne
- 🔸 UI: Store collapse state of node interface panel - Pratik Borhade
- 🔸 UI: Theme: Move curve handle properties in common - Nika Kutsniashvili
- 🔸 UI: Theme: Move keyframe properties to common - Nika Kutsniashvili
- 🔸 UI: Remove unused theme properties - Nika Kutsniashvili
- 🔸 UI: Make selected track color in Movie Clip Editor themeable - Nika Kutsniashvili
- 🔸 UI: Warning When Dragging Non-Blend File Onto Executable - Harley Acheson
- 🔸 UI: Widen Preferences Window - Pablo Vazquez
- 🔸 UI: "Delete Other Workspaces" operator - Maxime-Cots
- 🔸 UI: Add Icons for Edge/Vertex Crease and others - Pablo Vazquez
- 🔸 UI: Improve image output File Format menu - Pablo Vazquez
- 🔸 UI: Shape key menu sanitization - Pratik Borhade
- 🔸 UI: Shape key right click context menu - Pratik Borhade
- 🔸 UI: Tree View: Operator to delete with X key - Pratik Borhade
- 🔸 UI: Theme: Move more animation properties in common - Nika Kutsniashvili
- 🔸 UI: VFont Placeholder Size Correction - Harley Acheson
USD
- 🔸 USD: Import UsdNurbsCurves as Curves instead of old Curve - Jesse Yurkovich
UV
- 🔸 UV: support island selection with sync-select in vertex/edge mode - Campbell Barton
VSE
- 🔸 VSE: Faster waveform & vectorscope calculation - Aras Pranckevicius
- 🔸 VSE: Copy settings of active scene when adding new scene - Falk David
- 🔸 VSE: "Duplicate Strips" also duplicates referenced IDs - Falk David
- 🔸 VSE: add copy and paste operators to preview keymap - Ramon Klauck
- 🔸 VSE: Improve Histogram scope for HDR content - Aras Pranckevicius
- 🔸 VSE: Add scene assets through strip add menu - Falk David
- 🔸 VSE: Clear Strip Keyframes from Preview - Ramon Klauck
- 🔸 VSE: Enable Pie Menu on Drag for Preview Keyframe Insert - Ramon Klauck
- 🔸 VSE: Add "Mirror" menu to preview strip menu - Ramon Klauck
- 🔸 VSE: Support adding multiple images - John Kiril Swenson
- 🔸 VSE: Clear cache when toggling meta strips - Sebastian Parborg
- 🔸 VSE: Scene Selector & Scene Time Synchronization - Falk David
- 🔸 VSE: Slip toolbar tool - John Kiril Swenson
- 🔸 VSE: show shortcuts in strip animation menu - Ramon Klauck
- 🔸 VSE: Do Scopes on the GPU, improve their look, HDR for waveform/parade - Aras Pranckevicius
- Sequencer: Avoid storing un-tracked pointers in blend files - Hans Goudey
- Sequencer: Avoid storing un-tracked pointers in blend files - Hans Goudey
Vulkan
- Vulkan: Add resource tracker to debug output - Jeroen Bakker
- Vulkan: Remove support for render passes - Jeroen Bakker
- Vulkan: Add assert to check valid API usage - Jeroen Bakker
- Vulkan: Disable descriptor buffers - Jeroen Bakker
- Vulkan: Swap to system memory for device local memory - Jeroen Bakker
- Vulkan: Destroy resources in submission thread - Jeroen Bakker
- Vulkan: Update VMA to 3.3.0 - Jeroen Bakker
- Vulkan: Remove MoltenVK - Jeroen Bakker
- Vulkan: Enable maintenance4 in VMA - Jeroen Bakker
- Vulkan: Add assert for potential driver crash - Jeroen Bakker
- 🔸 Vulkan: HDR support for Windows - Jeroen Bakker
- Vulkan: Recycle descriptor pools - Jeroen Bakker
- Vulkan: Tweaks to improve HDR display on Windows - Brecht Van Lommel
- Vulkan: Remove resource pools - Jeroen Bakker
- Vulkan: Remove resource pools - Jeroen Bakker
- Vulkan: Precheck max allowed buffer size - Jeroen Bakker
WM
Weight Paint
- Weight Paint: Round values lower than 0.0001 to 0 when painting - Sean Kim
- 🔸 Weight Paint: Change default 'Zero Weights' setting to 'Active' - Sean Kim
Workbench
- 🔸 Workbench: Change fallback in Attribute color mode to Material - Clément Foucault
bf_imbuf_movie
- bf_imbuf_movie: Fix warnings building with MSVC 2019 - Ray Molenkamp
glTF importer
- glTF importer: add comment after recent changes - Julien Duroure
18 Comments
Hi Pablo, are there any plans for improving 3D texture painting? specifically when painting on a 3D object and not having the paint get cut off?
Made an account specifically for this - After watching Pablo miss the point of this question.
What this means is when will Blender paint with a proper 3d cursor, and not the 2d projection that it currently has. The old system leads to significant stretching and smearing over steep / glancing camera angles.
This is the only thing that makes me leave Blender to texture in other software like Painter, 3dcoat, Mari, etc...
I feel so validated right now
Hi Pablo. Hope everything is going well.
I downloaded Blender 5.0.0 and I have some accessibility-related questions.
Is there a way to set the small increment and large increment color of the grid? Sometime when we zoom in it's difficult to tell which is which if they are the same color and one is just a tiny bit thicker. It's also difficult to find the color settings now. There should just be a search at the to of the preferences popup. We should be able to search for setting titles making it easier to use Blender. I wanted to change the viewport > grid color but it was in themes which meant I had to go on a hunt to find color settings. blender.community/c/rightclickselect/6B0V/
Is there a way to change the way cubes are drawn/inserted on the stage? For example, draw a cube by points: first point, second point (creating a line), 3rd point (width - creating the plane), and then 4th point (depth)? Or can you recommend an extension where I can do this. I want to draw buildings from plans and need lots of control like being able to type in the x,y,z points or a length from a point.
Also thank you so much for doing these videos again.
Hi Pablo, Blender 5 is getting really good.
I have a question about the composition view and render results. Do you know what might be happening?
blender.community/c/today/L1NX/
Hi Pablo. Any plans to fix manifold extrude and polybuild and other broken tools first before adding new ones?
they have been added for over 5 years now but they ddin't get any fix or improvements. I need manifold extrude to work well just like in other DCCs, please tell Devs to do it #sad_Face
Hi Pablo, how r you :D I’ve already mentioned the Axis in orthographic view, and you comment on it, to add a highlighted white grid in the center. I really hope this gets addressed, because right now it’s hard to tell where the center is in orthographic view. blender.community/c/rightclickselect/21qK/
thanks :D
Hello Pablo!! I was wondering if you had any news on Nvidia dlss denoiser for cycles?
Oi, Pablo!
have you seen Pwnisher's rampage rally challenge? these things supercharge interest in Blender! most people join to have their work and name in a massive montage on a well known channel! I'm not sure it fits Blender Foundation to host something similar, but it's important to note what drives people to pick up and learn Blender! You should take part in the next one! I firmly believe every developer should actively use their software to bring a project from start to finish!
on another brief related note, I used the sintel rig in my submission! I can't wait for it to be updated with geo nodes hair and dynamics! I'm curious how geo nodes physics be handled in menus. are we looking at a copy of the current physics stuff, as a massive node in the modifiers tab?
Hello. Will Blender 5 get nurb shapes or solid shapes that don't need small squares. Lighter files.
Hello, the right click context menu has options to mark and clear sharp and seam edges. These have no icons right now. I think it'd be useful to add icons that use the same color as the edges in the 3d viewport, so blue for sharp, red for seam. Same could be added to the bevel weight side panel. Makes it easier to find the "make this edge not blue" button. What do you think? Cheers!
Never mind you already added it haha! You're too awesome!
Hey Pablo, hope you have a great day and thank you for the livestream, what is your opinion on this: blender.community/c/rightclickselect/Xkzo/
Hi Pablo, is the big animation project that was planned for blender 5 still being worked on?
I'm starting to get worried and the "animation 2020 project" flashbacks are kicking in
with compositor assets coming up in 5.0, will we be able to add modifiers to the image editor and the video sequence editor as well?
I think the VFX module needs some love in general. it's no longer in line with the general UI design. it's basically designed like an addon.
Hey Pablo,
no question this time, just wanted to share some artworks of talented artists i've found on the internet, there are a lot of them i wanted to show you (for you guys to see, appreciate and hopefully put them in the official blender reel) but this time I'm just gonna show one artist's artwork. This dude (Juan Hernandez) works as a 3d visual development artist at a big vfx studio (framestore) and he uses blender for most of his tasks and his work is probably the highest quality artwork i've ever seen done in blender, at least when it comes to realism and attention to detail.
Here are the links to some of the best stuffs i've seen from him :
artstation.com/artwork/4NP6o4
this is another really insane artwork made by another artist from framestore :
artstation.com/artwork/3EEx8J
I believe I have found the oldest bug in Blender.
First reported back in 2014, I tested it on older and older versions until I got it to trigger in Blender 1.60 (released in 1999).
More details: projects.blender.org/blender/blender/issues/38828