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.
During development it may be desirable to have more exposure of newly implemented features. Although the development builds are available for everyone to download occasionally a development snapshot will be released. Note that these aren't branched off from the development tree, nor maintained. To indicate that development continues the Maintenance release number will be incremented.
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