bottlerocket-os / bottlerocket-os/bottlerocket

Document Bottlerocket versioning as it relates to variants

Open
#2,733 1 comment 0 reactions 1 assignee Claimed by @stockholmux View on GitHub
status/in-progress type/documentation type/enhancement
Dominant language
Rust
Stars
9.7k
Forks
586
Avg merge
1d 11h
Merged PRs (30d)
11

Description

**What I'd like:** Bottlerocket nominally uses SemVer ([source 1](https://github.com/search?q=repo%3Abottlerocket-os%2Fbottlerocket+semver+language%3AMarkdown&type=code&l=Markdown), [source 2](https://aws.amazon.com/bottlerocket/faqs/?nc=sn&loc=2)). SemVer primarily concerns itself with ["functionality" and "API changes"](https://semver.org/#summary).

Bottlerocket does follow SemVer as it relates to the API, but SemVer doesn't cover artifacts or platform compatibility (and in the Bottlerocket specific context this means _variants_). This leads to questions and lack of clarity as versions relate to variants. Can Bottlerocket add a new variant on a patch release? Can it _remove_ a variant without creating a new major version? Are variants even coupled to version numbers? None of these specific areas are covered by SemVer without stretching words into new meanings.

The Bottlerocket repo should have a document that defines the versioning behaviour as it relates to variants to clarify these concerns and give future release cycles a clear pathway.

**Any alternatives you've considered:**

Chaos.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.