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.
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.
After a full release, the maintenance branch for the release will be 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.