Version 12 (modified by Dominic König, 14 years ago) ( diff )


SahanaPy Version Numbering

General Schema

Version numbering follows the following schema:

major Major Release Number, starting with 0
minor Minor Release Number, starting with 1
version Release Version, even numbers = stable version, odd numbers = development version
branch Name of the branch, omit for main trunk
commit Branch commit number, omit for stable versions

Stable versions must have their release and version numbers in the bzr commit log.

  • Bzr commits without release/version number in the commit log are always considered being unstable ("not ready for merge" in branches).
  • Bzr commits with a release and (an even) version number on top of their commit log indicate a stable version ("ready for merge" in branches).

Version Numbers in Branches

The release number of a branch follows the main trunk, i.e. it indicates the trunk version it is contributing to:

  • 0.3.6-vita

is contributing to the latest development version of the 0.3 release (and synchronises regularly with it).

Once the main trunk release turned into 0.4, no code from branches with 0.3.x release numbers will be merged into trunk anymore.

Version numbers in branches in turn do not have to correlate with the main trunk version, i.e.

  • 0.3.24-vita

can contribute to 0.3.3 in the main trunk.

However, odd (or no) version numbers of branches indicate a "not ready for merge", while even numbers indicate "can be merged", i.e.

  • 0.3.24-vita can be merged into 0.3.3 trunk, whilst
  • 0.3.25-vita is not ready to be merged

To indicate a "ready for merge", write the release and version numbers of the branch on the top of the bzr commit log.

Version Numbers

Each new minor release starts with version number 0 in the stable, and 1 in the development version, i.e.:

  • 0.3.0 is the initial stable version of the 0.3 release
  • 0.3.1 is the initial development version of the 0.3 release

For each update of the stable version, both version numbers are increased by 2, that is, when 0.3.1 is tested and ready for release, so:

  • 0.3.1 gets renumbered as 0.3.2 for release (stable 0.3.0=>0.3.2)
  • new development version will be 0.3.3 (development 0.3.1=>0.3.3)



  • Major Release: 0
  • Minor Release: 3 ("Banwell")
  • Version: 3 (development version)
  • Branch: haiti (Haiti Earthquake 2010 Deployment Branch)
  • Commit No.: 567
  • Major Release: 0
  • Minor Release: 3
  • Version: 4 (stable version, no commit number!)
  • Branch: haiti (Haiti Earthquake 2010 Deployment Branch)
  • Major Release: 0
  • Minor Release: 3 (Codename "Banwell")
  • Version: 6 (stable version, main trunk)
Note: See TracWiki for help on using the wiki.