AgE 2.4 : Versioning

Versioning

The versioning policy in AgE is as follows:

  • AgE conforms to Apache's standard of versioning: major.minor.patch
  • The repository's trunk contains the next major.minor snapshot, which is currently worked on
  • For each major.minor release supported, a dedicated maintenance branch is kept in the repository, under /branches/releases/minor.major.x
  • Bugfixes for any supported major.minor release are worked on in the corresponding maintenance branch. Once enough bugfixes are gathered, an incremental major.minor.patch release is performed from that branch
  • In particular, the initial major.minor.0 release is also performed from that branch
  • All major.minor.patch releases are tagged in the repository under /tags/jage-minor.major.patch


As an example, this is how the repository looked like when this was written:

  • 2.6.0-SNAPSHOT was the current version in the trunk
  • 2.5.x releases were supported under a /branches/releases/2.5.x maintenance branch
  • 2.5.1-SNAPSHOT was the current version in the branch
  • 2.5.0 release was tagged under /tags/jage-2.5.0

If you look in the repository graph, things were slightly messier with the 2.5.0 release, although resulting in the same structure. However, this should be looked on as en exception, not an example. All future releases should be performed according to the guidelines above.