Skip to content

Development: Releases

✌ Makis Tracend edited this page Jan 22, 2014 · 3 revisions

Anything related with the release cycle

Versioning

When tagging projects you should assume the conventions of 3 decimal versioning apply, excerpt follows:

Package versions can be abstractly referred to as X.Y.Z. For version 1.2.3, X is 1, Y is 2 and Z is 3. ... These three questions can be used to determine how to increase the version number:

  • Breaking backwards compatibility? Yes = increment X, set Y = Z = 0
  • Adding new features? Yes = increment Y, set Z = 0
  • Fixing bugs? Yes = increment Z

In addition, there is a definite convention of how "alpha" and "beta" translate to version numbers. Specifically:

  • x.5.0 <= alpha < x.9.0
  • x.9.0 <= beta < (x+1).0.0
  • x.0.0 <= stable < x.1.0

In a sequence this looks like:

... -> x.5.0 -> alpha(s) -> x.9.0 -> beta(s) -> (x+1).0.0 -> stable(s) -> (x+1).1.0 -> ...

Notes:

  • Since "alpha" is considered an early version of the software, it is expected to have a number of missing features and runtime errors. That's why more version numbers are distributed from alpha->beta rather than from beta->stable.

  • There is a "buffer" between x.0.0 and x.1.0 that's preserved for patches of the public release. No additional features or improvements should be included in those commits (just bug fixing).

  • The "blank" area between x.1.0 and x.5.0 is left for experimentation until the feature set for the next stable release is realised. By the time we enter a new "alpha" phase the feature set should be finalised and the alphas should be only conserved about the implementation of those features (and not adding more to the lsit).

Milestone != Release

Releases split in 3 decimals can be scheduled/produced irregularly.

By tradition, all the small releases lead up to a more significant release - thus the milestone should be tied to one of the "major" releases, preferably complete new versions (1.0, 2.0 ...) or intermediate releases (1.5, 2.5 ...)

References

Clone this wiki locally