SEQUENCER gets LOVE 🫶 Blender Today LIVE #280
Announcements
- New BLENDERHEADS episode soon! (tomorrow?)
- Blender Roadmap page
- New Patron level sponsor
Changelog between April 14, 2026 - April 28, 2026 at 12:00
328 commits in total, of which 131 are fixes, 52 cleanup, and 27 refactors.
#157592
Animation
- 🔸 Anim: Add operator to select keyframes by type - Christoph Lendenfeld
Assets
- Assets: auto-download the listing for enabled remote libraries only - Sybren A. Stüvel
- Assets: prevent crash when generating asset listing without previews - Sybren A. Stüvel
- Assets: Draw online icon with border in asset shelf - Julian Eisel
- Assets: ensure catalog paths for online assets do not contain a colon - Sybren A. Stüvel
- Assets: skip missing thumbnails when generating asset listing - Jakub Ružička
- Assets: Allow downloading asset with already downloaded asset active - Julian Eisel
- Assets: Better error in Preferences UI when remote library URL isn't set - Julian Eisel
- Assets: Hide source path button for online assets - Julian Eisel
- Assets: (Almost) always use packing for online assets - Julian Eisel
- Assets: Show import method for online libraries in Preferences - Julian Eisel
- Assets: Include download size in tooltip for online assets - Julian Eisel
- Assets: Disallow linking from online libraries in the asset browser - Julian Eisel
- Assets: Disable "Open Blend File" for online assets - Julian Eisel
- Assets: Don't show "Downloading asset" text in red while dragging - Julian Eisel
Benchmark
- Benchmark: Add 3D texture paint brush benchmark tests - Sean Kim
- Benchmark: Adjust order of benchmark log file names - Alaska
BLF
- BLF: Add support for grayscale buffer - Omar Emara
BMesh
- BMesh: take all vertices into account in BM_verts_calc_normal_from_cloud - Campbell Barton
Build
- Build: Linux: Add missing make deps Debian/Ubuntu system package requirement checks - Jonas Holzman
- Build: unbreak building Wayland without Vulkan enabled - Campbell Barton
- Build: Linux: Add gettext to the list of make deps Ubuntu/Debian packages to install - Jonas Holzman
- Build: Use make_deps_wrapper.sh for building dependencies on macOS - Jonas Holzman
- Build: Make OpenColorIO and OpenEXR mandatory deps - Sebastian Parborg
Cleanup
- Cleanup: ImBuf: Simplify scaling template code generation - Hans Goudey
- Cleanup: remove outdated comment - Philipp Oeser
- Cleanup: UI: Non functional namespace cleanups - Guillermo Venegas
- Cleanup: UI: Move to UI_ID* enum to interface_template_id.cc - Guillermo Venegas
- Cleanup: Simplify pointcloud BVH access in Sample Nearest node - Hans Goudey
- Cleanup: remove redundant decref use in pygpu_shader_info__tp_dealloc - Campbell Barton
- Cleanup: VSE: Replace AlignY enum with AnchorX and AnchorY - John Kiril Swenson
-
Cleanup: VSE: Add sections and organize functions in
strip_transform.cc- John Kiril Swenson - Cleanup: VSE: Always apply rotation when calculating image quad - John Kiril Swenson
- Cleanup: VSE: Tidy image transform calculation code - John Kiril Swenson
- Cleanup: Cycles: De-duplicate base color rgb to Spectrum conversion - Weizhen Huang
- Cleanup: EEVEE: Rename internal Horizon Scan to Fast GI - Clément Foucault
- Cleanup: Vulkan: Use struct initializers in VKResourceStateTracker - Jeroen Bakker
- Cleanup: Asset System: Remove unused includes - Julian Eisel
- Cleanup: Fix various clang-tidy warnings - Brecht Van Lommel
- Cleanup: Silence compilation warning in workbench - Jeroen Bakker
- Cleanup: bad indentation for CMake files - Campbell Barton
- Cleanup: remove use of strcpy, following our own convention - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: Alembic: use a structure for parameters to reader constructor - Kévin Dietrich
- Cleanup: Remove dead code - Tariq-Sulley
- Cleanup: Alembic: use a structure for read_geometry parameters - Kévin Dietrich
- Cleanup: missing newline in --help text - Campbell Barton
- Cleanup: use bool for bpy_rna_array checking callbacks - Campbell Barton
- Cleanup: avoid use of "goto" - Campbell Barton
- Cleanup: use PyC_UnicodeFromStdStr instead of converting from the C-str - Campbell Barton
- Cleanup: tweak doc-strings in source/blender/python/ - Campbell Barton
- Cleanup: various non-functional changes for C++ - Campbell Barton
- Cleanup: sort cmake file lists - Campbell Barton
- Cleanup: BLI: Check size is valid in Array constructor. - Iliya Katushenock
- Cleanup: Remove ImagePool usage from paint_stroke.cc - Sean Kim
- Cleanup: EEVEE: Unused entry point parameter warnings - Clément Foucault
- Cleanup: Workbench: Remaining gl builtin in bsl file - Clément Foucault
- Cleanup: Overlay: Remove unused entry point parameter - Clément Foucault
-
Cleanup: Remove unnecessary
exec_mode::serialspecification - Sean Kim -
Cleanup: Tidy up
sculpt_painttests - Sean Kim - Cleanup: Remove redundant button pointer variable - Pratik Borhade
-
Cleanup: Rename
MovieCachetoImBufCache- Sean Kim - Cleanup: GPU: Shader Tool: Pass string by reference when possible - Clément Foucault
- Cleanup: RNA: Use Vector instead of linked list for resolved path items - Hans Goudey
- Cleanup: remove unused VectorCPPType - Jacques Lucke
- Cleanup: prefer ASCII over UTF8 in code comments - Campbell Barton
- Cleanup: spelling in comments (make check_spelling_*) - Campbell Barton
- Cleanup: clarify code-comment in drawing loop - Campbell Barton
- Cleanup: sort CMake file lists - Campbell Barton
- Cleanup: use function-style casts - Campbell Barton
- Cleanup: lazily import gpu - Campbell Barton
- Cleanup: Edit the foreach_obref_in_scene docstring - Miguel Pozo
- Cleanup: Edit the foreach_obref_in_scene doctstring (2) - Miguel Pozo
- Cleanup: Use enums in VSE DNA structs - Aras Pranckevicius
- Cleanup: UI: Use BLFWrapMode bitwise operators - Guillermo Venegas
- Cleanup: Remove unused header - Pratik Borhade
CMake
- CMake: replace our own path prefix check with "cmake_path" - Campbell Barton
- CMake: include missing headers in source listings - Campbell Barton
Color Management
- 🔸 Color Management: Add infrastructure for wide gamut and HDR scopes - Brecht Van Lommel
- Color Management: Wide gamut and HDR scopes in the image editor - Brecht Van Lommel
- Color Management: Wide gamut and HDR scopes in the sequencer - Brecht Van Lommel
- Color Management: Use proper YUV for wide gamut vectorscope - Brecht Van Lommel
- 🔸 Color Management: Add g22_rec709_scene alias for sRGB - Brecht Van Lommel
- 🔸 Color Management: Add more color spaces - Brecht Van Lommel
Compositor
- 🔸 Compositor: Add string nodes - Omar Emara
- 🔸 Compositor: Add String To Image node - Omar Emara
- 🔸 Compositor: make viewer transform gizmo following image display offset - W_Cloud
- Compositor: Support int4 types internally - Omar Emara
Cycles
- 🔸 Cycles: Support negative anisotropy for subsurface scattering - Weizhen Huang
- Cycles: Add option to apply subpixel jitter to camera - Patrick Mours
- 🔸 Cycles: Widen ray differentials based on BSDF roughness - Brecht Van Lommel
- 🔸 Cycles: Texture cache eviction for final renders - Brecht Van Lommel
- 🔸 Cycles: Texture cache eviction for viewport rendering - Brecht Van Lommel
- Cycles: Texture cache eviction statistics - Brecht Van Lommel
Deps
- Deps: Fix rubberband failing to compile due missing cstdlib include - Jonas Holzman
- Deps: Swap out cve-bin-tool for grype - Ray Molenkamp
DNA
- DNA: Add per-member alignment override from parsing - Brecht Van Lommel
- DNA: Add support for intN/floatN/floatNxN types - Brecht Van Lommel
- DNA: Support enum types for struct members - Brecht Van Lommel
EEVEE
- 🔸 EEVEE: HandleRange support - Miguel Pozo
- EEVEE: Port Deferred Eval to BSL - Clément Foucault
- EEVEE: Port deferred thickness amend to BSL - Clément Foucault
- EEVEE: Always support overscan - Miguel Pozo
- EEVEE: Port shadow tilemap shaders to BSL - Clément Foucault
Extensions
- Extensions: add test for building a theme-type package - Campbell Barton
- Extensions: use deterministic output for the exception message - Campbell Barton
Fixes
- Fix #157265: Vector Blur ignores shutter on CPU - Omar Emara
- Fix: reset incompatible structure type to auto when changing socket type - W_Cloud
- Fix: Asset UIs not updating when enabling remote libraries experimental - Julian Eisel
- Fix: GPU: Broken Build system in Xcode - Clément Foucault
- Fix: UI: Textbox caret cursor overflowing line width and properly set wrapped lines after workaround - Guillermo Venegas
- Fix #148890: Spin tool floating-point error in extrude path - Aditya Singh
- Fix #157081: unable to open image textures for brush assets - Campbell Barton
- Fix: VFont cursor placement fails with combining characters - Campbell Barton
- Fix: reference leak with GPUShaderCreateInfo::typedef_source - Campbell Barton
- Fix: PyCapsule leaks in RNA struct/property creation in case of error - Campbell Barton
- Fix #153655: EEVEE: Clamp shadow ray clip distance to 0 or greater. - Mark van de Ruit
- Fix #156914: Canceling a node.link modal does not restore connections - Philipp Oeser
- Fix #156386: Geometry Nodes: Fix incorrect initial socket names on extend nodes - Sunny Hasarinda
- Fix #157366: Outliner new Auto Scroll feature doesn't always work - Pratik Borhade
- Fix: DRW: Debug line not having correct lifetime - Clément Foucault
- Fix #157329: GPU compositor crash on render pass removal - Le Gia Bao
- Fix: VSE: Broken drag and drop snapping - John Kiril Swenson
- Fix: UI: Revert accidental event break removal - Guillermo Venegas
- Fix #156753: glTF: fix lamp color/intensity export - Julien Duroure
- Fix #157145: Add Image Mesh Plane duplicates nodes when overwrite material is enabled - Tariq-Sulley
- Fix #154995: glTF: Fix Vertex Color export when used only in subset of materials - Julien Duroure
- Fix #157385: Wrong socket shape in String input Node - Stanzerelli
- Fix #157456: Crash when initializing secondairy context from outside drawing code - Jeroen Bakker
- Fix: Node type lookup for legacy aliases in Python API - Hans Goudey
- Fix: MSVC warning - Miguel Pozo
- Fix #157398: Add functions in anim_utils to python docs - Christoph Lendenfeld
- Fix #157243: Vulkan: Memory leak empty render graphs - Jeroen Bakker
- Fix: Single value viewer nodes have a bad offset - Omar Emara
- Fix #157412, #149411: Refresh popups when resizing textbox buttons or tree-views - Guillermo Venegas
- Fix #157393: Crash in asset screen capture - Julian Eisel
- Fix #157201: Custom Normals DataTransfer breaks with non uniform scale - Tariq-Sulley
- Fix #150560: Handle Invalid WinTab Reported Extent - Harley Acheson
- Fix: Use of uninitialized values in view2D grid line drawing - Brecht Van Lommel
- Fix: VSE histogram drawing warning with null colorspace on imbuf - Brecht Van Lommel
- Fix: Excessive scopes rebuild while prefetching - Brecht Van Lommel
- Fix: Sequencer strip properties using old colorspace menu - Brecht Van Lommel
- Fix: Smooth view not working with VSE scopes - Brecht Van Lommel
- Fix #157406: Image drawing is not pixel perfect - Omar Emara
- Fix #155467: Wayland: Color management - Jeroen Bakker
- Fix #157236: Python error on opening the navigation pie menu on the asset browser - Pratik Borhade
- Fix: extensions tests when the system Python doesn't match blenders - Campbell Barton
- Fix: extension pattern matching with Python 3.14 - Campbell Barton
- Fix #157502: Cloth(Collision)Settings RNA path wrong/missing - Philipp Oeser
- Fix: Running operator_function_py_api test clears recent files - Brecht Van Lommel
- Fix #157328: Grease Pencil: Dot depth problem with placement modes - Casey Bianco-Davis
- Fix: Incorrect RNA path for file/asset browsing options - Julian Eisel
- Fix: File browser directory RNA path building fails - Julian Eisel
- Fix: EEVEE SlotAllocator - Miguel Pozo
- Fix: Potential crash (race condition) when deleting asset libraries - Julian Eisel
- Fix: Input String node poll fails for compositor - Omar Emara
- Fix #157431: EEVEE: Crash out of GPU memory velocity buffer - Jeroen Bakker
- Fix: allow passing 0/1 to BMesh.calc_volume for its signed argument - Campbell Barton
- Fix #157136: Memory leak after dragging items in node interface - Le Gia Bao
- Fix #157280: Shader Weight sockets available with dynamic declarations - Lukas Tönne
- Fix #157539: crash opening .blend file due to missing null check - Jacques Lucke
- Fix #157002: Bake simulation false path conflict - Maurice van Swaaij
- Fix: Compositor: Muted mix node causes wrong versioning - Habib Gahbiche
- Fix #157271: UI: Themes: EDGE_BEVEL icon not updating on theme color change - Henry Jiang
- Fix #157169: Un-setting panel toggle requires socket reordering - Lukas Tönne
- Fix: RNA: get correct rna path for properties on areas - Jacques Lucke
- Fix #157310: Geometry Nodes format string assert with {s:01} string input - Stanzerelli
- Fix: Cycles magic texture differs from OSL and EEVEE - Brecht Van Lommel
- Fix #156696: Freestyle Line Style texture nodetree not working - Brecht Van Lommel
- Fix: use INT_MIN instead of -INT_MAX - Jacques Lucke
- Fix: Potentially incorrect vertex count for FCurves after cloning - Christoph Lendenfeld
- Fix #157528: Wayland/NVIDIA: Check color management support - Jeroen Bakker
- Fix #157536: Crash when loading a file saved in v3.0 - Omar Emara
- Fix #157225: Time stretch doesn't show playhead at correct position - Christoph Lendenfeld
- Fix #157384: Cycles attribute breaks under certain conditions - Sergey Sharybin
- Fix: Cycles: Orthographic camera ray differential dy uses dx - Brecht Van Lommel
- Fix: Cycles: Wrong free tile detection in image cache - Brecht Van Lommel
- Fix #157597: Metal: Workaround conditional clip distance usage - Clément Foucault
- Fix: Experimental texture paint crash / memory leak - Sean Kim
- Fix #152866 : VSE Camera View sync after Undo & Outliner Changes - phantomsoldierking
- Fix: drag corner of Cage2D circle not following cursor for uniform scale - W_Cloud
- Fix #157475: EEVEE: White glass with tinted coat renders wrong - Weizhen Huang
- Fix #157626: Regression: Context menu doesn't work in panels - Pratik Borhade
- Fix: Grease Pencil: use-after-move in join selection - Falk David
- Fix: ImBuf: Crash from incorrect of temporary scaling buffer - Hans Goudey
- Fix: Misleading warning when downloading multiple assets - Julian Eisel
- Fix: Geometry Nodes: Check for invalid list type in link-drag-search - Hans Goudey
- Fix: Geometry Nodes: Implement missing data ownership for lists - Hans Goudey
- Fix: Downloaded assets not showing with "Online Assets" filter disabled - Julian Eisel
- Fix: DRW: Texture Pool: Invalid reuse when retained texture changes size - Clément Foucault
- Fix #157318: Cycles: Change the default sampling pattern to Automatic - Weizhen Huang
- Fix #157026: Create new face set for added primitives in sculpt mode - Martijn Versteegh
- Fix #149284: Sculpt Expand Mask leaves visual artifacts - ethan
- Fix #155231: Allow searching double-click bindings in Keymap preferences - shivesh
- Fix: Tree View: Sorting button alignment - Pratik Borhade
- Fix: off by one error in motionpath code - Christoph Lendenfeld
- Fix: #136631, #152167: Cycles not handling AOV changes between view layers - Hai
- Fix #147793: Quaternion slerp implementation for large mix factors - Lukas Tönne
- Fix: Cycles OSL/SVM difference with stochastic volume sampling - Brecht Van Lommel
- Fix #156458: Custom paint keymap broken - Sean Kim
- Fix: Nodes: Crash when creating new panel toggle - Endor H
- Fix #157043: floating point accuracy in division since recent optimization - Jacques Lucke
- Fix #157722: Crash when clearing driver - Pratik Borhade
- Fix: UI: New color space menu not used in output properties - Brecht Van Lommel
- Fix #157706: Geometry nodes missing some type info for Font inputs - Lukas Tönne
- Fix: Geometry Nodes: wrong add menu entry for sound node - Jacques Lucke
- Fix: hidden instancers cause invalid visibility for selection drawing - Campbell Barton
- Fix #157720: Misleading HDR not supported message - Richard Antalik
- Fix: Crash when handling Int3/Float3/Float4x4 results - Omar Emara
- Fix: Normal pass is corrupt if used in Denoise node - Omar Emara
- Fix #157543: VSE wrong (or no) active modifier after duplication - Philipp Oeser
- Fix #157329: GPU compositor crash when render pass is removed - Miguel Pozo
- Fix: Double/incorrect "Asset not found" text when dragging online asset - Julian Eisel
- Fix #157766: 'Line' paint stroke angle constraint broken - Philipp Oeser
- Fix: EEVEE: Missing velocity in some corner cases - Miguel Pozo
- Fix #157471: glTF: fix typo leading to debug build crash - Julien Duroure
- Fix: Divisions by Zero in Pie Menu Animations - Harley Acheson
- Fix #156666: Grease Pencil SVG Importer fail to close shapes - Casey Bianco-Davis
- Fix: Add missing ToolSettings::keyframe_type update notification - Guillermo Venegas
- Fix #119678: IK UI no longer greyed out if Auto IK is enabled - paulhanson2000
- Fix #72392: Vertically resizing outliner shifts view - Leon Schittek
- Fix: Animation: reset subframe when jumping to begin or end - Jacques Lucke
- Fix #157518: VSE: Copied strips lose compositor node tree - John Kiril Swenson
- Fix #157813: Segfault when Camera Ray Visibility is toggled - Le Gia Bao
- Fix #155607: Incorrect Point Opacity - Le Gia Bao
- Fix #155866: Geometry nodes transform gizmo rotates on scale - Tibo Stans
- Fix #153695: Check evaluate-closure's sockets for attribute support - Criss-Ivana
- Fix #157884: missing sound input in modifier - Jacques Lucke
- Fix #157253: socket usage inferencing regression - Jacques Lucke
- Fix #157003: Expand doesn't snap to all vertices on a face set for meshes - Jerry Wei
- Fix #157881: Removing attribute fails on second component - Hans Goudey
- Fix: Typo in sculpt normal radius UI label - Hoang Duy Tran
- Fix #157816: Texture paint broken with everything selected - Hans Goudey
- Fix: Wayland: incorrect number-row shortcuts after switching layout - Campbell Barton
- Fix #120892: GHOXT/Wayland keyboard input for non English layouts - Campbell Barton
- Fix: Cycles: Remove volume density cutoff in OSL - Weizhen Huang
- Fix: Remove timer when view bounds are not set - Pratik Borhade
Geometry Nodes
- 🔸 Geometry Nodes: Update string nodes on text-edit change - Guillermo Venegas
- 🔸 Geometry Nodes: new Sample Sound Frequencies node - Jacques Lucke
- 🔸 Geometry Nodes: Instance Reference Index node - Cartesian Caramel
- 🔸 Geometry Nodes: Deduplicate internal fields before evaluation - Hans Goudey
Git
- Git: use lfs for rgb files (images) - Jesse Yurkovich
glTF
- glTF: use uv_layers.active_render_index - Julien Duroure
- 🔸 glTF: Manage KHR_materials_dispersion - Julien Duroure
- 🔸 glTF: Manage KHR_materials_iridescence extension - Julien Duroure
GPU
- GPU: GPU_texture_read variant that allows caller to supply memory - Aras Pranckevicius
- GPU: Add support for texture gather with components - Clément Foucault
- GPU: Shader Tool: Add support for structured binding - Clément Foucault
Grease Pencil
- 🔸 Grease Pencil: Deselect linked - Pratik Borhade
- 🔸 Grease Pencil: Support all curve types in PDF export - Aleš Jelovčan
- 🔸 Grease Pencil: Material Dot Randomization - Casey Bianco-Davis
I18N
- I18N: Updated UI translations from git/weblate repository (9424ab77533a6b). - Bastien Montagne
LineArt
- LineArt: Missing init for LineartLimitInfo - YimingWu
MaterialX
- 🔸 MaterialX: Support boolean and integer types within exported node-graphs - Jesse Yurkovich
Modeling
- 🔸 Modeling: Support for snapping to lattice objects - Tariq-Sulley
- 🔸 Modeling: Flatten from looptools - Tariq-Sulley
Node Tools
- 🔸 Node Tools: Additional warning for outdated asset metadata - Hans Goudey
Nodes
- 🔸 Nodes: skip updates when changing node property of muted node - Jacques Lucke
- 🔸 Nodes: Expose node panel state and UI panel open/close via Python API - Brady Johnston
- 🔸 Nodes: affect all selected items when holding alt in node tree interface - W_Cloud
- 🔸 Nodes: Preserve grid-alignment on Make Group - Endor H
- 🔸 Nodes: Resize all selected nodes - Endor H
Outliner
- 🔸 Outliner: Scroll to active selection option - Pratik Borhade
Python
Refactor
- Refactor: Migrate brush automasking settings - Sean Kim
- Refactor: Move node utilities from Compositor to GPU - Sergey Sharybin
- Refactor: Cycles: Extract utility functions for roughness threshold - Weizhen Huang
- Refactor: Cycles: Extract parameters from Oren Nayar BSDF - Weizhen Huang
- Refactor: Cycles: De-duplicate diffuse closure setup - Weizhen Huang
- Refactor: Cycles: Extract utility functions for Generalized Schlick - Weizhen Huang
- Refactor: Color Management: Get max nits from view transform - Brecht Van Lommel
- Refactor: Color Management: Eliminate some unnecessary functions - Brecht Van Lommel
- Refactor: USD: Move texture colorspace logic to usd_colorspace_utils - Brecht Van Lommel
- Refactor: ImBuf: Improve cropping and region copying API - Hans Goudey
- Refactor: Cycles: Change popcount to use C++20 std::popcount - Brecht Van Lommel
- Refactor: Cycles: Generalize tile request mask to tile access state - Brecht Van Lommel
- Refactor: Assets: Get library options from Preferences more directly - Julian Eisel
- Refactor: DNA: Move parsing into dna_parse.cc - Brecht Van Lommel
- Refactor: DNA: Rewrite header parsing for clarity - Brecht Van Lommel
- Refactor: ImBuf: Simplify scaling to work better with future sharing - Hans Goudey
-
Refactor: Paint: Break apart
paint_row_float&paint_row_byte- Sean Kim - Refactor: Replace result wrap_external with data sharing - Omar Emara
- Refactor: use Bounds<int> in motionpath code - Christoph Lendenfeld
- Refactor: Replace steal_data with data sharing - Omar Emara
- Refactor: Nodes: rename geometry nodes logging to be more generic - Jacques Lucke
- Refactor: Download GPU data to result directly - Omar Emara
- Refactor: Rename mutable cpu_data() method - Omar Emara
- Refactor: make bArmature::runtime a pointer - Sybren A. Stüvel
- Refactor: Replace raw memory in denoise code with results - Omar Emara
- Refactor: Tests: common setup and teardown for blender gtests - Jacques Lucke
- Refactor: Tests: use common setup and teardown for most blender gtests - Jacques Lucke
Revert
- Revert "Color Management: Add g22_rec709_scene alias for sRGB" - Brecht Van Lommel
Sequencer
- Sequencer: Better framing and navigation for scopes - Brecht Van Lommel
Tests
- Tests: more VSE render tests, now with alpha channel of PNG/EXR inputs - Aras Pranckevicius
- Tests: add tests for BLF buffer & VFont text - Campbell Barton
- Tests: Add experimental texture paint unit test - Sean Kim
- Tests: Add imbuf tests for the iris image format - Jesse Yurkovich
Tools
- Tools: avoid sorting libraries in cmake_sort_filelists.py - Campbell Barton
UI
- 🔸 UI: Textbox item - Guillermo Venegas
- 🔸 UI: Tree View: Invert sorting option - Pratik Borhade
- 🔸 UI: Tree View: Invert search filter - Pratik Borhade
- 🔸 UI: Implement edge-scroll in Tree View - Pratik Borhade
- 🔸 UI: Allow label buttons to draw icons with a border - Julian Eisel
- UI: Small Changes to Timeline Icons - Harley Acheson
- 🔸 UI: Do Not Join Aligned Area Edges - Harley Acheson
- 🔸 UI: Don't move image if asset shelf is hidden - Omar Emara
- 🔸 UI: Panel Category Tab Icons - Harley Acheson
- 🔸 UI: Spreadsheet: Make the overflow indication account for the fixed left column - W_Cloud
- 🔸 UI: Add Select All by Trait menu to UV editor - Eitan Traurig
- 🔸 UI: Consistent "Key" menu between Dope Sheet and Graph Editor - Christoph Lendenfeld
- UI: Match textbox cursor and selection bounds to line height - Guillermo Venegas
- UI: Fix label and tooltip mention of sidebar tabs - Pablo Vazquez
- UI: Mention "Panel" in "Pin" - Pablo Vazquez
- UI: Scroll lines while hovering textbox buttons - Guillermo Venegas
- UI: Always Close Panel Category Tooltip on Region Exit - Harley Acheson
- 🔸 UI: UV: Rename UV Rip to Rip UVs - Eitan Traurig
- 🔸 UI: Rename Import SVG as Curves operator - Guillermo Venegas
- UI: Improve textbox mouse cursor feedback - Guillermo Venegas
USD
- 🔸 USD: Support colorspace conversions when reading and writing USD files - Brecht Van Lommel
- 🔸 USD: Use single-value attributes when possible during import - Jesse Yurkovich
UV
- 🔸 UV: Copy Mirror UV Support multiple axis - Eitan Traurig
- 🔸 UV: Add Select by Winding operator - Eitan Traurig
VSE
- 🔸 VSE: Expose compositor node group inputs to strip modifier UI - Falk David
-
🔸
VSE: Add
Show Node Grouptoggle to compositor modifier extras menu - Falk David - 🔸 VSE: UI: Add Compositor effect node group errors - Falk David
- 🔸 VSE: do compositor colorspace conversions on the GPU - Aras Pranckevicius
- 🔸 VSE: UI: Use textbox buttons for editing text strips in layouts - Guillermo Venegas
12 Comments
Hi pablo, craaazy day today... Do you know when work on the npr project will begin? Waiting on a build to play with.
Also, radiance cascades... youtu.be/rG2aok2SdbU eevee needs this!
Thank You, RUN!
Hola Pablo!
Any plans to bring UV render pass to EEVEE?
blender.community/c/rightclickselect/vDAL/
Hello Pablo!!! Hope you're doing well!!! I was wondering if in the VSE if we would be able to get multiple strip inputs in the compositor modifier to composite multiple strips together? or a node to get the content of a channel(like getting the content of whatever is in channel 2 at the current frame)
Oi, Pablo!
some interesting stuff in chat today. path traced sound ideas, spectrogram editing, and so on! blender getting a sound editor would be wild!
I'm still solidifying my ideas for texture editing/baking stuff. something like a material level shrinkwrap or "material project" would be an important part. when I think about what would be nice, I keep thinking "decal machine addon but better integration". I hope my love for the old texture nodes isn't too overbearing XD
beyond that, I think the cache workflow from geometry nodes is a good candidate! it would allow for fast re-export and making data blocks.
Hi Pablo :)
any updates on Fisheye/Panoramic cameras in EEVEE? 🙏
Hello Pablo! How are you doing?
I wanted to offer a bit of my view into this AI considerations mentioned in the beginning of the live, Sure It is good to know blender is trying to remain true to It's philosophy. I am not against the tool of AI by itself but I think whatever it doesI would expect it to be focused on being a tool instead of a creation tool, so for example a hammer is a tool, if I get a new better hammer It is great if it can hit the nails straighter, or if it can get the nails in place faster but I would never expect it to build an entire house by itself, specially if I'll have to demolish pieces of this house and scavenge what I want to reuse for what I want to do. I think the feeling most of us get when we see generative image AI is like the AI does the entire work itself and then we have to conform to what it made and scrap off what we want to make our art. I'd much rather an AI that can help ME do the things I want how I want easier and faster than trying to generate everything ahead of me or trying to change what I make.
Other concern would be where our information goes, many of us work with NDAs and everything so we would not want our data getting sent to someone's server somewhere or leaked even, or if our works would be training AI without our permission in the background as well. I think those are most of the concerns most people have with this. In any case, for me If that's not a problem, is no problem for me.
In any case thanks a lot for all the work you've guys have been putting up for us, please keep up the great work!
Hi Pablo, hope you are having a great day :)
There’s a UI inconsistency that’s been bothering me, and I wanted to check whether it could be raised with the developers.
In the Outliner, when dragging a collection (need 2 or more to test), the visual feedback is very clear:
This makes the hierarchy placement intuitive and predictable.
However, in Tree View, dragging items only shows a text indicator for placement, without comparable visual cues. Given that UILists are typically more compact, relying on text feels less efficient and less consistent with the Outliner’s behavior.
Would it be possible to bring this up as a potential UX improvement? Matching the Outliner’s visual feedback (line + highlight) would make UILists more intuitive and consistent across Blender’s interface.
Additionally, there is a promising PR projects.blender.org/blender/blender/pulls/157716 that introduces manual sorting of items in the Outliner.
However, after going through the recent UI meeting notes, I couldn’t find any mention of it. I’m not sure if it’s still under consideration, overlooked, or discussed elsewhere.
Could this also be clarified or brought to the attention of the developers? It seems like a valuable usability improvement that would complement the existing Outliner workflow.
this is totally something to bring up in chat!
Hola Pablo (and Francesco), hope you're well! Sorry this might be a long one so feel free to skip to the last 2 paragraphs :)
I've been interested in contributing to the Blender source code for a long while. Although I'm still a long way off from that goal, with LLMs (for all their shortcomings & controversies) becoming more versed in documentation and code, it's felt more accessible to learn C++ contextualised to Blender than ever before.
Despite this, I feel like in order to properly learn it's never best to just be given the answer and have code generated for you, but actually learn the principles behind why it works the way it does and the decisions that go into contributing.
LLMs can help with this but only up to a point, and I'm wondering if Blender's ever considered producing a short video tutorial series on getting started with development/implementing features, etc, where a developer talks through their work after implementing a feature or patch?
I'm aware there are some old long-form videos of Campbell and Dalai coding live, however I'm talking more about code breakdown videos that are made after the fact, that are more modern and tutorialised? E.g. Here was my goal, here's what I did, here's why I did it, here're issues I faced, here's the outcome, etc. :)
I think they did this a couple times- some code dives. I'm the same kind of learner. I do much better when I have a "mental map" of the way data gets made, stored, and passed around a software
Hi Pablo! Thx for the weekly updates! Will we be seeing any of the „layers“ initiatives that are planned for 2026 in 5.2 already? Meaning layered 1) actions 2) compositing 3) texturing
What about some of the video sequencer PRs that are open right now? Any status updates? Like the subtitle editor, the audio meter, voiceover, scrubbing region? And in general how is the development of the media bin coming along?
Hola Pablo! Hope you're doing well :)
Couple of questions, do you know what happened to the Plane Trim setting of sculpt brushes like Scrape? It used to be available in Blender 3.X and seems to have been removed in Blender 4. It sit under Plane Offset slider in the brush setting, allowed fine tuning of the brush depth.
Second question, are you aware of the SV+H square color picker malfunctioning when you have 0 Saturation? Doesn't seem like it got much attention, here's a short demo video clip: projects.blender.org/blender/blender/issues/113632