Software versioning


Contents:

General information

Some basics about the used version numbers.

First of all, there is a variety of version numbering schemes that can be assigned to software to unique the states of development (details can be found here).


This page is not meant to explain what version numbering schemes are and how they work.

It is meant to show the differences between the previous and the current version numbering scheme of the projects provided by this website.

The version numbers of the projects consist of three parts. A major version, minor version and revision number:


Major   Minor  Revision
  |       |       |
  +-----+ | +-----+
        | | |
      
Version 1.2.4


Previous way

The deprecated way of versioning.

In the past, the version numbers of each project have always been incremented statically. 

Every official version had an even revision number which has been simply incremented by two on every new release, no matter how significant changes have been made. For instance:


Version 1.8.6
Version 1.8.8
Version 1.9.0
Version 1.9.2
Version 1.9.4
Version 1.9.6
Version 1.9.8
Version 2.0.0
Version 2.0.2 (and so on)

The odd revision numbers have been reserved and used for inofficial releases (such as incomplete and experimental versions). As you can see above, depending on that revision number, the minor as well as the major version number have been increased automatically.

So, before you could see that there is a newer version of the project and by the look into the corresponding changelog file you could also see what has changed since the last version, but the version number itself was not very informative about the significance of those changes at all.

For more clarity, this way of versioning has been changed.



Current way

The way of versioning currently used.

All versions of the projects that have been released since December 2013 use a new project version numbering scheme which is more informative about the significance of the changes:

  • The revision number is incremented when...
    • basic features have been added.
    • bugs have been fixed.
    • existing features have been improved.
    • negligible changes have been made (such as typo correction and reformulation of text).
  • The minor version number is incremented when...
    • advanced features have been added.
    • existing features have been significantly or fully revised.
  • The major version number is incremented when...
    • there is significant progress in functionality.
    • the project has been significantly or fully revised.

Inside the corresponding changelog file of every project you can still find the details about what has been changed in each version.

However, new major versions come with a reset changelog file, without any information about the changes of earlier versions. For example, the changelog of version 2 does not include the changelog of version 1.