Hello all,

We're homing in on an 1.0 release of the Amdatu Platform, so this is a good 
moment to discuss our versioning scheme. We (the platform team) propose to 
adopt the semantic versioning scheme as recommended by the OSGi Alliance [1]. 
We have documented it here [2] and from 1.0 onwards we would like to start 
using it.

That basically means we have three things we version:

1) At the top level, we have a version number that we associate with the 
platform as a whole. This version number will start with 1.0 and will be 
increased every time we make a new release.

2) At the bundle level, we have a version number that is associated with that 
particular bundle. It will only change if the contents of the bundle have 
changed.

3) At the package level, we have a version number for every exported package. 
It also will only change if the contents of that package have changed.

Especially bundles and packages should follow the semantic versioning scheme. 
For our top level releases, it does not matter that much, but for the sake of 
consistency it might be best to also let them follow this scheme.

Some examples:

We start with a top level release that contains two bundles, A and B, and each 
of those bundles exports a few packages (A exports a and B exports b and c).
Release 1.0 contains A 1.0 (with a 1.0) and B 1.0 (with b 1.0, c 1.0)

now we change the API in c in a backward compatible way, so we bump c to 1.1. 
This means that B should also be bumped to 1.1 and we end up with:
Release 1.1 contains A 1.0 (with a 1.0) and B 1.1 (with b 1.0, c 1.1)

now we have a bug fix somewhere in A, in a private package, so we bump A to 
1.0.1 and end up with:
Release 1.1.1 contains A 1.0.1 (with a 1.0) and B 1.1 (with (b 1.0, c 1.1)

finally we do another bug fix in A, and change the API of b in a non compatible 
way so it becomes 2.0, and we end up with:
Release 2.0 contains A 1.0.2 (with a 1.0) and B 2.0 (with b 2.0, c 1.1)

I hope this clarifies a bit how that works.

We would like to have your feedback on this versioning mechanism.

Greetings, Marcel


[1] http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf
[2] http://www.amdatu.org/confluence/display/Amdatu/Versioning+Semantics

_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to