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-users mailing list [email protected] http://lists.amdatu.org/mailman/listinfo/amdatu-users
