CockroachDB targets a supported major release every 6 months, breaking down that time period into 5 months of development and 1 month of stabilization. For example, v21.1 is a major release. A major release is maintained by issuing periodic patch releases to fix crashes, security issues, and data correctness issues. For example, v21.1.2 is a patch release.
In between the supported major releases, monthly alpha releases are performed for the planned next major release. For example, when v21.1 is current, v21.2-alpha.1 is an alpha release. The alpha releases see one week of testing before release and are considered unsuitable for production usage. They are intended for users who need early access to a feature before it is available in a stable release.
All versions post-1.0.0 should sort correctly with github.com/hashicorp/go-version and sort --version-sort. This ensures compatibility with downstream package managers’ version ordering. Note that the calver scheme is compatible with the previous semver scheme in this regard. Importantly, alphabetic components (e.g. beta, rc) can only appear after a - character, and must be separated from any following numeric components by a . character to ensure that e.g. 1.1-rc.2 sorts before 1.1-rc.10. For example, the following tags sort in the listed order:
20.1 (final official major release - also named 20.1.0 internally)
20.1.1 (final official patch release)
20.2-alpha.1 (alpha release)
20.2-alpha.2 (alpha release, second alpha)
20.2-beta.1 (beta release)
20.2-beta.2 (beta release, second beta)
20.2-rc.1 (first release candidate)
20.2-rc.2 (second release candidate)
20.2 (final major release)