Version number

from Wikipedia, the free encyclopedia

Version numbers differentiate between individual versions of a software in order to clearly identify their further developments.

The version number is the basis for version management . The process of assigning the version number is called versioning .

Structure and meaning

A classic version number is often made up of:

Major version number
(English: major release ) usually indicates extremely significant changes to the program - for example, if the program has been completely rewritten (for example GIMP 2.x after version 1.x) or if no interface compatibility can be maintained with libraries .
Minor version number
( English minor release ) mostly refers to the functional expansion of the program.
Revision number
( English patch level ) mostly contains bug fixes .
Build number
( English build number ) usually indicates the progress of the development work in individual steps, for example, starting with 0001, it is increased by one with each compilation of the code. Version 5.0.0-3242 would therefore stand for the 3242nd compilation product of a software. If version control systems are used, a number is often used instead of the build number, which uniquely identifies the sources for the compilation within the version control system. This makes it easier to find the associated sources in the event of an error.

Example for the 2nd version of a program, the 3rd minor version and the 5th error correction, Build 0041:

2.3.5-0041
│ │ │  └────── Buildnummer
│ │ └───────── Revisionsnummer
│ └─────────── Nebenversionsnummer
└───────────── Hauptversionsnummer

Each of these version numbers can also consist of several digits. For example, after version 0.9, if only the minor version increases, 0.10 and not 1.0. In some programs, the minor version number has two digits or contains a leading zero if more than ten versions of this type are to be expected (example: 0.09). If the major or minor version number is increased, the following digits are reset to 0. Version 2.3.5 is followed by version 2.3.6, 2.4.0 or 3.0 (or 3.0.0), depending on the degree of change.

Often the major version with the number 0 is an exception in that larger changes are possible even if the minor version is increased.

In principle, however, there are no fixed specifications for the meaning of the individual values, rather quasi-standards have been established: Under .NET one follows e.g. B. the deviating scheme <Hauptversionsnummer>.<Nebenversionsnummer>.<Buildnummer>.<Revisionsnummer>(position for revision number and build number reversed compared to the example above).

A version at any given point in time is also called build. In many projects, the build number is increased independently of the other numbers and is not reset. For example, there are two product lines for the Windows operating system from Microsoft : Builds 950 ( Windows 95 ), 1998 ( Windows 98 ) and 2222 ( Windows 98SE ) are known in the Windows 9x series, and the Windows NT series are in the series builds 1381 (Windows NT 4.0 Service Pack 6), 2600 ( Windows XP ), 6000 ( Windows Vista ) and 7600 ( Windows 7 ).

It is often the case - especially with open source software - that the version numbers of programs or systems are prior to version 1.x. However, this does not necessarily indicate that the development is not yet very advanced, but rather that the version has not yet achieved the goal set by the developers and is still in development. In some cases there are even open source programs which - although they have long since left the alpha and beta status - are still versioned below version 1.0.

A version number is often given after the program name and is sometimes specially identified by “v.”, “V” or “V” (for version ).

Marketing aspects

Version numbers are much more important information for software development than for customers. With the help of version numbers, it can be ensured, among other things, that new program parts in developer groups are not overwritten with older ones (see version management ).

In larger software projects, marketing aspects may mean deviating from the internal, more technically motivated versioning, which then leads to version names (Windows XP corresponds, for example, to "Windows NT 5.1"), from which the version sequence can no longer be easily identified. For marketing reasons, version numbers can also be skipped in order not to have a lower version (which can be interpreted as "older") than a competitor. This was the case, for example, with WinWord , whose version jumped from 2.0 to 6.0, Slackware and Windows 10 . Similar cases can also occur with different software from the same manufacturer. B. called the first version of Windows NT " Windows NT 3.1 ", because it came on the market after Windows 3.1 . In Windows 7 , the internal version number ("Windows NT 6.1") was deviated from for technical and psychological reasons. With Windows 10 "Windows 9" was skipped.

Other ways of distinguishing program versions from one another are also used, as they are easier to remember:

  • Years, for example: Windows  95 (1995); Microsoft Office 95 (1995); Windows  2000 ; Office 2019 ;
  • Years and months; For example, the version number of the Ubuntu distribution is formed from the last or the last two digits of the year and the month of publication, e.g. B. Ubuntu 6.04 (for 2006.04 = April 2006), Ubuntu 13.10 (for 2013.10 = October 2013); also Windows 10 uses this scheme, eg. B. Windows 10 1507 (for 2015.07 = July 2015), Windows 10 1903 (for 2019.03 = March 2019).
  • alphanumeric identifiers, for example: Adobe Photoshop CS2, Adobe Flash MX; Windows XP ;
  • Code names , for example: Mac OS X Panther (since 2016 macOS ); Windows Vista ;
  • The version number of TeX is approaching π ; of Metafont the Euler's number  e .
  • The Linux kernel uses a version number, which has no connection with actual progress for some time. The first version number is increased by one every two million git commits.
  • In the GIMP , an even second digit (e.g. version 2.2, 2.4, 2.6, etc.) indicates a stable version, while in the development version the second digit is odd.

additions

Depending on the development stage of the software , there are additional additions:

alpha
during the development of the software, very early stage
beta
intended for testing, limited user group
RC
Release candidate ( release candidate , rc ), final trial
Release (final)
final version ( English release for publication)
Patch
also patchlevel , pl , German  correction level

Individual evidence

  1. Linda Westfall: The Certified Software Quality Engineer Handbook , Verlag ASQ Quality Press, 2008, ISBN 9780873897303 , pp. 509-510 online
  2. Version numbers in .NET (English)
  3. https://fossbytes.com/linus-torvalds-linux-kernel-5-0-release-date-meaningless/

Web links