Skip to content

Commit 45f797b

Browse files
authored
Merge pull request #3264 from alvaroaleman/clarift
🌱 Clarify our versioning scheme
2 parents 98b5b22 + feb0d1e commit 45f797b

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ The full documentation can be found at [VERSIONING.md](VERSIONING.md), but TL;DR
2525

2626
Users:
2727

28-
- We follow [Semantic Versioning (semver)](https://semver.org)
29-
- Use releases with your dependency management to ensure that you get compatible code
30-
- The main branch contains all the latest code, some of which may break compatibility (so "normal" `go get` is not recommended)
28+
- We stick to a zero major version
29+
- We publish a minor version for each Kubernetes minor release and allow breaking changes between minor versions
30+
- We publish patch versions as needed and we don't allow breaking changes in them
3131

3232
Contributors:
3333

VERSIONING.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ For the purposes of the aforementioned guidelines, controller-runtime
77
counts as a "library project", but otherwise follows the guidelines
88
exactly.
99

10+
We stick to a major version of zero and create a minor version for
11+
each Kubernetes minor version and we allow breaking changes in our
12+
minor versions. We create patch releases as needed and don't allow
13+
breaking changes in them.
14+
15+
Publishing a non-zero major version is pointless for us, as the k8s.io/*
16+
libraries we heavily depend on do breaking changes but use the same
17+
versioning scheme as described above. Consequently, a project can only
18+
ever depend on one controller-runtime version.
19+
1020
[guidelines]: https://sigs.k8s.io/kubebuilder-release-tools/VERSIONING.md
1121

1222
## Compatibility and Release Support

0 commit comments

Comments
 (0)