Add text about the build number and the format for prereleases.
Show that branch/release bumps the minor/maintenance number
|Deletions are marked like this.||Additions are marked like this.|
|Line 21:||Line 21:|
|This tree shows a release number assignment tree based on this algorithm. On the left the development tree is visible, while to the right the stable releases grow out. It's is like an upside down tree.||This tree shows a release number assignment tree based on this algorithm. On the left the main development trunk follows the down arrows, while the right arrows indicate stable release branches. It's is like an upside down tree.|
|Line 24:||Line 24:|
|Ethereal||Ethereal and older Wireshark releases|
|Line 28:||Line 28:|
|Line 33:||Line 32:|
|Line 35:||Line 33:|
|1.1.0 (a development snapshot may be released, which will not be branched off)|
|Line 38:||Line 35:|
|1.1.1 (If we have the need for an intermediate development version number)||1.1.1|
|Line 41:||Line 38:|
|Line 46:||Line 42:|
Release number tuple
Official Wireshark release numbers are constructed as a three number tuple: Major.Minor.Maintenance.
In some cases, such as the file version for Windows executables, a build number may be present: Major.Minor.Maintenance.Build.
The Major release number has reached 1 after numerous years of development and is likely to remain that way for a while. Only when the program undergoes a significant change this number will increment.
The Minor release number basically follows an even/odd number scheme. For every official release an even number is assigned and the code is branched off for maintenance. The development continues on the next higher odd release number. Note that this development package is a moving target and meaningless without its subversion revision number.
The Maintenance release number gives you the stage of maintenance which that release is in. It starts of with 0 and increments with every maintenance release.
The Build number is the source code repository revision number corresponding to that particular build.
Before a release there may be prereleases, which are designated with the word pre and a number, such as 1.0.0pre2.
Example release number tree
This tree shows a release number assignment tree based on this algorithm. On the left the main development trunk follows the down arrows, while the right arrows indicate stable release branches. It's is like an upside down tree.
Ethereal and older Wireshark releases | v +--> 0.99.8pre1--> 0.99.8 v 0.99.9 | +--> 1.0.0pre1--> 1.0.0pre2--> 1.0.0--> 1.0.1--> etc v 1.1.0 (a development snapshot may be released, which will not be branched off) v 1.1.1 | +--> 1.2.0pre1--> 1.2.0pre2--> 1.2.0--> 1.2.1--> etc v 1.3.0 (if this development significantly changes the program the Major number may bump) | +--> 2.0.0pre1--> 2.0.0.pre2--> 2.0.0--> 2.0.1--> etc v 2.1.0 etc