Skip to content
greese edited this page Oct 19, 2012 · 1 revision

The Dasein Cloud Core API (dasein-cloud-core) and all implementations share a major version number indicating binary compatibility with point releases varying within each project.

The number system looks like: YYYY.MM[.P]

Where YYYY is the four digit year, MM is the two digit month, and P is the optional point release number.

For example, the major release of Dasein Cloud Core created in September 2012 is 2012.09. All submodules of dasein-cloud which are binary compatible with that release of dasein-cloud-core share the same major version number. The first compatible release is thus 2012.09, even if the first release isn't authored until well after September 2012.

Point releases are not synchronized. For example, the Dasein Cloud team may introduce a bug fix to dasein-cloud-core that does not alter binary compatibility with dependent implementations. This bug fix would be released as dasein-cloud-core 2012.09.1. You should be able to replace the old casein-cloud-core JAR with the bug fix JAR without the need to recompile any parts of your code or worry about compatibility issues.

Thus, the current Dasein Cloud would be made up of dasein-cloud-core, dasein-cloud-test, dasein-cloud-mock, dasein-cloud-cli, and the various cloud implementations that share the same major release number but with each potentially having a different point release number.

There is no guaranteed compatibility between major Dasein Cloud releases. In fact, the point of changing the major release number is to signal a compatibility change. As a result, Dasein Cloud 2012.04 and Dasein Cloud 2012.09 are not compatible. You will have to change your code to upgrade to Dasein Cloud 2012.09 and any future Dasein Cloud major releases.