Default versioning

Our version numbers are based on 3 digits

<major>.<minor>.<patch>

  1. MAJOR version when you make incompatible API changes,

  2. MINOR version when you add functionality in a backwards compatible manner, and

  3. PATCH version when you make backwards compatible bug fixes.

Example: 1.0.0

Version extensions

Additional there are labels for pre-release, test-versions as extensions to the MAJOR.MINOR.PATCH format:

  1. Pre-release version: <version>-RC-<number> e.g. 1.0.0-RC-1

  2. test version: <version>-test-<number> e.g. 1.0.0-test-1

Long term customer specific versions

Customer specific versions based on long term support and frozen versions:

<default-versioning>-<customer-name>-<customer-digits>

  1. default-versioning: major.minor.patch of the main version. The version that the customer would like to have supported in the long term and that has been frozen.

  2. customer-name: a customer requested specific string (e.g. devopssystems)

  3. customer-digits: The customer digits is based on 2 digits <minor>.<patch> which has the same semantic as the default versioning.

Example: 1.0.0-devopssystems-1.0