summaryrefslogtreecommitdiff
path: root/sig-architecture/generics.md
diff options
context:
space:
mode:
Diffstat (limited to 'sig-architecture/generics.md')
-rw-r--r--sig-architecture/generics.md16
1 files changed, 9 insertions, 7 deletions
diff --git a/sig-architecture/generics.md b/sig-architecture/generics.md
index 059a65f2..f468bab2 100644
--- a/sig-architecture/generics.md
+++ b/sig-architecture/generics.md
@@ -1,9 +1,9 @@
# Background
-In general, Kubernetes has not restricted using new Go features, we've quickly
+In general, Kubernetes has not restricted using new Go features. We've quickly
adopted new standard library types and methods and will continue to do so.
-Generally the latest stable go release is in use on the main development branch.
+Generally the latest stable Go release is in use on the main development branch.
This includes all of the staging libraries (client-go etc.) that originate in the
main [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) repository.
@@ -14,19 +14,21 @@ Now that v1.24.0 is out, use of generics should be allowed.
# Generics Policy
-Generics may be used in Kubernetes starting in v1.25, with the following restrictions
-applying only until v1.24 is [out of support][version-support]:
+Generics may be used in Kubernetes starting in v1.24, with the following restrictions
+applying only until v1.23 is [out of support][version-support]:
- Generics should **not** be used in Kubernetes libraries used across multiple Kubernetes
-versions, that is the non "staged" libraries like:
+ versions, that is the non "staged" libraries like:
- [k8s.io/utils](https://github.com/kubernetes/utils)
- [sigs.k8s.io/yaml](https://github.com/kubernetes-sigs/yaml)
- [k8s.io/klog](https://github.com/kubernetes/klog)
- etc.
-- Generics should be **avoided** when writing Kubernetes bug fixes that are likely to be backported, to streamline cherry-picking to older release branches.
+- Generics should be **avoided** when writing Kubernetes bug fixes that are
+ likely to be backported to v1.23 or older, to streamline cherry-picking to
+ those release branches which predate Go 1.18.
-These restrictions should be considered lifted when v1.24 is out of support.
+These restrictions should be considered lifted when v1.23 is out of support.
## Recommendations for Reviewers