Skip to content

ADR 0011: Garden Linux versioning

Date: 2025-08-25

Status

Accepted

Context

The Gardenlinux version scheme is based on a 2 segment version identifier scheme under the format DDDD.P where:

  • DDDD represents the number of days since 31st of March 2020
  • P minor version

The format is not extremely strict - no padding is being used e.g. 0934.01 doesn't exist, rather 934.1 was released. The Gardenlinux version identifier is very similar to what the CalVer^1 convention is proposing, except the 3 numeric segments and the modifier.

Because of different limitations from our main customer (Gardener) and as most OSS is using SemVer^2 as the go-to versioning system, it was proposed that Gardenlinux should also switch to SemVer.

Decision

Unfortunately SemVer is not really suitable for a such a project.

In order to align with the requests, the decision has been made to:

  • keep the current system we use for major/minor - similar to what CalVer is proposing, even if you can't easily derive a lot of information from the version itself

  • switch to a 3 numerical segments identifier for the version:

    • major - keep the same convention - number of days since 31st of March 2020
    • minor
    • patch - always 0 for GL - forks of GL can increment this in order to release their own versions based on our major.minor.0 releases

    our terminology must be changed as well, as we wrongly refer, in many places, the minor releases as patch releases

    this would also make the version identifier be semver compliant

    we'd have a 1:1 correlation between Gardener and our releases

Actual changes proposed for Gardenlinux:

  • go from a 2 segment numerical version to a 3 segment semver compliant version by
    • appending ".0" to the currently used versions - how Gardener does it internally
  • use this system starting with the next major release (current version at time of writing 1976.0)
  • use this with the nightly as soon as possible

Consequences

  • 1:1 mapping between the Gardener OS versions and the actual GL release
  • No more special version handling in the landscape setup for Gardener
  • IronCore will need to adjust their workflows when creating their custom images
  • The CCloud GL version will need adjusting, but it will benefit SCI overall as their custom images are used in Gardener/IronCore environments
  • GLRD requires changes as the tool needs to be backward compatible with all the old releases using the major.minor versions
  • GLVD requires adaptions to the new versioning schema

Notes