Cluster API v1.12 compared to v1.13
This document provides an overview over relevant changes between Cluster API v1.12 and v1.13 for maintainers of providers and consumers of our Go API.
Any feedback or contributions to improve following documentation is welcome!
Go version
- The minimal Go version required to build Cluster API is v1.24.x
- The Go version used by Cluster API is v1.24.x
Dependencies
- The Controller Runtime version used by Cluster API is v0.22.x
- The version of the Kubernetes libraries used by Cluster API is v1.34.x
Implemented proposal
API Changes
Runtime hooks Changes
Cluster API Contract changes
- A new, optional rule has been added to the control plane contract, defining what is required for implementing support for taints.
Deprecation
Removals
- Remove deprecated
--enable-crd-storage-version-migrationflag forclusterctl upgradeand corresponding provider CRD storage version migration code - The deprecated
--disable-groupingflag forclusterctl describe clusterhas been removed. - The deprecated
ClusterCache.GetClientCertificatePrivateKeymethod has been removed. - The deprecated
--cluster-concurrencyCABPK command-line flag has been removed - Remove deprecated
util/topology.ShouldSkipImmutabilityChecks(useutil/topology.IsDryRunRequestinstead) - Removed deprecated
util/version.ParseMajorMinorPatch(usesemver.Parseinstead) - Removed deprecated
util/version.ParseMajorMinorPatchTolerant(usesemver.ParseTolerantinstead)
Suggested changes for providers
- If you are developing a control plane provider with support for machines, please consider adding
spec.machineTemplate.spec.taints(see contract) - Cluster API bumped the default values of
--kube-api-qps&--kube-api-burstto 100/200 in CAPI-13317. You might want to consider doing the same.
Removals scheduled for future releases
As documented in Suggested changes for providers, it is highly recommended to start planning for future removals:
- v1beta1 API version will be removed tentatively in August 2026
- Starting from the CAPI release when v1beta1 removal will happen (tentative Aug 2026), the Cluster API project
will remove the Cluster API condition type, the
util/conditions/deprecated/v1beta1package, theutil/deprecated/v1beta1package, the code handling old conditions inutil/patch.Helperand everything related to the custom Cluster API custom condition type. - All the
status.deprecatedfields will be removed tentatively in August 2026. - Compatibility support for the v1beta1 version of the Cluster API contract will be removed tentatively in August 2026