Developers of the project LLVM have recently approved a transition to a new scheme for the formation of product version numbers. This decision follows the example set by the GCC and GDB projects. Under this new scheme, the initial output in each new branch will be denoted as “N.0” during the development process, while the first stable version will be labeled as “N.1”. As part of this change, the development and final release branches will be managed separately.
To illustrate how this new scheme will work, let’s consider the example of the future release of LLVM 18.0. During the preparation phase, the development will take place in an unstable branch labeled LLVM 18.0. Once the first stable release is ready, it will be identified as version 18.1.0. Moving forward, if any necessary corrections or fixes need to be made, they will be released every two weeks as additional versions, such as 18.1.1, 18.1.2, and so on.
In case any changes in the current branch result in a violation of the Application Binary Interface (ABI), an update will be issued with a change in the second number of the version. For instance, if changes are made that affect the ABI in LLVM 18.1, the updated version will be numbered as 18.2.0.