XFree86® Version Numbering Schemes : Current Version Numbering Scheme
Previous: Development, Branches, and Releases
Next: Version Numbering Scheme for XFree86 4.0.x.

## 2. Current Version Numbering Scheme

Starting with the main development branch after 4.0.2, the XFree86 versions are numbered according to the scheme outlined here. Both the 4.0.2 stable branch and the 3.3.x legacy branch continue to use the previous scheme, which is outlined in the sections below.

The version numbering format is `M.m.P.s`, where `M` is the major version number, `m` is the minor version number, `P` is the patch level, and `s` is the snapshot number. Full releases have `P` set to zero, and it is incremented for each subsequent bug fix release on the post-release stable branch. The snapshot number `s` is present only for between-release snapshots of the development and stable branches.

### 2.1. Development Branch

Immediately after forming a release stable branch, the patch level number for the main development branch is bumped to 99, and the snapshot number is reset. The snapshot number is incremented for each tagged development snapshot. The CVS tag for snapshots is "`xf-M_m_P_s`". When the development branch enters the feature freeze, the snapshot number is bumped to 901, and the snapshot number is incremented sequentially until the release is finalised. Snapshots made during the feature freeze are called "release candidates," and are numbered by the snapshot number minus 900. An example of this is snapshot number 901 would be release candidate 1 (RC1).

When the release is finalised, the minor version is incremented, the patch level is reset to zero, and the snapshot number removed. Somewhere around the time of the release, a maintenance branch is created. This branch is usually called "`xf-M_m-branch`".

Here is an example which shows the version number sequence for the development leading up to version 4.4.0:

`4.3.99.1`

  The first snapshot of the pre-4.4 development trunk.

`4.3.99.8`

  The eighth snapshot of the pre-4.4 development trunk.

`4.3.99.901`

  The start of the 4.4 feature freeze, and first 4.4.0 release candidate.

`4.3.99.903`

  The third 4.4.0 release candidate (RC3).

`4.4.0`

  The 4.4.0 release.

`4.4.99.1`

  The first pre-4.5 development snapshot.

### 2.2. Maintenance Branch

After a full release, the maintenance branch for the release will be created to hold important bug fixes and updates. Snapshots and release candidates may be tagged on maintenance branches from time to time. When an update release is cut, the patch level value (`P`) is incremented and the snapshot number dropped.

Here is an example which shows the version number sequence for the 4.2.x maintenance branch.

`4.2.0.1`

  The first snapshot on the 4.2.x maintenance branch.

`4.2.1`

  The 4.2.1 update release.

XFree86® Version Numbering Schemes : Current Version Numbering Scheme
Previous: Development, Branches, and Releases
Next: Version Numbering Scheme for XFree86 4.0.x.