stephenbrooks.orgMiscellaneousNegative Version Numbering

Negative Version Numbering

Proposal for use of negative integers to indicate development/beta status in software version numbering.

The hierachical version numbering as a sequence of non-negative integers (e.g. version 1.0 or 2.4.3) is a good fit for software that is released to the public, however developers and people in various stages of testing require subdivisions of a version that come before a major (or significant minor) release.  I have seen various ways of doing this, for instance a program with "version 5 beta 2" being represented by version 4.9.2 with the idea that 9 is the "last" one-digit number.  This made me think of what I believe to be a more flexible system, by allowing negative integers in the parts of the version numbering.

Make the assignments
−1 = RC (Release Candidate)
−2 = beta
−3 = alpha
−4 = dev (development version).

Now note that the beta before version 5.0 can be written as 5.beta (i.e. 5.−2) and this would be ordered before the full version naturally, without impairing the number of minor versions (4.8, 4.9, 4.10...) of the existing release that are possible.  The beta and other stages may be split appropriately, for example 5.beta.2 (5.−2.2) for the second beta.  Development versions may have as much detail as necessary, e.g. 5.dev.4.15 for the 15th build after the 4th development milestone has been achieved going towards version 5. Finally, pre-release stages may be used on minor versions, for instance while a stable version 4.2.3 exists, version 4.3.alpha.1 may be in testing, the latter ordering after 4.2.n but before 4.3.n for non-negative n.

: contact : - - -
E-mail: sbstrudel characterstephenbrooks.org
Yahoo: scrutney_mallard
Jabber: stephenbrooksstrudel characterjabber.org
Twitter: stephenjbrooks 9.85millionaccesses