Breaking changes for 4.0 #105523
Overview of all planned and ongoing breaking changes (feature removal and replacements, compatibility breakage...) for Blender 4.0.
Once these changes are commited and done, remove them from the list and document them in the wiki release notes instead.
|Module / Area||Change||Reference|
|Animation & Rigging||Animation: Replacing bone layers + groups with bone collections||#108941|
|Modeling||Breaking Mesh API changes||#100153|
|Modeling||Face maps removal||#105317|
|Nodes / Physics||Breaking nodes API changes||#102607|
|Nodes / Physics||Mesh Auto Smooth and Normals Design Changes||#93551|
|Nodes / Physics||Remove legacy instancing panel||#105321|
|Nodes / Physics||New node group interface declaration to support panels||#109135|
|Pipeline, Assets & IO||Breaking asset API changes||#102877|
|Pipeline, Assets & IO||Remove STL Add-on? probably not||blender/blender-addons#104634|
|Render & Cycles||Breaking shader node changes||#96219|
|Sculpt, Paint & Texture||Revamp Keymap||#105298|
|User Interface||Breaking UI API changes for 4.0||#110461|
Just a question/suggestion for an item. I had started a patch that converted all node UI and python references from "fac" to "factor" to be much more user-friendly. I was directed to shelve that patch until 4.0, and am certainly keen to make those changes at that time. Is it possible to reference archived patches or would a new issue/milestone need to be opened? Or would this get added to item #102607?
The "fac" rename is part of the already listed #96219.
There's almost 200 instances of
DNA_DEPRECATED across many DNA types. Removing those deprecated fields would be really nice to do for 4.0. Will there be a task to detail what's required to safely do so wrt back-compat etc?
@deadpin these are often needed to open old files on newer Blender versions (although undoubtedly some are unused and can be removed).
Somewhat related, I think it would be good to use a legacy suffix in the case they are not longer used.
@ideasman42 For highly impacted DNA types like
Object, which has 164 bytes worth of deprecation (11% of its size) and for which there can be thousands in a file, would it make sense to do something like what was done for some of the Mesh types in recent months where the deprecated items are, I think, only available for blend file IO and the
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?