Till Next Year! - Blender Today LIVE #241
Changelog
481 commits in total, of which 136 are fixes and 112 cleanup.
3D View
- 3D View: add local up/down movement to walk navigation - Aaron Franke
AUTHORS
- AUTHORS: add 3 new developers - Campbell Barton
Add 'rename' unittest for BLI_fileops' BLI_rename/_overwrite().
- Add 'rename' unittest for BLI_fileops' BLI_rename/_overwrite(). - Bastien Montagne
Anim
- Anim: Unit tests for inserting keyframes - Christoph Lendenfeld
- Anim: Rename NLA "Channels" to "Tracks" - Nate Rupsis
Asset shelf
BLI
- BLI: Add "scatter" array_utils function - Hans Goudey
- BLI: Two digit ms precision for SCOPED_TIMER macro - Christoph Lendenfeld
BLI_fileops rename unittests
- BLI_fileops rename unittests: add tests for directory rename. - Bastien Montagne
Build
- Build: resolve error configuring FFMPEG on Linux - Campbell Barton
- Build: upgrade Intel Graphics Compiler on Linux - Xavier Hallade
- Build: add the WESTON compositor for Linux - Campbell Barton
- Build: disable some unnecessary tools & options for WESTON - Campbell Barton
- Build: prevent OpenSSL using /etc/ssl on macOS & Linux - Campbell Barton
- Build: Update OpenImageDenoise to 2.1.0 - Werner, Stefan
- Build: correct package name & code-comment for WESTON in lib/ - Campbell Barton
- Build: auto update CMake config for shared library OpenImageDenoise - Brecht Van Lommel
- Build: remove outdated bf-committers email from bpy package - Brecht Van Lommel
- Build: fix ffmpeg dependency build failing with new texinfo - Brecht Van Lommel
- Build: fix macOS OpenImageDenoise 2.1 library not loading correctly - Brecht Van Lommel
CMake
- CMake: mark WITH_COMPILER_ASAN_EXTERN as advanced, quiet warning - Campbell Barton
- CMake: Give kernel compilation targets access to console - Sergey Sharybin
- CMake: remove redundant white-space as part of multi-line strings - Campbell Barton
- CMake: remove " " prefixed "LEVEL_ZERO " variables - Campbell Barton
- CMake: mark internal SSL deps variable as internal - Campbell Barton
- CMake: mark FFTW3_LIBRARY_{F,D} as advanced, update doc-string - Campbell Barton
- CMake: mark X11 & openpgl variables as advanced - Campbell Barton
- CMake: Allow building with system Vulkan and ShaderC - Sebastian Parborg
Cleanup
- Cleanup: Generalise input reading in compositor - Omar Emara
- Cleanup: Use input reading shaders for Movie Clip node - Omar Emara
- Cleanup: Remove Debug Statement - Jeroen Bakker
- Cleanup: Metal: Silence sometimes-uninitialized warning - Habib Gahbiche
- Cleanup: PBVH: Remove redundant storage of face set metadata - Hans Goudey
- Cleanup: Silence unused-private-field warning - Habib Gahbiche
- Cleanup: format - Campbell Barton
- Cleanup: format - Campbell Barton
- Cleanup: spelling in comments, use doxygen doc-strings - Campbell Barton
- Cleanup: Use utility to fill index range in curve node - Iliya Katueshenock
- Cleanup: Use utility function to fill triangle face offsets - Hans Goudey
- Cleanup: Convert VSE headers from .h to .hh - Richard Antalik
- Cleanup: Remove unnecessary struct keywords in sequences headers - Hans Goudey
- Cleanup: Simplify construction of Group ID VectorSet - Hans Goudey
- Cleanup: Sculpt: Simplify face and face set iteration - Hans Goudey
- Cleanup: Comments in animrig - Christoph Lendenfeld
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Vulkan: Replace FlagBits with Flags - Jeroen Bakker
- Cleanup: remove unused variables - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: quiet warning from missing include - Campbell Barton
- Cleanup: cmake indentation - Campbell Barton
- Cleanup: compile the match for reuse in UI_UL_list.filter_items_by_name - Campbell Barton
- Cleanup: use enum types and improve argument naming for walk mode - Campbell Barton
- Cleanup: use full sentences as comments, blocks around case statements - Campbell Barton
- Cleanup: use "g_" prefixed static walk variables, enable strict flags - Campbell Barton
- Cleanup: use explicit global/local naming for walk flags - Campbell Barton
- Cleanup: VSE: Strip drawing code readability - Richard Antalik
- Cleanup: Refactor VSE strip highlighting - Richard Antalik
- Cleanup: VSE strip drawing readability - Richard Antalik
- Cleanup: Remove unnecessary typedefs - Richard Antalik
- Cleanup: VSE cache drawing - Richard Antalik
- Cleanup: remove unused variable - Campbell Barton
- Cleanup: remove unsafe string API use for MTL shader generation on macOS - Campbell Barton
- Cleanup: move math_geom.c to c++ - Aras Pranckevicius
- Cleanup: use_holes arg to isect_point_poly_v2 has been ignored since 2013 - Aras Pranckevicius
- Cleanup: early returns in BLF, use full scentences - Campbell Barton
- Cleanup: use full sentences in writefile.cc, minor clarifications - Campbell Barton
- Cleanup: spelling in comments, format - Campbell Barton
- Cleanup: various C++ changes (use nullptr, function style casts) - Campbell Barton
- Cleanup: minor corrections & clarifications for undo tests - Campbell Barton
- Cleanup: add SPDX-FileCopyrightText - Campbell Barton
- Cleanup: use std::min/max instead of MIN2/MAX2 macros - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Add missing includes to node anonymous attribute header - Hans Goudey
- Cleanup: Consolidate draw attribute extraction - Hans Goudey
- Cleanup: Remove unused declaration and include - Christoph Lendenfeld
- Cleanup: comment style in animrig - Christoph Lendenfeld
- Cleanup: remove unused form_factor_ functions - Aras Pranckevicius
- Cleanup: remove unused spherical harmonics functions - Aras Pranckevicius
- Cleanup: Mark unused arguments as such - Sergey Sharybin
- Cleanup: Remove unused functions - Hans Goudey
- Cleanup: Fix warnings due to disabled OCIO - Omar Emara
- Cleanup: Remove compiler warning - Antonio Vazquez
- Cleanup: format - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: suppress UBSAN undefined behavior warnings - Campbell Barton
- Cleanup: Sculpt, use C++ vector types in internal types - Sergey Sharybin
- Cleanup: Sculpt, use C++ types for PBVH proxy node API - Sergey Sharybin
- Cleanup: Remove unused r_data_format parameter - Jeroen Bakker
- Cleanup: Remove unneeded extern "C" linkage for C++ code - Sergey Sharybin
- Cleanup: Remove unused pointer to PBVH node - Sergey Sharybin
- Cleanup: Remove unused arguments from sculpt automasking API - Sergey Sharybin
- Cleanup: quiet unused variable warnings in CMake - Campbell Barton
- Cleanup: spelling in comments - Campbell Barton
- Cleanup: add missing header to CMake, sort file lists - Campbell Barton
- Cleanup: remove unused variables & imports in scripts/ - Campbell Barton
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Follow style guide in new math function, use std:: namespace - Hans Goudey
- Cleanup: Geometry Nodes: General topology map creation in Shortest Edge Paths - Iliya Katueshenock
- Cleanup: rename data -> ghost_data in wm_playanim - Campbell Barton
- Cleanup: quiet warning building WITH_GMP=OFF - Campbell Barton
- Cleanup: Remove C header from C++ math header - Hans Goudey
- Cleanup: Small cleanups to mesh normals calculation - Hans Goudey
- Cleanup: Geometry Nodes: Early returns in Shortest Edge Paths node - Iliya Katueshenock
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Use C++ math functions in mesh normals code - Hans Goudey
- Cleanup: Remove iostreams include from timeit header - Iliya Katueshenock
- Cleanup: Add const to MutableSpan methods - Hans Goudey
- Cleanup: Combine crazyspace C header with C++ header - Hans Goudey
- Cleanup: Move BKE_modifier.h to C++ - Hans Goudey
- Cleanup: Remove unnecessary struct and typedef keywords from C++ headers - Hans Goudey
- Cleanup: Remove unused old sequencer iterator - Hans Goudey
- Cleanup: Remove unused CustomData function - Hans Goudey
- Cleanup: Use enum class for ModifierTypeType - Hans Goudey
- Cleanup: Use C++ types for modifier type deform callbacks - Hans Goudey
- Cleanup: Avoid shallow copy in OBJ exporter - Hans Goudey
- Cleanup: Avoid shallow copy in PLY exporter - Sergey Sharybin
- Cleanup: Fix debug build error after recent commit - Hans Goudey
- Cleanup: Reduce overloaded-virtual warnings - Jeroen Bakker
- Cleanup: Make format - Harley Acheson
- Cleanup: Synchronizing Icons - Harley Acheson
- Cleanup: Arrow Operator Required - Harley Acheson
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Move several blenkernel headers to C++ - Hans Goudey
- Cleanup: Remove unnecessary keywords from newly C++ headers - Hans Goudey
- Cleanup: Remove unused edit mesh cage bounding box cache - Hans Goudey
- Cleanup: Use C++ types for crazyspace deform storage - Hans Goudey
- Cleanup: Acess geometry bounds more directly - Hans Goudey
- Cleanup: Remove Never Failing Check - Jeroen Bakker
- Cleanup: Retrieve sculpt mask without write access - Hans Goudey
- Cleanup: Make format - Jeroen Bakker
- Cleanup: Simplify crazyspace loop over mesh corners - Hans Goudey
- Cleanup: Use C++ BitVector for sculpt boundary info - Hans Goudey
- Cleanup: Remove mistaken reference binding to temporary - Hans Goudey
- Cleanup: Return Bounds type directly in mesh to volume code - Hans Goudey
- Cleanup: Access mesh bounds directly for Python raycast - Hans Goudey
- Cleanup: Remove unnecessary references to BoundBox - Hans Goudey
- Cleanup: Add missing forward struct declaration - Hans Goudey
- Cleanup: Remove unnecessary extern "C" in legacy GP header - Hans Goudey
- Cleanup: reduce boilerplate for equality operators for structs - Jacques Lucke
- Cleanup: Make format - Jeroen Bakker
Compositor
- Compositor: Set dependency graph debug name - Sergey Sharybin
Curves
- Curves: Add radius transform mode to edit mode - casey bianco-davis
- Curves: Sculpt mode frame selected operator support - Iliya Katueshenock
Cycles
- Cycles: change default Principled Hair BSDF back to Chiang - Brecht Van Lommel
- Cycles: Apple M3 tuning including hardware raytracing - Michael Jones
- Cycles: update Linux library search paths for upcoming ROCm 6 - bsavery
- Cycles: Fix Principled BSDF versioning for keyframes and drivers - Lukas Stockner
- Cycles: Workaround MetalRT TLAS build hanging in some motion blur scenes - Michael Jones
- Cycles: Use Metal Program Scope Global Built-ins on macOS >= 14.0 - Michael Jones
- Cycles: oneAPI: adjust reported device capabilities - Xavier Hallade
- Cycles: Fix Metal API validation error when Metal motion blur workaround is applied - Michael Jones
- Cycles: Fix #114919: Disable MetalRT-by-default if macOS < 14.0 - Michael Jones
- Cycles: Add Intel GPU support for OpenImageDenoise - Stefan Werner
Depsgraph
- Depsgraph: Log depsgraph name for timing summary - Sergey Sharybin
- Depsgraph: Remove misleading FPS counter - Sergey Sharybin
Docs
- Docs: add notes on populating bpy.app.driver_namespace - Campbell Barton
- Docs: improve wording for bpy.app.driver_namespace - Campbell Barton
- Docs: remove dpi from blf.size doc as it's deprecated - Andrej730
- Docs: improve bpy.app.driver_namespace, add stub example - Campbell Barton
- Docs: include cls in bpy.utils.unregister_class - nutti
Draw
- Draw: Add Region Info Debug Group - Jeroen Bakker
EEVEE
- EEVEE: Update UI Names - Jeroen Bakker
EEVEE-Next
- EEVEE-Next: Fix Infinite Loop With Reflection Probe - Jeroen Bakker
- EEVEE-Next: Per probe viewport display - Miguel Pozo
- EEVEE-Next: Make Ambient Occlusion Pass use Horizon Scan - Clément Foucault
- EEVEE-Next: Fix empty layers utiltex - Clément Foucault
- EEVEE-Next: New shadow settings - Miguel Pozo
- EEVEE-Next: Fix shadow tests - Miguel Pozo
- EEVEE-Next: Add Max Displacement option - Miguel Pozo
FFMPEG
FIx
- FIx: Workbench: Shadow debug mode - Miguel Pozo
FIx #114286
- FIx #114286: Resolve ghosting artifact in workbench in Metal - Jason Fielder
Fix
-
Fix: missing attribute
finish()in curves selection code - Sietse Brouwer - Fix: NLA mapping not taken into account when framing FCurves - Christoph Lendenfeld
- Fix: Broken node tool group data-block references - Hans Goudey
- Fix: Incorrect PBVH mask drawing after recent change - Hans Goudey
- Fix: Sculpt redo crash after undoing addition of mask - Hans Goudey
- Fix: Use native path separator for node tools redo panel title - Hans Goudey
- Fix: Missing include in previous commit - Hans Goudey
- Fix: Nodes: Float draw position for sockets - Iliya Katueshenock
- Fix: EEVEE-Next: Planar display probe shader compilation - Miguel Pozo
- Fix: Correct order of nodes in the Mesh > Write menu - Douglas Paul
- Fix: Windows build error from missing template argument deduction - Hans Goudey
- Fix: Enable Vulkan Workarounds - Jeroen Bakker
- Fix: broken regression test fcurve_test.cc - Christoph Lendenfeld
- Fix: Remove support for node tool data-block inputs for 4.0 - Hans Goudey
- Fix: Debug build error after previous commit - Hans Goudey
- Fix: build error with MSVC - Ray Molenkamp
- Fix: USD: Wrong UsdUVTexture rgb output type. - Michael Kowalski
- Fix: Auto smooth versioning node group doesn't show in data-block picker - Hans Goudey
- Fix: Building with WITH_OPENVDB=OFF and WITH_LZMA=ON - Charles Wardlaw
- Fix: Vulkan Texel Buffers Texture Format - Jeroen Bakker
- Fix: Incorrect default used when retrieving material indices - Hans Goudey
- Fix: Link errors due to different linkage in recent refactor - Omar Emara
- Fix: Incorrect freeing in depsgraph RNA objects iterator - Hans Goudey
- Fix: GPv3: Using current frame twice in multi-frame - Falk David
- Fix: assert when running deform modifier tests in debug build - Jacques Lucke
- Fix: versioning code results in duplicate node links - Jacques Lucke
- Fix: Allow Win32 clipboard to properly handle large images - Jesse Yurkovich
- Fix: IO: C++ STL exporter using 'PLY' in error message - dupoxy
- Fix: Error in previous crazy space cleanup - Hans Goudey
- Fix "make bpy" on macOS not install libraries inside bpy module - Brecht Van Lommel
- Fix #102714: Interface Font Selection - Harley Acheson
- Fix #106696: Invalid flag combinations used in #PyObject_GetBuffer - Thomas Barlow
- Fix #107025: Resolve incorrect UV stretch color on macOS - Jason Fielder
- Fix #109430: exit tweak mode before deleting an in-tweak-mode NLA strip - Nathan Vegdahl
- Fix #110038: Crash when sculpting on GP object with modifier - Falk David
- Fix #112697: Skip non-existing UV maps on VBO upload - Martijn Versteegh
- Fix #112716: Custom sockets ignore draw_color method - Omar Emara
- Fix #112729: Update pinned blender shortcut - Ray Molenkamp
- Fix #112973: Node tools: Incorrect redo behavior in sculpt mode - Hans Goudey
- Fix #113325: Zero-sized curve leads to OptiX error - Patrick Mours
- Fix #113496: PBVH draw crashes and unsupported attribute types - Hans Goudey
- Fix #113532: geometry nodes is always reevaluated after undo - Jacques Lucke
- Fix #113653: Compositor superfluously executes on scene changes - Omar Emara
- Fix #113683: Wrong colors in UIList items after importing 3.6 theme - Pablo Vazquez
- Fix #113687: Asset shelf header overlaps labels without region overlap - Julian Eisel
- Fix #113881: Sculpt Curves: R shortcut conflict - Campbell Barton
- Fix #113919: Avoid crashes with unsupported new socket types - Lukas Tönne
- Fix #113920: Missing IC shortcuts - Julien Kaspar
- Fix #114001: EEVEE-Next: Wrong compositing with volumes+transparency - Miguel Pozo
- Fix #114047: Use correct collection during USD import - Jesse Yurkovich
- Fix #114080: Add Khmer Font - Harley Acheson
- [Fix #114096: Workbench: Broken thumbnail shadows
on Mac]( projects.blender.org/blender/blender/commit/b26f176d ) - Clément Foucault
- Fix #114102: Node tool data-block inputs broken - Hans Goudey
- Fix #114129: Crashes on boolean operation macOS Intel - Sergey Sharybin
- Fix #114134: Make Local (All) operator is crashing Blender with Library Override. - Bastien Montagne
- Fix #114152: Blender crashes when loading files with unknown IDProperty types. - Bastien Montagne
- Fix #114177: Crash in extrude mesh vertex mode with unsupported data - Hans Goudey
- Fix #114189: Workbench: VR Session crashes on exit - Miguel Pozo
- Fix #114192: Resolve animation player greying out on resize in Metal - Jason Fielder
- Fix #114215: Scanfill sometimes fails to identify holes - Germano Cavalcante
- Fix #114216: crash moving "instanced" NLA strips between tracks - Philipp Oeser
- Fix #114224: Bone Disappear in Pose Mode - Jeroen Bakker
- Fix #114224: Bones Disappear In Pose/Edit Mode - Jeroen Bakker
- Fix #114229: Hydra MaterialX crash when node name starts with digit - Bogdan Nagirniak
- Fix #114237: USD import crashes on reporting during cache handling. - Bastien Montagne
- Fix #114240: Initialize output alpha for RGB color - Iliya Katueshenock
- Fix #114251: Angle input of Compare node disconnected on reload - Jacques Lucke
- Fix #114260: Compositor sometimes produces straight alpha - Omar Emara
- Fix #114282: Extrude to Cursor tool no longer tweaks on drag - Campbell Barton
- Fix #114287: Drawing in post-view draw handlers broken - Julian Eisel
- Fix #114304: OBJ import crash when some faces have normals, and others do not - Aras Pranckevicius
- Fix #114304: OBJ import crash when some faces have normals, and others do not - Aras Pranckevicius
- Fix #114342: Crash when opening too many movies at once - Richard Antalik
- Fix #114346: PLY export crash with multiple objects that have different custom attributes - Aras Pranckevicius
- Fix #114357: Dyntopo face set brush does not create face sets layer - Hans Goudey
- Fix #114358: Trace Image to Grease Pencil misses first frame in sequence - Philipp Oeser
- Fix #114377: Workbench: Support None and Channel Packed alpha modes - Miguel Pozo
- Fix #114404: EEVEE-Next: Render region enforced even when disabled - Miguel Pozo
- Fix #114414: Drawing Artifacts Grayscale Byte Images - Jeroen Bakker
- Fix #114414: Alternative fix for greyscale textures retaining perf - Jason Fielder
- Fix #114415: USDZ conversion happens outside of main thread. - Bastien Montagne
- Fix #114430: UI: Blender no longer displays a warning for too new .blends - Bastien Montagne
- Fix #114432: Custom themes overridden by default theme - Julian Eisel
- Fix #114434: Separate Images operator produces duplicate strips - Richard Antalik
- Fix #114435: Harsh Principled BSDF Subsurface transition in EEVEE - Alaska
- Fix #114436: Crash when right clicking certain, nested, popup dialogs - Julian Eisel
- Fix #114453: Grease Pencil shows up as "Grease Pencil (legacy)" in some places - Falk David
- Fix #114491: Incorrect HDR tooltip - Alaska
- Fix #114521: Walk navigation global up does not work - Pratik Borhade
- Fix #114524: EEVEE-Next: Wrong normal map node result - Miguel Pozo
- Fix #114530: Cryptomatte node not link drag searchable - Omar Emara
- Fix #114540: macOS crash on startup after recent changes in c2b755a3c00 - Brecht Van Lommel
- Fix #114542: VSE overlap not handled correctly - Richard Antalik
- Fix #114564: Can't search grease pencil modifiers - Falk David
- Fix #114571: Retopology Overlay Face Color Regression - Gilberto Rodrigues
- Fix #114582: Replace unknown node types with an 'undefined' node - Lukas Tönne
- Fix #114583: Missing forward axis option in obj export - Pratik Borhade
- Fix #114588: Graph Editor increment snap not working - Christoph Lendenfeld
- Fix #114596: Face Nearest with steps sometimes breaks - Germano Cavalcante
- Fix #114614: Reload scripts leaks memory - Campbell Barton
- Fix #114614: Reload scripts leaks memory - Campbell Barton
- Fix #114623: Node group asset added with wrong position from header - Hans Goudey
- Fix #114648: Compositor executes upon editing non-compositor trees - Omar Emara
- Fix #114661: Incorrect display of Rec.1886 and Rec. 2020 view transforms - Sergey Sharybin
- Fix #114685: GP time offset modifier doesn't work if the animation is 1 frame long - Pratik Borhade
- Fix #114686: Cannot execute node tool operators - Hans Goudey
- Fix #114687: Orbit opposite changes view to perspective - Pratik Borhade
- Fix #114714: Rotating the View can drastically change the view's position when Auto Depth or Orbit Arround Select is set - Germano Cavalcante
- Fix #114714: Rotating the View can drastically change the view's position when Auto Depth or Orbit Arround Select is set - Germano Cavalcante
- Fix #114737: Curves: Random selection crash in curve select mode - Hans Goudey
- Fix #114742: Draw: Buffers never shrink - Miguel Pozo
- Fix #114758: keep text field empty for global search - Pratik Borhade
- Fix #114787: VSE: canceling move does not reset strip channel - Germano Cavalcante
- Fix #114822: Data transfer modifier doesn't work for face corner normals - Hans Goudey
- Fix #114830: Sculpt line project inverted - Hans Goudey
- Fix #114841: Sculpt Multires drawing broken with no mask - Hans Goudey
- Fix #114847: Skip past more newlines when parsing PLY files - Jesse Yurkovich
- Fix #114848: Crash when adding specular texture slot in texture paint mode - Pratik Borhade
- Fix #114855: Crash Loading Win32 Quick Access - Harley Acheson
- Fix #114867: 'i' key in Turkish layout is marked as 'EVT_QUOTEKEY' - Germano Cavalcante
- Fix #114870: Object dimensions does not used evaluated geometry - Hans Goudey
- Fix #114891: bpy.ops.sequencer.split ignores passed frame - Philipp Oeser
- Fix #114892: crash opening old files with text objects - Philipp Oeser
- Fix #114906 invalid reuse of shell_link - Ray Molenkamp
- Fix #114918: Workbench: Negative scaled sculpt mesh artifacts - Miguel Pozo
- Fix #114948: Parenting crash blender since ObjectRuntime refactor - Hans Goudey
- Fix #114963: Image Editor - Fill Tool doesn't work as expected - Philipp Oeser
- Fix #114993: wrong entry in Split to Instances domain dropdown - Iliya Katueshenock
- Fix #114999: VSE preview doesn't update when snapping handle - Richard Antalik
- Fix #115023: Error Measuring Null Menu Item Name - Harley Acheson
- Fix #115025: Transform operations not working in particle edit mode - Pratik Borhade
- Fix #115060: Swapped custom data mask in BMesh code - Hans Goudey
- Fix #115085: Multicolumn Menus without Category Names - Harley Acheson
- Fix #115105: Edge Crease Doesn't Transfer - Philipp Oeser
- Fix #115170: Sculpt mode crash - Hans Goudey
- Fix #66286: DblClick to rename UIList items within a popover not working - Philipp Oeser
- Fix #72093: Collapse Wide Enum Lists to One Column - Harley Acheson
- Fix #92287: focal legth not correctly computed when tracking vertial videos - ariva00
- Fix 'Make LibOverride' from 3DView failing in some trivial cases. - Bastien Montagne
- Fix 'Make LibOverride' on Empty-instanced collection making everything editable. - Bastien Montagne
- Fix (studio-reported) VSE crash when Text strips use missing fonts. - Bastien Montagne
- Fix (studio-reported) VSE crash when deleting strips. - Bastien Montagne
- Fix (studio-reported) VSE prefetch process taking seconds to stop. - Bastien Montagne
- Fix (unreported): Incorrect calculation of meta strip range - ok_what
- Fix (unreported) VSE crash when duplicating 4 or more strips. - Bastien Montagne
- Fix 114336: Cycles crash switching render pass in the viewport - Brecht Van Lommel
- Fix Cycles HIP RT issues with deformation motion blur - salipourto
- Fix Cycles render not stopping on OpenImageDenoise error - Brecht Van Lommel
- Fix EEVEE Next panel masking the non-next EEVEE panel - Campbell Barton
- Fix Strip->Split menu entry not working after recent change - Sergey Sharybin
- Fix array out-of-bounds in VSE drawing code - Sybren A. Stüvel
- Fix asset shelf can't resized by dragging header edge anymore - Julian Eisel
- Fix asset shelf not hidden for new 3D Views - Julian Eisel
- Fix build error on macOS x86, after Metal motion blur workaround - Brecht Van Lommel
- Fix build failure when WITH_USD=OFF and WITH_MATERIALX=ON - Brecht Van Lommel
- Fix crash dragging images into the animation player (again) - Campbell Barton
- Fix crash when opening AssetShelf the first time, in some cases. - Bastien Montagne
- Fix error in recent cleanup to walk mode - Campbell Barton
- Fix incorrect assumption when handling overlap - Richard Antalik
- Fix invalid value for ENUM_OPERATORS(...) macro - Campbell Barton
- Fix macOS Python SSL still not using bundled certificate - Brecht Van Lommel
- Fix memory being written after the end of the heap buffer - Germano Cavalcante
- Fix missing relations built for camera referenced by markers - Sergey Sharybin
- Fix modal key assignment for "Rotate Normals" in keymap versioning - Germano Cavalcante
- Fix potential buffer overflow in strcpy use on macOS - Campbell Barton
-
Fix print format warning with
int64_tvalue. - Bastien Montagne - Fix rare crashes when reading files with multi-levels of libraries. - Bastien Montagne
- Fix resizing asset shelf header edge not working without region overlap - Julian Eisel
- Fix syntax error in last commit - Thomas Dinges
- Fix uninitialized pending actions for Windows under Wayland - Campbell Barton
GHOST
- GHOST: Cleanup: Remove GHOST_OPENGL_ALPHA - Clément Foucault
GPv3
- GPv3: Rename GP_Layer/GP_Group to Layer/Group - Falk David
-
GPv3: Rename
stroke_color_settostroke_material_set- Antonio Vazquez - GPv3: Multi-frame editing - Falk David
- GPv3: Include current frame in multi-frame editing - Falk David
- GPv3: Set selected curve material as active material - Antonio Vazquez
- GPv3: Switch Direction operator - Matias Mendiola
- GPv3: Set Uniform operator for Thickness and Opacity - Antonio Vazquez
- GPv3: Set caps operator - Antonio Vazquez
- GPv3: Frame selected channels for grease pencil - Amelie Fondevilla
- GPv3: Show All Materials Operator - Antonio Vazquez
- GPv3: Delete operator - casey bianco-davis
- GPv3: Fix Remove Material Slot and Unused Slots - Antonio Vazquez
- GPv3: Use immutable layer references - Falk David
- GPv3: Cleanup style and change depsgraph tag - Antonio Vazquez
Geometry Nodes
- Geometry Nodes: don't show Layer domain unless grease pencil 3 is enabled - Jacques Lucke
- Geometry Nodes: Support top-level instance meshes in boolean node - Hans Goudey
- Geometry Nodes: Add a Group ID input to the Fill Curve node - Douglas Paul
- Geometry Nodes: Consistent name for points node geometry output - Amine Bensalem
- Geometry Nodes: Test for field type inferencing - Lukas Tönne
- Geometry Nodes: Support node tools in object mode - Hans Goudey
- Geometry Nodes: Convert four nodes to use rotation socket - Hans Goudey
- Geometry Nodes: use dynamic declaration for some nodes - Iliya Katueshenock
- Geometry Nodes: Edge Paths to Selection node speedup - Iliya Katueshenock
Hydra
- Hydra: Use BKE_camera_params to simplify camera code - georgiy.m.markelov@gmail.com
I18N
- I18N: updated translations from Git/Weblate repo (b475c02172373). - Bastien Montagne
- I18N: Updated translations from git/weblate repository. - Bastien Montagne
- I18N: Updated UI translations from git/weblate repo (548bcaeb28eba). - Bastien Montagne
- I18N: Updated UI translations from git/weblate repo (45f7411855b5a02). - Bastien Montagne
I18N/UI
- I18N/UI: Work around #114080: Lack of Khmer script in built-in fonts. - Bastien Montagne
- I18N/UI: Work around #114080: Lack of Khmer script in built-in fonts. - Bastien Montagne
I18n
- I18n: extract node group asset sockets - Damien Picard
- I18n: translate socket properties in the Modifier Properties editor - Damien Picard
- I18n: extract and disambiguate a few messages - Damien Picard
IMB
- IMB: Support rgba and V channels in single-layer EXR - Omar Emara
IO
- IO: C++ STL exporter - Aras Pranckevicius
- IO: add STL import/export tests - Aras Pranckevicius
License headers
- License headers: attribute copyright to "Blender Authors" - Campbell Barton
Linux
- Linux: Improve metainfo file - Alexander Wilms
MaterialX
- MaterialX: implement HSV node Factor input - Pablo Delgado Krämer
- MaterialX: add clamp, steps, smooth step for Map Range node - georgiy.m.markelov@gmail.com
Mesh
- Mesh: Make vertex normal calculation deterministic - Hans Goudey
- Mesh: Make edge_other_vert function branchless - Iliya Katueshenock
- Mesh: Add flag to store presence of overlapping topology - Hans Goudey
Metal
- Metal: Resolve premature memory release - Jason Fielder
- Metal: Ensure pending MTLSafeFreeList is released on shutdown - Jason Fielder
Minor cleanup/precision to some comments regarding ID management.
- Minor cleanup/precision to some comments regarding ID management. - Bastien Montagne
Nodes
- Nodes: Add forward compatibility for merged Noise/Musgrave Texture - Hoshinova
- Nodes: Draw using draw_color_simple as a fallback - Omar Emara
- Nodes: ungroup all selected group nodes instead of just the active one - Jacques Lucke
- Nodes: Merge Musgrave node into Noise node - Hoshinova
- Nodes: Move ValueOrField struct into blenkernel - Lukas Tönne
Outliner
- Outliner: clarify "Show Hierarchy" context menu entry - Philipp Oeser
- Outliner: add "Expand/Collapse All" to view context menu - Philipp Oeser
PLY
- PLY: import/export custom vertex attributes (#108948) - Aras Pranckevicius
- PLY: fix unreported crash when exporting multiple objects with different presence of vertex colors - Aras Pranckevicius
- PLY: improve import of custom vertex normals - Aras Pranckevicius
PyAPI
- PyAPI: Enable MeshPolygon.loop_start raw array access - Thomas Barlow
- PyAPI: Allow prop collection raw array read access for non-editable props - Thomas Barlow
Realtime Compositor
- Realtime Compositor: Immediately realize wrapped translations - Omar Emara
- Realtime Compositor: Support full precision compositing - Omar Emara
Refactor
- Refactor: move ANIM_setting_get_rna_values to animrig - Christoph Lendenfeld
- Refactor: Move fcurve functions to animrig - Christoph Lendenfeld
- Refactor: Rename functions in animrig to remove prefix - Christoph Lendenfeld
- Refactor: fcurve.cc - Christoph Lendenfeld
- Refactor: Move code for actions into its own file - Christoph Lendenfeld
- Refactor: move code related to fcurve keyframe insertion - Christoph Lendenfeld
- Refactor: Move code related to animdata to animrig - Christoph Lendenfeld
- Refactor: Rename functions in ANIM_animdata.hh - Christoph Lendenfeld
- Refactor: initialize IMB after parsing settings - Campbell Barton
- Refactor: More specific arguments for ANIM_get_normalization_flags - Christoph Lendenfeld
- Refactor: arguments for get_normalized_fcurve_bounds - Christoph Lendenfeld
- Refactor: extract function from insert_keyframe_value - Christoph Lendenfeld
- Refactor: code style in keyframes_keylist.cc - Christoph Lendenfeld
- Refactor: Move object runtime data to separate allocation - Hans Goudey
- Refactor: Extract function to initialize a BezTriple - Christoph Lendenfeld
- Refactor: move autokeyframe_pose - Christoph Lendenfeld
- Refactor: Mesh: Include wrapper positions in bounds result - Hans Goudey
Release
- Release: Update licenses doc and freedesktop file for 4.0 - Thomas Dinges
- Release: Bump Blender 4.0 to RC, Bcon4 - Thomas Dinges
- Release: Update manual references for 4.0. - Thomas Dinges
- Release: Update company credits and sort alphabetically - Thomas Dinges
Revert "Fix #114582
- Revert "Fix #114582: Replace unknown node types with an 'undefined' node" - Brecht Van Lommel
Revert "I18N/UI
Revert changes from main commits that were merged into blender-v4.0-release
- Revert changes from main commits that were merged into blender-v4.0-release - Brecht Van Lommel
Sculpt
- Sculpt: Implement face set brush for dyntopo - Sergey Sharybin
- Sculpt: Better boundary preservation with dyntopo - Sergey Sharybin
- Sculpt: Dyntopo: Consider all vertices in face set brush - Hans Goudey
Shader
Speedup classic Kuwahara filter by summed area table
- Speedup classic Kuwahara filter by summed area table - Habib Gahbiche
Tests
- Tests: add wrapper script to launch a graphical headless session - Campbell Barton
- Tests: support running graphical tests as part of CTests - Campbell Barton
- Tests: support running Blender with pre-compiled WAYLAND libraries - Campbell Barton
- Tests: move undo tests from SVN into tests/python/ui_simulate - Campbell Barton
- Tests: add WIITH_TESTS_BATCHED option to execute Blender once per test - Brecht Van Lommel
Theme
- Theme: do not mark pulldown menus as active on hover - Pablo Vazquez
Tools
- Tools: add edit to use std min/max instead of MIN2/MAX2 macros - Campbell Barton
Transform
- Transform: Custom modifier to navigate while transforming - Germano Cavalcante
- Transform: remove restricted assert - Germano Cavalcante
UI
- UI: improve mesh edge highlighting - Gilberto Rodrigues
- UI: Don't show HDR setting when using False Color view transform - Alaska
- UI: Support dragging over node panel headers to batch (un)collapse - Julian Eisel
- UI: Type to search for sequencer add menu - Pratik Borhade
- UI: Icons for Horizontal and Vertical Split - Stefan Heinz
- UI: Add Area Split Icons to Header Context Menu - Harley Acheson
- UI: File Browser Display Narrowing - Harley Acheson
- UI: Color Picker Position Indication - Harley Acheson
UI messages fixes/cleanups.
- UI messages fixes/cleanups. - Bastien Montagne
UI/Py API
-
UI/Py API: Add
active_panel_categoryto RNA Region struct. - Bastien Montagne
USD
- USD: fix cache reader open error handling. - Michael Kowalski
- USD: use BLI_snprintf to ensure null terminated string - Campbell Barton
- USD: Fix Export progress report. - Bastien Montagne
Unbreak build from missing headers
- Unbreak build from missing headers - Campbell Barton
- Unbreak build from missing headers - Aras Pranckevicius
VSE
- VSE: remove speed_factor RNA property from sound strips - Richard Antalik
- VSE: Use C++ containers for strip iteration - Richard Antalik
- VSE: Cleanup: Simplify code in iterator by de-duplicating logic. - Bastien Montagne
Viewport Compositor
- Viewport Compositor: Allow access to depth pass - Omar Emara
Vulkan
- Vulkan: Enable Optional Vulkan 12 Features - Jeroen Bakker
- Vulkan: Mipmap Generation Pipeline Barriers - Jeroen Bakker
- Vulkan: Replace Stencil Test Not Working - Jeroen Bakker
- Vulkan: Readback Texture Views - Jeroen Bakker
- Vulkan: Specify Pipeline Stages When Adding Barriers - Jeroen Bakker
- Vulkan: Workaround for Unsupported R8G8B8 Vertex Buffer Formats - Jeroen Bakker
- Vulkan: Fix Issues surrounding Grease Pencil Drawing - Jeroen Bakker
- Vulkan: Workbench Shadow Drawing - Jeroen Bakker
- Vulkan: Retarget Depth Range - Jeroen Bakker
- Vulkan: Reusing Textures from Pool - Jeroen Bakker
- Vulkan: Convert 3 Component Texture Formats - Jeroen Bakker
- Vulkan: Fix Depth Texture Data Conversion - Jeroen Bakker
- Vulkan: Initialize Pipeline State - Jeroen Bakker
- Vulkan: Implement Samplers - Jeroen Bakker
- Vulkan: Make Anisotropy Sampling Optional - Jeroen Bakker
- Vulkan: Make Command Pool, Descriptor Sets Context Specific - Jeroen Bakker
- Vulkan: Combine Data Transfer and Compute Commands - Jeroen Bakker
- Vulkan: Memory Statistics - Jeroen Bakker
Windows
- Windows: Remove wait for key-press in --debug mode - Jesse Yurkovich
cleanup
- cleanup: remove "sa" acos/asin/sqrt functions and use "safe_" variants - Aras Pranckevicius
mesh
- mesh: use faster acos() variant in normals calculation - Aras Pranckevicius
16 Comments
hi Agx just got added, so can we expect ACES in blender natively anytime soon pretty please?
I know we can install it ourselves but it's complicated at least for me (╥﹏╥) i just want clicky click switching bim bam and done! 🙏
Hi Pablo! Thank you for all theses Blender Today this year!
About benchmark, the score grows up to version 3.6 and this has dropped with version 4.0, do you know why? example with the RTX 3090 opendata.blender.org/benchmarks/query/
Hi Pablo! For a long time, blender has had built-in default objects such as cube, plane, suzanne, etc. Why not do the same for assets? Add default materials with procedural textures, and some node groups for geometry nodes, and maybe even brushes? This would make life much easier for newcomers.
this is planned! at least a number of geometry nodes basics. notably the hair ones, already. However, these things can bloat blender's deliverable, so you need to be super picky.
Revisions === "Save Incremental"
So, Adding the file into a database system to track changes for files. Especially with Blender being used for big production projects.
Oi, Pablo! I'm gonna miss you!
customization is massive!... and it's a bit of an issue. We need a "basic customization" menu, to go with the super granular one. a number of things in blender are the same color by default. they should be grouped in a simplified theme editor by default.
other than that, we still need nodes with vector curves to use correct math for geo nodes accuracy... maybe bug someone again for me before you go~
have a nice trip!
Hola Pablo,
Thank you and the Blender Team for your hardwork.
Ciao
Hi Pablo! important few questions here..
1: would all of the modifiers be available as geometry nodes in the future?
2: will linking modifiers be a thing? as how you link materials for example.. data linked objects dont seem to share active modifiers, and when applying modifiers on one object it only prompts to make the current instance unique rather than have an additional option to apply it to all linked instances.. this would be great to have.
last question, i dont wanna make this too long :'D
3: this one is regarding the asset library, will it be possible in the future to store objects with children objects.. at the moment it seems that this is a missing feature and a very important one.
Hope i was able to reach out to you, have a great rest of the day :')
Hi Pablo,
Thank you for the information about hardware configurations, please provide the link.
Also, is there such a thing as overkill?
My current configuration is a LENOVO P330 with XEON 6-core with graphics processor, 32GB RAM, combination of SSDs and NVME drives, and the NVIDIA Quadro RTX4000 (8GB).
I am looking to upgrade to the new Lenovo PX with a XEON Gold Processor, 64-128GB RAM, NVIDIA RTX A4500 (20GB) and combinations of NVME and SSD drives.
Why? I do a combination of 3D design and also live streaming.
Hi Pablo, hope you're having a great week. :) Thanks for all your great work and congrats on the release ob Blender 4!
This is more a headsup than a question I don't know where to apply so the devs become aware of it. Over the last weeks I've been figuring out a memory problem when rendering many different view layers in one pass Blender currently needs to render AND hold all the view layer passes in memory before being able to output anything to disk. Blender isn't able to release any pass to disk before it finished rendering every layer from one frame to memory. Which means if you have a few too many view layers in high resolution, Blender simply won't output anything any freeze when the memory limit is hit. The only current solution would be to deactivate view layers and render in batches. This can make memory management kinda unpredictalbe if you need higer resolutions for prit etc.
I assume it's because Blender assumes that passes are needed in the compositor directly, but this really messed our work up for a few days to find out about it.
It's of course totally fine if it simply is not seen as a problem at the moment. I just want to make sure the devs are aware of it. At least then I feel I've done my duty to report it. As is I am just not sure they even know about it.
Thanks for taking the time to read. If after this it's still seen as not a problem I will shut up about it. :)
(Proposal for visibility: blender.community/c/rightclickselect/19W3/ )
Hello viewers! I would like to show an addon that takes node editing to a new level, the author of the addon in the future wants to add the addon to blender itself (Node Wrangler will not be needed). github.com/ugorek000/VoronoiLinker/wiki
Hi Pablo, what happened to the Extrude Manifold tool? Seems that this feature was a bit rushed and it has been over 2 years and it still broken although the tool is quite promissing and potentially very usefull! Even with the new GN tools context, I dont think this tool is recreateable using GN yet... Happy NY :)
Hi Pablo!
Is the 2.79 keymap still maintained and would it be maintained in the future? I'm very used to it and would be very sad to see it go :(
you can always download 2.79 and import it!
Hola Pablo!
Revisions feature is very nice. Is there a plan of using PostgreSQL or MYSQL for a PLM solution to check-in and check-out releases?
Save Incremental on files