bottlerocket-os / bottlerocket-os/bottlerocket
Document Bottlerocket versioning as it relates to variants
- 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
Assessment
This issue has not been assessed yet.