Skip to content

Commit cf875c0

Browse files
committed
Update v1.12.0-beta.1 release notes
1 parent bd4c93d commit cf875c0

File tree

1 file changed

+0
-84
lines changed

1 file changed

+0
-84
lines changed

CHANGELOG/v1.12.0-beta.1.md

Lines changed: 0 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -87,90 +87,6 @@ _Nothing has changed._
8787
<summary>More details about the release</summary>
8888

8989
:warning: **BETA RELEASE NOTES** :warning:
90-
## 👌 Kubernetes version support
91-
92-
- Management Cluster: v1.30.x -> v1.33.x
93-
- Workload Cluster: v1.28.x -> v1.33.x
94-
95-
[More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html)
96-
97-
## Highlights
98-
99-
- Bumped to Go 1.24, controller-runtime v0.21, k8s.io/* v0.33, controller-gen v0.18 (also moved to `sigs.k8s.io/randfill`) (#12191)
100-
- v1beta2 API version has been introduced and considering the awesome amount of improvements it marks an important
101-
step in the journey towards graduating our API to v1.
102-
- Accordingly there is now a new v1beta2 version of our contract for providers.
103-
- Improve status:
104-
- The transition to the new K8s aligned conditions using `metav1.Conditions` types and the new condition semantic
105-
has been completed.
106-
- Replica counters are now consistent with new conditions and across all resources; new replica counters have been added at cluster level.
107-
- Semantic of contract fields in status have been improved and are now consistent across all resources.
108-
- The confusing `FailureReason` and `FailureMessage` fields have been dropped.
109-
- Support CC across namespaces: API changes planned for this feature have been implemented.
110-
- Improve object references:
111-
- Unnecessary fields have been dropped from object reference.
112-
- Object references are now GitOps friendly (API version is not overwritten anymore by controllers).
113-
- KubeadmConfig and KubeadmControlPlane APIs have been aligned with kubeadm v1beta4 API.
114-
- Additionally, fields inferred from top level objects have been removed, thus getting rid of a common source of confusion/issues.
115-
- Compliance with K8s API guidelines:
116-
- Thanks to the adoption of the [KAL linter](https://github.com/kubernetes-sigs/kube-api-linter) compliance with K8s API guidelines has been greatly improved.
117-
- All Duration fields are now represented as `*int32` fields with units being part of the field name.
118-
- All `bool` fields have been changed to `*bool` to preserve user intent.
119-
- Extensive work has been done to ensure `required` and `optional` is explicitly set in the API, and that
120-
both serialization and validation works accordingly:
121-
- Stop rendering empty structs (review of all occurrences of `omitempty` and introduction of `omitzero`)
122-
- Do not allow `""` when it is not semantically different from value not set (either you have to provide a non-empty string value or not set the field at all).
123-
- Do not allow `0` when it is not semantically different from value not set (either you have to provide a non-0 int value or not set the field at all).
124-
- Do not allow `{}` when it is not semantically different from value not set (either you have to set at least one property in the object or not set the field at all).
125-
- Do not allow `[]` when it is not semantically different from value not set (either you have to set at least one item in the list or not set the field at all).
126-
- Ensure validation for all enum types.
127-
- Missing list markers have been added for SSA.
128-
- Drop unnecessary pointers:
129-
- After fixing `required` and `optional` according to K8s API guidelines, extensive work has been done to
130-
drop unnecessary pointers thus improving the usability of the API's Go structs.
131-
- Avoid embedding structs: Coupling between API types has been reduced by reducing the usage of embedded structs.
132-
- Extensive work has been done to improve consistency across all resources, e.g.:
133-
- Fields for Machine deletion are under a new `deletion` struct in all resources.
134-
- Settings about `rollout` have been logically grouped in all resources.
135-
- Settings about health checks and `remediation` have been logically grouped in all resources.
136-
- Missing validations have been added where required.
137-
- Tech debt has been reduced by dropping deprecated fields.
138-
* ClusterClass: Fix continuous reconciles because of apiVersion differences in Cluster topology controller (#12341)
139-
* KCP/CABPK: Add CertificateValidityPeriod and CACertificateValidityPeriod to KubeadmConfig (#12335)
140-
* KCP: Fix timeout handling in GetAPIServerCertificateExpiry and DialContext (#12554)
141-
* Machine: fallback to InfraMachine providerID during deletion if Machine providerID is not set (#11985)
142-
* Runtime SDK:
143-
* Optimize size of Runtime Hook requests (#12462)
144-
* Add mTLS support to Runtime Extension server and client (#12517)
145-
* Improved e2e test coverage, e.g.:
146-
* additional checks that resourceVersion stays stable after tests and that conditions are healthy (#12546 #12111)
147-
* test coverage for scaling from/to 0 with CAPD & cluster-autoscaler (#12572)
148-
* New providers in clusterctl: Scaleway (#12357), cdk8s (#12332)
149-
150-
See [Cluster API v1.10 compared to v1.11](https://main.cluster-api.sigs.k8s.io/developer/providers/migrations/v1.10-to-v1.11) for more details
151-
152-
## Notes for workload cluster upgrade to Kubernetes v1.34 with KCP
153-
154-
* Context: Kubernetes/kubeadm <=> etcd compatibility:
155-
* kubeadm v1.33 only supports etcd v3.5 for Kubernetes v1.33
156-
* kubeadm v1.34 only supports etcd v3.6 for Kubernetes v1.34
157-
* The upgrade to etcd v3.6 requires etcd >= v3.5.20 (https://etcd.io/blog/2025/upgrade_from_3.5_to_3.6_issue/)
158-
* Accordingly, when upgrading from Kubernetes v1.33 to v1.34:
159-
* ensure etcd >= v3.5.20 is used with Kubernetes v1.33 before the upgrade
160-
* upgrade to Kubernetes v1.34 and etcd v3.6 at the same time
161-
162-
## Deprecation and Removals Warning
163-
164-
- Cluster: Remove deprecated index ByClusterClassName, ClusterByClusterClassClassName and ClusterClassNameField (#12269)
165-
- ClusterClass: Remove deprecated ClusterVariable.definitionFrom field (#12202)
166-
- ClusterClass: Remove deprecated Cluster.spec.topology.rolloutAfter field (#12268)
167-
- ClusterClass: Remove deprecated ClusterCacheTracker and corresponding types (#12270)
168-
- clusterctl: Remove deprecated `clusterctl alpha topology plan` command (#12283)
169-
- ClusterResourceSet: Remove deprecated ClusterResourceSetBinding.DeleteBinding method (#12267)
170-
- MachineDeployment: Removed deprecated revisionHistory (#12274)
171-
- MachineDeployment: Remove deprecated spec.progressDeadlineSeconds (#12232)
172-
- KCP/CABPK: Remove deprecated KubeadmConfig useExperimentalRetryJoin (#12234)
173-
- API: Deprecate v1alpha1 & v1beta1 API packages (#12254)
17490

17591
## Changes since v1.11.0
17692
## :chart_with_upwards_trend: Overview

0 commit comments

Comments
 (0)