version numbers
Ray Plante
rplante at poplar.ncsa.uiuc.edu
Tue Mar 9 10:24:23 PST 2004
Hi VOers,
Now and again I see someone asking about the logic behind a version
number, wondering how vZ.Z.ZZ came after vX.X. I'm sure I've confused my
fair share of people with my own choices. I would like to recommend that
we practice the pattern typical of most revision control systems (that I
am aware of), as in the following example of a sequence of version
numbers:
0.1 // an initial pre-production draft version
0.2
0.2.1 // a minor revision on 0.2
0.2.2
0.4 // perhaps 0.3 never saw the light of day
0.8
0.9
0.10 // we're not ready for 1.0 yet
0.11
0.11.1 // further refinement
0.11.2
1.0 // yeah! ready for prime-time!
1.1 // revision on 1.0
2.0 // major revision over 1.x; applications may break.
This is based on the following principles:
o Each field between a period (.) is an integer. The version is not
to be interpreted as a floating point number. That is 0.91 is 82
revisions after 0.9.
o When the first field is 0, the standard/app is a draft release
with significant development or review still expected.
o The third field is a branch in development. In our case, we should
use this to mark minor changes (perhaps backward compatible) beyond
the last two-field version.
o An increment in the first field represents a major change; users will
likely have to change their applications to be compliant with the new
version.
o Which field is incremented--that is, whether this is a minor or major
change--is up to the authors.
cheers,
Ray
More information about the interop
mailing list