wiki:VersionNumbers

Version 1 (modified by zooko, at 2007-06-17T15:07:06Z) (diff)

initial version number meanings (imported from pyutil's version class which got it from Mnet)

End users see version strings like this:

"1.0.0"
 ^ ^ ^
 | | |
 | | '- micro version number
 | '- minor version number
 '- major version number

The first number is "major version number". The second number is the "minor version number" -- it gets bumped whenever we make a new release that adds or changes functionality. The third version is the "micro version number" -- it gets bumped whenever we make a new release that doesn't add or change functionality, but just fixes bugs (including performance issues).

Early-adopter end users see version strings like this:

"1.0.0a1"
 ^ ^ ^^^
 | | |||
 | | ||'- release number
 | | |'- a=alpha, b=beta, c=release candidate, or none
 | | '- micro version number
 | '- minor version number
 '- major version number

The optional "a" or "b" stands for "alpha release" or "beta release" respectively. The number after "a" or "b" gets bumped every time we make a new alpha or beta release. This has the same form and the same meaning as version numbers of releases of Python.

Developers see "full version strings", like this:

"1.0.0a1-dev-r55"
 ^ ^ ^^^  ^    ^
 | | |||  |    |
 | | |||  |    '- nano version number
 | | |||  '- "dev" if this is a development version (not a release version)
 | | ||'- release number
 | | |'- a=alpha, b=beta, c=release candidate or none
 | | '- micro version number
 | '- minor version number
 '- major version number

The presence of "-dev" means that this is a development version. There are no guarantees about compatibility, etc. This version is considered to be more recent than the version without this field (e.g. "1.0.0a1").

The next number is the "nano version number". It is meaningful only to developers. It gets generated automatically from darcs revision control history by "make-version-from-darcs-history.py". It is the count of patches that have been applied since the last version number tag was applied.