jadice server adapts the concept of Semantic Versioning. Semantic Versioning defines syntax and semantic of a version number schema. In short it defines a three-dgit version number which is formatted as X.Y.Z. jadice server extends this standard by a further digit which defines the product generation. This digit is prepended to the digits defined by the Sementic Versioning standard, so that the resulting form is G.X.Y.Z (Generation.Major.Minor.Patch).

The following section explains the semantic in short. For a detailed and complete specification have a look at semver.org.

G.X.Y.Z

The digit Z defines the patch level and is the last digit of the version number. It is incremented if only backwards compatible bug fixes are introduced. A bug fix is defined as an internal change that fixes incorrect behavior.

G.X.Y.Z

The digit Y defines the minor level and is the second last digit of the version number. This version may contain changes on patch level and is increased if one of the following changes was introduced:

  • Backwards compatible extension of the public API
  • Backwards compatible functionality introduced to the public API
  • Public API functionality is marked as "deprecated"

This digit may be incremented if substantial new functionality or improvements are introduced within the private code.

Patch version (Z) is reset to 0 when the minor version is incremented.

G.X.Y.Z

The digit X defines the major level and is incremented if any backwards incompatible changes are introduced to the public API. It may include minor and patch level changes. Patch (Z) and minor (Y) version are reset to 0 when the major version is incremented.

G.X.Y.Z

The first digit G defines the product generation of jadice server. It is incremented only if numerous changes on major level are introduced which prevent a simple migration or a substantial change in the architecture of the system is introduced.

A change on the product generation level may include also changes on the other levels. Major, minor and patch level are reset to 0 when the product generation is incremented.