Winter of Quality 2026

During the 2025–2026 winter (northern hemisphere), Blender developers focused on quality and stability. This blog post offers an overview of the work accomplished.


Bugfixes

Between December 1, 2025 and January 31, 2026, more than 350 reported issues were fixed.

Here is a per-module breakdown of the fixed reports:

  • Animation & Rigging: 16
  • Asset System: 9
  • Core: 14
  • Grease Pencil: 22
  • Modeling: 58
  • Nodes & Physics: 37
  • Pipeline & IO: 8
  • Platforms & Builds: 2
  • Python API: 7
  • Render & Cycles: 20
  • Sculpt, Paint & Texture: 24
  • User Interface: 50
  • VFX & Video: 53
  • Viewport & EEVEE: 35

Additionally, many old reports have been double-checked and either fixed or closed (for example, if the issue could not be reproduced in a recent Blender version). Issues that were not reported by users were also addressed.

Module Work Overview

In addition to fixing bugs, developers also spent time tackling technical debt, updating documentation, writing tests and stabilizing certain areas of the code. This is an excerpt of what was done, for the full list check out the overview.

Animation & Rigging

Compositor

  • Refactors to move towards reusable node trees for more efficient evaluation for current front ends (Sequencer) and future front ends (layered compositing and multistage compositing)
  • >40 fixes for bugs and known issues

Core

  • Refactors to move towards more type and memory safe C++ data structures and functions.
  • Reduced instances of depsgraph tagging, using the legacy value of “0”, by ~10% across the code base.

Modeling

  • Fonts with self-intersections not displayed correctly (42071).
  • Redo support for Edge & Vertex slide, Extend Vertices & Loop Selection (45964,60822, f4510ed5).
  • Apply scale normal flipping (102266).

Nodes & Physics

  • Completed the transition to the “Attribute Storage” format for mesh attributes. That enabled optimizations to optionally store attribute arrays as single values, shipping in Blender 5.1.
  • Changed node tools to register a separate operator per tool, unblocking future changes to Geometry Nodes RNA and modal node tools.

Platforms & Builds

  • GHOST: Remove C API and opaque types, modernize to C++ (151792)
  • Consolidated a bunch of DevOps / Buildbot related repositories into one single public repo.

Render & Cycles

  • Refactor lighting in the render kernels to improve performance and accommodate future changes.
  • Remove outdated RNA C++ abstraction.
  • Automated tests for viewport, animation, preview rendering.

Sculpt, Texture & Paint

  • Added a wide range of tests for all brushes in both normal mesh sculpting and multiresolution sculpting, as well as other commonly used, non-brush operators
  • Added global undo support for Texture Paint
  • Refactored paint stroke system used across all paint modes and runtime data storage used by Sculpt, Vertex Paint, and Weight Paint.

Triaging

  • Untriaged reports are down to ~20 (they were 90+ at the start of December)
  • Progress in design task of a new bug reporting workflow.

User Interface

  • Added automated tests for stacked full/maximized-screen handling
  • Further refactors of UI code from C-style to more modern C++-style coding
  • Statistics:
    • Total closed bug reports: 106
      • Resolved bug reports: 52 (of which 17 were high severity)
    • Total closed general tasks: 11
    • Oldest closed task: 6 years, 3 months
    • Average age of closed tasks: 0 years, 10 months

Viewport & EEVEE

  • More relevant render tests were added to EEVEE and Workbench test suites (148449)

Video Sequence Editor

  • Overall focused on code cleanups: more C++ style code instead of C, split off runtime data from DNA data, split too large source files into separate ones, clarifying messy code etc. Some of the PRs are mentioned under (149160) but we also forgot to include probably a dozen others into the list.
  • Some of the cleanups ended up user facing too, for example strip time related property names were changed to make more sense; or Audaspace integration rewrite to use C++ APIs actually fixed memory leaks.

XR

  • Implement a separate XR-specific context: (154122)

Future Quality Projects

After two years of having a dedicated quality period at the end of the year, this may be the last time we do this. The idea is to shift towards a per-module/project technical debt catchup every now and then.


Support Blender

Development requires dedicated design and development resources.

Donate monthly or one-time to help make this happen.

Winter of Quality 2026
Geometry Nodes Workshop: September 2025
Google Summer of Code 2025 Results
Volume Grids in Geometry Nodes