LTS release version numbering #76058
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#76058
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
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?
For background see:
https://code.blender.org/2020/05/long-term-support-pilot/
https://code.blender.org/2020/02/release-planning-2020-2025/
https://devtalk.blender.org/t/long-term-support-and-its-implications/12525
Proposal
Change version number for bugfix / LTS releases to use numbers rather than letters (2.83c -> 2.83.3). The subversion used for file format compatibility would be hidden from the user.
There's a few reason for this:
In Blender itself, "LTS" or "long term support" would not be part of the version number or cycle. That term would only be used on the Blender websites.
Communication
Since the subversion is already at a number higher than 0 and this number appears in the UI, resetting it to 0 will cause some confusion. However this is only in alpha/beta releases, and for the purpose of bug reporting we do not rely on this number much if at all.
So I propose that we simply start at 0 and accept the confusion that this may cause.
Starting at the current subversion number is also possible, but calling the first LTS bugfix release 2.83.16 will also be confusing in its own way.
Naming
2.83.15
2.83.0 Beta
,2.83.0
,2.83.1
2.83 Beta
,2.83
,2.83a
2.83.0 Beta
,2.83.0
,2.83.1
blender-2.83-macOS.dmg
,blender-2.83a-macOS.dmg
blender-2.83.0-macOS.dmg
,blender-2.83.1-macOS.dmg
blender-2.83-8f050b6825b8-macOS.dmg
blender-2.83.0-8f050b6825b8-macOS.dmg
2.83 (sub 15)
2.83.0 Beta
,2.83.0
,2.83.1
Python API
There are a few places where the Python version is used, and changes here affect API compatibility. I propose the following changes:
bpy.app.verson_string
2.83 (sub 15)
2.83.0 Beta
,2.83.0
,2.83.1
bpy.app.version
(2, 83, 15)
(2, 83, 0)
bpy.app.version_char
a
bpy.app.versiong_string
: add bugfix number and release cycle if in alpha or beta, matching the splash screen, and leaving out subversion. In the bundled add-ons, this is only used by exporters to write the application the file was exported from.bpy.app.version
This would break add-ons that check the third number, however I was not able to find any add-ons that do this.bf_info "blender"
field used in add-ons to indicate the minimum supported Blender version. I have found no examples of add-ons using(2, 83, x)
where x is a value higher than 0.We could expose the subversion in another way, as a .blend file format version like
bpy.app.file_format_version
. I can't think of a practical example of a Python script that would need this. But I see no problem adding it if a use case comes up.The other issue is that add-ons may want to offer compatibility with different beta versions where the API changes, and the subversion provided an (inaccurate) approximation of that. I also have not found examples of add-ons doing this, and probably it's more convenient to use e.g.
hasattr()
to test if API functions are available. If there is a need for this, it could always be added in 2.90 or later, as the API should not break in the LTS.Changed status from 'Needs Triage' to: 'Confirmed'
Added subscribers: @fsiddi, @dfelinto, @brecht, @jesterking
I created an implementation of this in D7748: Blender: change bugfix release versioning from a/b/c to .1/.2/.3, to fully understand the implications.
Of course this proposal is not accepted at this point, so we still have to decide if we actually want to go ahead with this.
Added subscriber: @Ton
Hi @brecht, I think it is better if we have the
.0
there to remove ambiguity. So we can use2.83
,2.90
, ... to refer to the "product", and2.83.0
,2.83.1
,2.90.0
to refer to specific versions of it.I talked to @fsiddi yesterday he agrees (due to different reasons though - alignment/design). Also asked @Ton and he trusts us to decide that.
This issue was referenced by
a86b5df005
Added subscriber: @ideasman42
LGTM, also fine to hide subversion from Python API - exposing only if there is some important use-case for this.
Changed status from 'Confirmed' to: 'Resolved'
This issue was referenced by infrastructure/blender-buildbot-www@d187dd6f43
This issue was referenced by blender/blender-addons@f5edd05a3b
This issue was referenced by
2b9ac1de49
Added subscriber: @ronsn
@brecht , @dfelinto Since you changed the versioning system and
bpy.app.version
returns now a different result thanbpy.data.version
there are several programs that don't work anymore because of a mismatch.Now you didn't silently only change the API description for
bpy.data.version
but also the meaning which it had since forever. That's now why the programs don't work anymore.So my question is: Is there another way to get the Blender version a .blend file was saved with?
@ronsn, which programs don't work anymore?
The major and minor version in
bpy.data.version
still tell you the Blender version the file was saved with. And in general I would not expect the patch version of Blender to make any difference regarding .blend file contents, so if the file was saved with 2.83.0, 2.83.1, 2.83.2, ... should not matter?@brecht About the programs which don't work anymore:
1.) One program that doesn't work anymore is "THE VIDEO EDITOR'S RENDER SCRIPT". But which is no longer being developed. It stopped working the day Blender 2.83 was released^^
2.) The other program/programs is.... okay the story in brief: Some time ago, my colleague asked me if there would be problems with Blender if the announced change of the versioning system was completed because his customer had set up an infrastructure where Blender is also used. There, among other things, the version of .blend files is compared and then the corresponding version of Blender is started or in case of issues/bugs/blacklist another version is started. No idea what exactly happens there. Anyway, I looked at Blenders documentation and your official announcements and it just said that you are changing the versioning system. So there shouldn't be any problems to compare the versions anyway. So I told my colleague and he told his customer. I don't know which programs they use, or how they call them. Their setup/infrastructure was made by someone in the past so I can't tell you anything about that. But they just don't work anymore. And now guess who is the idiot now? 😁
But apart from that: I think the exact version plays a role, because they blacklisted certain versions. At least as I understood it.
The video editors render scripts appears to have been updated around the time of the 2.83 release:
https://github.com/mikeycal/the-video-editors-render-script-for-blender/
It's unfortunate we didn't catch this
bpy.data.version
issue at the time of the 2.83 release and document it in the release notes, but changing it now would break compatibility again.