Skip to content

Releases: kubernetes-sigs/cluster-api

v1.10.2

20 May 18:08
5255664

Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.33.x
  • Workload Cluster: v1.26.x -> v1.33.x

More information about version support can be found here

Changes since v1.10.1

📈 Overview

  • 10 new commits merged
  • 2 feature additions ✨
  • 3 bugs fixed 🐛

✨ New Features

  • Dependency: Complete bump to Kubernetes v1.33 (#12211)
  • Dependency: Update KUBEBUILDER_ENVTEST_KUBERNETES_VERSION (#12167)

🐛 Bug Fixes

  • Bootstrap: Relax minLength for bootstrap.dataSecretName to 0 (#12180)
  • ClusterClass: Fix pattern on Cluster classNamespace field (#12252)
  • Machine: fallback to InfraMachine providerID if Machine providerID is not set (#12209)

🌱 Others

  • Dependency: Bump cert-manager to v1.17.2 (#12217)
  • Dependency/Security: Bump modules to fix CVEs (#12176)
  • e2e: Add 1.33 kind image to mapper.go file (#12192)
  • e2e: Add an option to override custom node image name for kind cluster (#12239)

📖 Additionally, there has been 1 contribution to our documentation and book. (#12141)

Dependencies

Added

Nothing has changed.

Changed

  • golang.org/x/net: v0.37.0 → v0.38.0

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.9.8

20 May 18:08
955b30b

Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.32.x
  • Workload Cluster: v1.26.x -> v1.32.x

More information about version support can be found here

Changes since v1.9.7

📈 Overview

  • 4 new commits merged
  • 1 bug fixed 🐛

🐛 Bug Fixes

  • Bootstrap: Recreate bootstrap token if it was cleaned up (#12227)

🌱 Others

  • Dependency: Bump go for make/build to 1.23 to fix CVEs (#12175)
  • MachineDeployment: Add NamingStrategy to MachineDeployment (#12181)
  • Security/CI: Add CVEs to Trivy ignore file (#12184)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.10.1

29 Apr 17:24
647a1b7

Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.33.x
  • Workload Cluster: v1.26.x -> v1.33.x

More information about version support can be found here

Changes since v1.10.0

📈 Overview

  • 5 new commits merged
  • 1 feature addition ✨
  • 2 bugs fixed 🐛

✨ New Features

  • Testing: Bump Kubernetes in tests to v1.33.0 and claim support for v1.33 (#12105)

🐛 Bug Fixes

  • Bootstrap: Make joinConfiguration.discovery.bootstrapToken.token optional (#12136)

🌱 Others

  • Dependency: Bump cert-manager to v1.17.1 (#12127)

📖 Additionally, there has been 1 contribution to our documentation and book. (#12124)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.10.0

22 Apr 17:06
4eeaa57

Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.32.x
  • Workload Cluster: v1.26.x -> v1.32.x

More information about version support can be found here

Highlights

  • Bumped to controller-runtime v0.20, k8s.io/* v0.32, controller-gen v0.17
  • Features:
  • API: Added additional validation to our CRDs (#11834)
  • API: Various improvements to v1beta2 conditions
  • ClusterClass: Support referencing ClusterClasses across namespaces (#11352 #11395 #11649)
  • ClusterClass: Add NamingStrategy for InfraCluster (#11898)
  • Machine: Add MachineDrainRule behavior "WaitCompleted" (#11545)
  • Machine: Add --additional-sync-machine-labels flag to allow syncing additional labels to Nodes (#11650)
  • Machine: Sync Machine annotations to Nodes (#11813)
  • MachineSet/MachineDeployment: Add NamingStrategy to MachineDeployment (#11172)
  • MachineSet/KCP: Improve preflight checks (#11927 #11941 #11928)
  • CRD migration: Add CRD migrator (#11889 #11991)
  • Metrics: Add ClusterCache (#11789) and SSA cache (#11635) metrics
  • Merged CAPIM in CAPD (see From CAPD(docker) to CAPD(dev) for more details)
  • As usual, significantly improved e2e test framework & coverage (e.g. #11667 #11884 #11966 #9620 #11983)
  • New providers in clusterctl:
    • Addon providers: fleet (#11806)
    • Infrastructure providers: OpenNebula (#11835), Harvester (#11477), Huawei Cloud (#11861)

Notes for Cluster API upgrade

  • Please note that the failureDomain fields cannot be set to an empty string anymore, it should be not set instead.

Deprecation and Removals Warning

  • KCP/MachineSet: Removed deprecated flag for old infra machine naming (#11679)
  • MD/MS/MP/KCP: Deprecated status replica counters planned for removal (#11516)
  • MachineDeployment: Deprecated spec.progressDeadlineSeconds (#11472)
  • CRD migration: Deprecated clusterctl upgrade CRD storage version migration for providers (#11889)
  • ClusterResourceSet was promoted to GA, feature flag is now deprecated (#11741)

Changes since v1.9

📈 Overview

  • 303 new commits merged
  • 8 breaking changes ⚠️
  • 23 feature additions ✨
  • 33 bugs fixed 🐛

📝 Proposals

  • Community meeting: ✨ 🧑‍🤝‍🧑 add proposal for Node Bootstrapping working group (#11407)

⚠️ Breaking Changes

  • API: Add MaxItems markers to API fields (#11934)
  • API: Add MaxLength & MinLength markers (#11949)
  • API: Deprecate replica counters planned for removal (#11516)
  • ClusterResourceSet: Deprecate the ClusterResourceSet feature flag (#11741)
  • Dependency: Bump to controller-runtime v0.20 & controller-tools v0.17 (#11633)
  • MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11472)
  • CAPD/e2e/CAPIM: CAPD DevCluster and Machine (#11819)
  • KCP/MachineSet: Remove deprecated flag for old infra machine naming (#11679)

✨ New Features

  • CABPK: Add bootCommands to cloud-init file generation (#11271)
  • ClusterClass: Add Availability and ReadinessGates to ClusterClass (#11868)
  • ClusterClass: Add classNamespace to topology (#11352)
  • ClusterClass: Add e2e tests & clusterctl changes for cross-ns CC ref (#11395)
  • ClusterClass: Clusterctl move support for a cross namespace ClusterClass reference (#11649)
  • clusterctl: Add addon provider fleet to registry (#11806)
  • clusterctl: Add OpenNebula infrastructure provider to clusterctl (#11835)
  • clusterctl: Add support for clusterctl gitlab auth (#11792)
  • ClusterResourceSet: Integrate CRS code into regular code structure (#11943)
  • Controller-runtime: Add PriorityQueue feature gate (#11698)
  • e2e: Extend scale test and make ExtensionConfig name in RuntimeSDK test configurable (#11667)
  • e2e: Test n-3 clusterctl upgrade (#11884)
  • KCP: Add preflight check for pending version upgrade from topology (#11927)
  • Machine: Add MachineDrainRule "WaitCompleted" (#11545)
  • Machine: Sync machine annotations to nodes (#11813)
  • MachineSet: Add ControlPlaneVersionSkew MS preflight check & preflight check cmd line flag (#11941)
  • MachineSet: Extend ControlPlaneIsStable preflight check to check for a pending topology based ControlPlane version upgrade (#11928)
  • API/Documentation/ClusterResourceSet: Promote feature CRS to GA (#11365)
  • Runtime SDK/ClusterClass: Extend Cluster builtin to include metadata (#12021)
  • Runtime SDK: Extend cluster builtin to include classNamespace (#12051)
  • Runtime SDK/Topology: implement BeforeClusterUpgrade annotation hook (#11922)
  • Testing: Bump Kubernetes in tests to v1.32.0 and claim support for v1.32 (#11563)
  • util: Add CRD migrator, deprecate clusterctl upgrade CRD storage version migration (#11889)

🐛 Bug Fixes

  • Bootstrap: Recreate bootstrap token if it was cleaned up (#11520)
  • CABPK: Ensure kubeadm controller always sets all v1beta2 conditions (#11948)
  • CABPK: Make KubeadmConfig FileSystem.Label optional (#12023)
  • CAPD: Fix worker machine count in CAPD template (#12029)
  • CAPIM: Fix CAPD in-memory templates (#12016)
  • CAPIM: Fix periodic resync in in-memory provider (#11663)
  • CI/Kind: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11482)
  • Cluster: Modify calling agg cluster conditions (#11952)
  • Clustercache: Increase timeout for informer List+Watch calls from 10s to 11m (#11757)
  • Clustercache: Prevent concurrent map read/write when creating a cache (#11707)
  • ClusterClass: Don't allow concurrent patch upgrades (#11940)
  • ClusterClass: Ensure Cluster topology controller is not stuck when MDs are stuck in deletion (#11771)
  • ClusterClass: Export runtime.Client interface and cache package (#11611)
  • clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#12002)
  • clusterctl: Fix multiline Ready condition in clusterctl describe for v1beta2 (#11781)
  • clusterctl: send delete request before removing finalizers (#11814)
  • Conditions: Avoid redundant reconciles if only generation of Paused condition changed (#11972)
  • e2e: Properly display the namespace name in scale test (#11547)
  • e2e: Stop overwriting ExtraPortMappings if WithDockerSockMount option is used (#12022)
  • Machine: Sort list of pre-drain hooks for stable condition messages (#11624)
  • Machine: Use correct APIVersion for KCP related exclude (#11490)
  • MachineDeployment: Remove disableMachineCreate annotation from new machinesets during rolling machine deployment reconciliation (#11415)
  • MachineHealthCheck/MHC: fix flaky test (#11471)
  • MachinePool: Check machinepool feature-flag before watching in cluster controller (#11776)
  • API/ClusterClass: Fix MaxLength of worker topology Name fields (#12084)
  • Release: Fix broken links in release team handbooks (#11652)
  • Release: Use release branch for v1.10 alpha and beta releases (#11979)
  • Testing: Default to topology flavor in NodeDrainTimeoutSpec (#11727)
  • Testing: Fix flake TestMachineSetReconciler test (#11728)
  • Testing: Fix flaky TestExtensionReconciler_Reconcile test (#11903)
  • Testing: Fix MDR unit test (#11874)
  • util: Also patch external refs if the UID differs (#11688)
  • util/CRD migration: Fix cases where update validation fails (#12001)

🌱 Others

  • API: Add KAL linter for linting API conventions (#11733)
  • API: Enable integers lint of KAL (#11887)
  • API: Enable maxlength linter (#11906)
  • API: Enable nobools linter (#11911)
  • API: Enable nofloats linter (#11910)
  • API: Enable optionalorrequired linter (#11909)
  • API: Enable requiredfields linter (#11908)
  • API: Enable statussubresource linter (#11907)
  • CAPD: Add v1beta2 conditions to DevMachine and DevCluster with Docker backend (#11923)
  • CAPD: Add v1beta2 conditions to DevMachines with InMemory backend (#11901)
  • CAPD: Disable image garbage collection in kubelet to align with kind (#11904)
  • CAPIM/Inmemory: fix watch to continue serving based on resourceVersion parameter (#11695)
  • CI: Bump md-link check to 1.0.17 (#12077)
  • CI: Bump E2E to Kubernetes v1.33.0-rc.1 (#12103)
  • CI: Bump github-action-markdown-link-check to 1.0.15 (#11594)
  • CI: Default building kind node-images depending on KIND_BUILD_IMAGES env variable instead of ginkgo magic regexes (#11784)
  • CI: Drop 1.0->current upgrade test (#11755)
  • CI: Enable the conditions rule from KAL (#11847)
  • CI/GITHUB: downgrade gh-release action (#11588)
  • CI/Github: update branches for weekly actions (#11578)
  • CI/Govulncheck: bump to v1.1.4 (#11713)
  • CI/Scripts: fix checking out k/k release branch (#11836)
  • CI: Set base branch for release-1.10 markdown link checks (#11994)
  • CI: Update golangci-lint to v1.63.4 (#11740)
  • Cluster: Improve waiting for CP / InfraCluster deletion logs (#11823)
  • Cluster: Reconcile topology only when necessary (#11605)
  • Cluster: Validate that infrastructureRef and controlPlaneRef cannot be unset (#11969)
  • Clustercache: Add clustercache metrics (#11789)
  • Clustercache: Do not use RequeueAfter when hitting ErrClusterNotConnected (#11736)
  • ClusterClass: Add Namingstrategy to InfraCluster (#11898)
  • ClusterClass: Consider IsProvisioning to determine if ControlPlane is stable (#11939)
  • ClusterClass: Deprecate old ClusterClass index (#11744)
  • ClusterClass: Improve webhook output to include the names of the clusters blocking a deletion (#12062)
  • ClusterClass/Topology: fix godoc for LocalObjectTemplatesAreCompatible (#11732)
  • clusterctl: Add Infrastructure provider Harvester (#11477)
  • clusterctl: Add support infrastructure provider for Huawei Cloud (#11861)
  • clusterctl: Bump cert-manager to v1.16.3 (#11699)
    -...
Read more

v1.9.7

22 Apr 17:06
da813c3

Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.32.x
  • Workload Cluster: v1.26.x -> v1.32.x

Changes since v1.9.6

📈 Overview

  • 8 new commits merged
  • 2 feature additions ✨
  • 1 bug fixed 🐛

✨ New Features

  • Machine: Sync machine annotations to nodes (#11980)

🐛 Bug Fixes

  • clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#12003)

🌱 Others

  • CI: Github: bump md-link check to 1.0.17 (#12078)
  • Devtools: Disable TLS verification for Podman pushes inside of Tilt (#12008)
  • e2e: Ensure to always preload kindnetd to not hit ImagePullBackoff (#11995)
  • KCP: Bump corefile-migration library to v1.0.26 (#12063)

📖 Additionally, there has been 1 contribution to our documentation and book. (#12090)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.8.12

22 Apr 17:05
a3fa8bf

Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.27.x -> v1.31.x
  • Workload Cluster: v1.25.x -> v1.31.x

More information about version support can be found here

Changes since v1.8.11

📈 Overview

  • 4 new commits merged
  • 1 bug fixed 🐛

🐛 Bug Fixes

  • clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#12005)

🌱 Others

  • CI/Github: bump md-link check to 1.0.17 (#12079)
  • e2e: Ensure to always preload kindnetd to not hit ImagePullBackoff (#11996)
  • KCP: Bump corefile-migration library to v1.0.26 (#12064)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.10.0-rc.1

15 Apr 16:56
5f91df6

Choose a tag to compare

v1.10.0-rc.1 Pre-release
Pre-release

🚨 This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an issue.

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.32.x
  • Workload Cluster: v1.26.x -> v1.32.x

Highlights

  • Bumped to controller-runtime v0.20, k8s.io/* v0.32, controller-gen v0.17
  • Features:
  • API: Added additional validation to our CRDs (#11834)
  • API: Various improvements to v1beta2 conditions
  • ClusterClass: Support referencing ClusterClasses across namespaces (#11352 #11395 #11649)
  • ClusterClass: Add NamingStrategy for InfraCluster (#11898)
  • Machine: Add MachineDrainRule behavior "WaitCompleted" (#11545)
  • Machine: Add --additional-sync-machine-labels flag to allow syncing additional labels to Nodes (#11650)
  • Machine: Sync Machine annotations to Nodes (#11813)
  • MachineSet/MachineDeployment: Add NamingStrategy to MachineDeployment (#11172)
  • MachineSet/KCP: Improve preflight checks (#11927 #11941 #11928)
  • CRD migration: Add CRD migrator (#11889 #11991)
  • Metrics: Add ClusterCache (#11789) and SSA cache (#11635) metrics
  • Merged CAPIM in CAPD (see From CAPD(docker) to CAPD(dev) for more details)
  • As usual, significantly improved e2e test framework & coverage (e.g. #11667 #11884 #11966 #9620 #11983)
  • New providers in clusterctl:
    • Addon providers: fleet (#11806)
    • Infrastructure providers: OpenNebula (#11835), Harvester (#11477), Huawei Cloud (#11861)

Deprecation and Removals Warning

  • KCP/MachineSet: Removed deprecated flag for old infra machine naming (#11679)
  • MD/MS/MP/KCP: Deprecated status replica counters planned for removal (#11516)
  • MachineDeployment: Deprecated spec.progressDeadlineSeconds (#11472)
  • CRD migration: Deprecated clusterctl upgrade CRD storage version migration for providers (#11889)
  • ClusterResourceSet was promoted to GA, feature flag is now deprecated (#11741)

Changes since v1.10.0-rc.0

📈 Overview

  • 4 new commits merged
  • 1 bug fixed 🐛

🐛 Bug Fixes

  • API/ClusterClass: Fix MaxLength of worker topology Name fields (#12084)

🌱 Others

  • CI: bump md-link check to 1.0.17 (#12077)
  • e2e: Bump Kubernetes version used for testing to v1.33.0-rc.0 (#12076)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

More details about the release

⚠️ RELEASE CANDIDATE NOTES ⚠️

Changes since v1.9.0

📈 Overview

  • 302 new commits merged
  • 8 breaking changes ⚠️
  • 23 feature additions ✨
  • 33 bugs fixed 🐛

📝 Proposals

  • Community meeting: ✨ 🧑‍🤝‍🧑 add proposal for Node Bootstrapping working group (#11407)

⚠️ Breaking Changes

  • API: Add MaxItems markers to API fields (#11934)
  • API: Add MaxLength & MinLength markers (#11949)
  • API: Deprecate replica counters planned for removal (#11516)
  • ClusterResourceSet: Deprecate the ClusterResourceSet feature flag (#11741)
  • Dependency: Bump to controller-runtime v0.20 & controller-tools v0.17 (#11633)
  • MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11472)
  • CAPD/e2e/CAPIM: CAPD DevCluster and Machine (#11819)
  • KCP/MachineSet: Remove deprecated flag for old infra machine naming (#11679)

✨ New Features

  • CABPK: Add bootCommands to cloud-init file generation (#11271)
  • ClusterClass: Add Availability and ReadinessGates to ClusterClass (#11868)
  • ClusterClass: Add classNamespace to topology (#11352)
  • ClusterClass: Add e2e tests & clusterctl changes for cross-ns CC ref (#11395)
  • ClusterClass: Clusterctl move support for a cross namespace ClusterClass reference (#11649)
  • clusterctl: Add addon provider fleet to registry (#11806)
  • clusterctl: Add OpenNebula infrastructure provider to clusterctl (#11835)
  • clusterctl: Add support for clusterctl gitlab auth (#11792)
  • ClusterResourceSet: Integrate CRS code into regular code structure (#11943)
  • Controller-runtime: Add PriorityQueue feature gate (#11698)
  • e2e: Extend scale test and make ExtensionConfig name in RuntimeSDK test configurable (#11667)
  • e2e: Test n-3 clusterctl upgrade (#11884)
  • KCP: Add preflight check for pending version upgrade from topology (#11927)
  • Machine: Add MachineDrainRule "WaitCompleted" (#11545)
  • Machine: Sync machine annotations to nodes (#11813)
  • MachineSet: Add ControlPlaneVersionSkew MS preflight check & preflight check cmd line flag (#11941)
  • MachineSet: Extend ControlPlaneIsStable preflight check to check for a pending topology based ControlPlane version upgrade (#11928)
  • API/Documentation/ClusterResourceSet: Promote feature CRS to GA (#11365)
  • Runtime SDK/ClusterClass: Extend Cluster builtin to include metadata (#12021)
  • Runtime SDK: Extend cluster builtin to include classNamespace (#12051)
  • Runtime SDK: implement BeforeClusterUpgrade annotation hook (#11922)
  • Testing: Bump Kubernetes in tests to v1.32.0 and claim support for v1.32 (#11563)
  • util: Add CRD migrator, deprecate clusterctl upgrade CRD storage version migration (#11889)

🐛 Bug Fixes

  • Bootstrap: Recreate bootstrap token if it was cleaned up (#11520)
  • CABPK: Ensure kubeadm controller always sets all v1beta2 conditions (#11948)
  • CABPK: Make KubeadmConfig FileSystem.Label optional (#12023)
  • CAPD: Fix worker machine count in CAPD template (#12029)
  • CAPIM: Fix CAPD in-memory templates (#12016)
  • CAPIM: Fix periodic resync in in-memory provider (#11663)
  • CI: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11482)
  • Cluster: Modify calling agg cluster conditions (#11952)
  • Clustercache: Increase timeout for informer List+Watch calls from 10s to 11m (#11757)
  • Clustercache: Prevent concurrent map read/write when creating a cache (#11707)
  • ClusterClass: Don't allow concurrent patch upgrades (#11940)
  • ClusterClass: Ensure Cluster topology controller is not stuck when MDs are stuck in deletion (#11771)
  • ClusterClass: Export runtime.Client interface and cache package (#11611)
  • clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#12002)
  • clusterctl: Fix multiline Ready condition in clusterctl describe for v1beta2 (#11781)
  • clusterctl: send delete request before removing finalizers (#11814)
  • Conditions: Avoid redundant reconciles if only generation of Paused condition changed (#11972)
  • e2e: Properly display the namespace name in scale test (#11547)
  • e2e: Stop overwriting ExtraPortMappings if WithDockerSockMount option is used (#12022)
  • Machine: Sort list of pre-drain hooks for stable condition messages (#11624)
  • Machine: Use correct APIVersion for KCP related exclude (#11490)
  • MachineDeployment: Remove disableMachineCreate annotation from new machinesets during rolling machine deployment reconciliation (#11415)
  • MachineHealthCheck: fix flaky test (#11471)
  • MachinePool: Check machinepool feature-flag before watching in cluster controller (#11776)
  • API/ClusterClass: Fix MaxLength of worker topology Name fields (#12084)
  • Release: Fix broken links in release team handbooks (#11652)
  • Release: Use release branch for v1.10 alpha and beta releases (#11979)
  • Testing: Default to topology flavor in NodeDrainTimeoutSpec (#11727)
  • Testing: Fix flake TestMachineSetReconciler test (#11728)
  • Testing: Fix flaky TestExtensionReconciler_Reconcile test (#11903)
  • Testing: Fix MDR unit test (#11874)
  • util: Also patch external refs if the UID differs (#11688)
  • util: Fix cases where update validation fails (#12001)

🌱 Others

  • API: Add KAL linter for linting API conventions (#11733)
  • API: Enable integers lint of KAL (#11887)
  • API: Enable maxlength linter (#11906)
  • API: Enable nobools linter (#11911)
  • API: Enable nofloats linter (#11910)
  • API: Enable optionalorrequired linter (#11909)
  • API: Enable requiredfields linter (#11908)
  • API: Enable statussubresource linter (#11907)
  • CAPD: Add v1beta2 conditions to DevMachine and DevCluster with Docker backend (#11923)
  • CAPD: Add v1beta2 conditions to DevMachines with InMemory backend (#11901)
  • CAPD: Disable image garbage collection in kubelet to align with kind (#11904)
  • CAPIM: fix watch to continue serving based on resourceVersion parameter (#11695)
  • CI: bump md-link check to 1.0.17 (#12077)
  • CI: Bump github-action-markdown-link-check to 1.0.15 (#11594)
  • CI: Default building kind node-images depending on KIND_BUILD_IMAGES env variable instead of ginkgo magic regexes (#11784)
  • CI: Drop 1.0->current upgrade test (#11755)
  • CI: Enable the conditions rule from KAL (#11847)
  • CI: downgrade gh-release action (#11588)
  • CI: update branches for weekly actions (#11578)
  • CI: bump to v1.1.4 (#11713)
  • CI: fix checking out k/k release branch (#11836)
  • CI: Set base branch for release-1.10 markdown link checks (#11994)
  • CI: Update golangci-lint to v1.63.4 (#11740)
  • Cluster: Improve waiting for CP / InfraCluster deletion logs (#11823)
  • Cluster: Reconcile topology only when necessary (#11605)
  • Cluster: Validate that infrastructureRef and controlPlaneRef cannot be unset (#11969)
  • Clustercache: Add clustercache metrics (#11789)
  • Clustercache: Do not use RequeueAfter when hitting ErrClusterNotConnected (#11736)
  • ClusterClass: Add Namingstrategy to InfraCluster (#11898)
  • ClusterClass: Consider IsProvisioning to determine if ControlPlane is stable (#11939)
  • ClusterClass: Deprecate old ClusterClass index (#11744)
  • ClusterClass...
Read more

v1.10.0-rc.0

08 Apr 17:00
e7a751f

Choose a tag to compare

v1.10.0-rc.0 Pre-release
Pre-release

🚨 This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an issue.

Highlights

  • Bumped to controller-runtime v0.20, k8s.io/* v0.32, controller-gen v0.17
  • Features:
  • API: Added additional validation to our CRDs (#11834)
  • API: Various improvements to v1beta2 conditions
  • ClusterClass: Support referencing ClusterClasses across namespaces (#11352 #11395 #11649)
  • ClusterClass: Add NamingStrategy for InfraCluster (#11898)
  • Machine: Add MachineDrainRule behavior "WaitCompleted" (#11545)
  • Machine: Add --additional-sync-machine-labels flag to allow syncing additional labels to Nodes (#11650)
  • Machine: Sync Machine annotations to Nodes (#11813)
  • MachineSet/MachineDeployment: Add NamingStrategy to MachineDeployment (#11172)
  • MachineSet/KCP: Improve preflight checks (#11927 #11941 #11928)
  • CRD migration: Add CRD migrator (#11889 #11991)
  • Metrics: Add ClusterCache (#11789) and SSA cache (#11635) metrics
  • Merged CAPIM in CAPD (see From CAPD(docker) to CAPD(dev) for more details)
  • As usual, significantly improved e2e test framework & coverage (e.g. #11667 #11884 #11966 #9620 #11983)
  • New providers in clusterctl:
    • Addon providers: fleet (#11806)
    • Infrastructure providers: OpenNebula (#11835), Harvester (#11477), Huawei Cloud (#11861)

Deprecation and Removals Warning

  • KCP/MachineSet: Removed deprecated flag for old infra machine naming (#11679)
  • MD/MS/MP/KCP: Deprecated status replica counters planned for removal (#11516)
  • MachineDeployment: Deprecated spec.progressDeadlineSeconds (#11472)
  • CRD migration: Deprecated clusterctl upgrade CRD storage version migration for providers (#11889)
  • ClusterResourceSet was promoted to GA, feature flag is now deprecated (#11741)

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.32.x
  • Workload Cluster: v1.26.x -> v1.32.x

Changes since v1.10.0-beta.1

📈 Overview

  • 7 new commits merged
  • 1 feature addition ✨

✨ New Features

  • Runtime SDK: Extend cluster builtin to include classNamespace (#12051)

🌱 Others

  • ClusterClass: Improve webhook output to include the names of the clusters blocking a deletion (#12062)
  • Dependency: Bump go to v1.23.8 (#12053)
  • Devtools: use v1beta2 for condition metrics and add metrics for dockercluster devcluster dockermachine devmachine extensionconfig ipaddressclaim and crs (#12041)
  • KCP: Bump corefile-migration library to v1.0.26 (#12061)
  • KCP: Fix typo in forward etcd leadership error message (#12059)
  • Release: Use github.base_ref in markdown-link-check (#12039)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

More details about the release

⚠️ RELEASE CANDIDATE NOTES ⚠️

Changes since v1.9.0

📈 Overview

  • 298 new commits merged
  • 8 breaking changes ⚠️
  • 23 feature additions ✨
  • 32 bugs fixed 🐛

📝 Proposals

  • Community meeting: ✨ 🧑‍🤝‍🧑 add proposal for Node Bootstrapping working group (#11407)

⚠️ Breaking Changes

  • API: Add MaxItems markers to API fields (#11934)
  • API: Add MaxLength & MinLength markers (#11949)
  • API: Deprecate replica counters planned for removal (#11516)
  • ClusterResourceSet: Deprecate the ClusterResourceSet feature flag (#11741)
  • Dependency: Bump to controller-runtime v0.20 & controller-tools v0.17 (#11633)
  • MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11472)
  • CAPD/e2e/CAPIM: CAPD DevCluster and Machine (#11819)
  • KCP/MachineSet: Remove deprecated flag for old infra machine naming (#11679)

✨ New Features

  • CABPK: Add bootCommands to cloud-init file generation (#11271)
  • ClusterClass: Add Availability and ReadinessGates to ClusterClass (#11868)
  • ClusterClass: Add classNamespace to topology (#11352)
  • ClusterClass: Add e2e tests & clusterctl changes for cross-ns CC ref (#11395)
  • ClusterClass: Clusterctl move support for a cross namespace ClusterClass reference (#11649)
  • clusterctl: Add addon provider fleet to registry (#11806)
  • clusterctl: Add OpenNebula infrastructure provider to clusterctl (#11835)
  • clusterctl: Add support for clusterctl gitlab auth (#11792)
  • ClusterResourceSet: Integrate CRS code into regular code structure (#11943)
  • Controller-runtime: Add PriorityQueue feature gate (#11698)
  • e2e: Extend scale test and make ExtensionConfig name in RuntimeSDK test configurable (#11667)
  • e2e: Test n-3 clusterctl upgrade (#11884)
  • KCP: Add preflight check for pending version upgrade from topology (#11927)
  • Machine: Add MachineDrainRule "WaitCompleted" (#11545)
  • Machine: Sync machine annotations to nodes (#11813)
  • MachineSet: Add ControlPlaneVersionSkew MS preflight check & preflight check cmd line flag (#11941)
  • MachineSet: Extend ControlPlaneIsStable preflight check to check for a pending topology based ControlPlane version upgrade (#11928)
  • API/Documentation/ClusterResourceSet: Promote feature CRS to GA (#11365)
  • Runtime SDK/ClusterClass: Extend Cluster builtin to include metadata (#12021)
  • Runtime SDK: Extend cluster builtin to include classNamespace (#12051)
  • Runtime SDK: implement BeforeClusterUpgrade annotation hook (#11922)
  • Testing: Bump Kubernetes in tests to v1.32.0 and claim support for v1.32 (#11563)
  • util: Add CRD migrator, deprecate clusterctl upgrade CRD storage version migration (#11889)

🐛 Bug Fixes

  • Bootstrap: Recreate bootstrap token if it was cleaned up (#11520)
  • CABPK: Ensure kubeadm controller always sets all v1beta2 conditions (#11948)
  • CABPK: Make KubeadmConfig FileSystem.Label optional (#12023)
  • CAPD: Fix worker machine count in CAPD template (#12029)
  • CAPIM: Fix CAPD in-memory templates (#12016)
  • CAPIM: Fix periodic resync in in-memory provider (#11663)
  • CI: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11482)
  • Cluster: Modify calling agg cluster conditions (#11952)
  • Clustercache: Increase timeout for informer List+Watch calls from 10s to 11m (#11757)
  • Clustercache: Prevent concurrent map read/write when creating a cache (#11707)
  • ClusterClass: Don't allow concurrent patch upgrades (#11940)
  • ClusterClass: Ensure Cluster topology controller is not stuck when MDs are stuck in deletion (#11771)
  • ClusterClass: Export runtime.Client interface and cache package (#11611)
  • clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#12002)
  • clusterctl: Fix multiline Ready condition in clusterctl describe for v1beta2 (#11781)
  • clusterctl: send delete request before removing finalizers (#11814)
  • Conditions: Avoid redundant reconciles if only generation of Paused condition changed (#11972)
  • e2e: Properly display the namespace name in scale test (#11547)
  • e2e: Stop overwriting ExtraPortMappings if WithDockerSockMount option is used (#12022)
  • Machine: Sort list of pre-drain hooks for stable condition messages (#11624)
  • Machine: Use correct APIVersion for KCP related exclude (#11490)
  • MachineDeployment: Remove disableMachineCreate annotation from new machinesets during rolling machine deployment reconciliation (#11415)
  • MachineHealthCheck: fix flaky test (#11471)
  • MachinePool: Check machinepool feature-flag before watching in cluster controller (#11776)
  • Release: Fix broken links in release team handbooks (#11652)
  • Release: Use release branch for v1.10 alpha and beta releases (#11979)
  • Testing: Default to topology flavor in NodeDrainTimeoutSpec (#11727)
  • Testing: Fix flake TestMachineSetReconciler test (#11728)
  • Testing: Fix flaky TestExtensionReconciler_Reconcile test (#11903)
  • Testing: Fix MDR unit test (#11874)
  • util: Also patch external refs if the UID differs (#11688)
  • util: Fix cases where update validation fails (#12001)

🌱 Others

  • API: Add KAL linter for linting API conventions (#11733)
  • API: Enable integers lint of KAL (#11887)
  • API: Enable maxlength linter (#11906)
  • API: Enable nobools linter (#11911)
  • API: Enable nofloats linter (#11910)
  • API: Enable optionalorrequired linter (#11909)
  • API: Enable requiredfields linter (#11908)
  • API: Enable statussubresource linter (#11907)
  • CAPD: Add v1beta2 conditions to DevMachine and DevCluster with Docker backend (#11923)
  • CAPD: Add v1beta2 conditions to DevMachines with InMemory backend (#11901)
  • CAPD: Disable image garbage collection in kubelet to align with kind (#11904)
  • CAPIM: fix watch to continue serving based on resourceVersion parameter (#11695)
  • CI: Bump github-action-markdown-link-check to 1.0.15 (#11594)
  • CI: Default building kind node-images depending on KIND_BUILD_IMAGES env variable instead of ginkgo magic regexes (#11784)
  • CI: Drop 1.0->current upgrade test (#11755)
  • CI: Enable the conditions rule from KAL (#11847)
  • CI: downgrade gh-release action (#11588)
  • CI: update branches for weekly actions (#11578)
  • CI: bump to v1.1.4 (#11713)
  • CI: fix checking out k/k release branch (#11836)
  • CI: Set base branch for release-1.10 markdown link checks (#11994)
  • CI: Update golangci-lint to v1.63.4 (#11740)
  • Cluster: Improve waiting for CP / InfraCluster deletion logs (#11823)
  • Cluster: Reconcile topology only when necessary (#11605)
  • Cluster: Validate that infrastructureRef and controlPl...
Read more

v1.10.0-beta.1

25 Mar 19:36
15d7e48

Choose a tag to compare

v1.10.0-beta.1 Pre-release
Pre-release

🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, file an issue.

⚠️ BETA RELEASE NOTES ⚠️

Highlights

  • Bumped to controller-runtime v0.20, k8s.io/* v0.32, controller-gen v0.17
  • Features:
  • API: Added additional validation to our CRDs (#11834)
  • API: Various improvements to v1beta2 conditions
  • ClusterClass: Support referencing ClusterClasses across namespaces (#11352 #11395 #11649)
  • ClusterClass: Add NamingStrategy for InfraCluster (#11898)
  • Machine: Add MachineDrainRule behavior "WaitCompleted" (#11545)
  • Machine: Add --additional-sync-machine-labels flag to allow syncing additional labels to Nodes (#11650)
  • Machine: Sync Machine annotations to Nodes (#11813)
  • MachineSet/MachineDeployment: Add NamingStrategy to MachineDeployment (#11172)
  • MachineSet/KCP: Improve preflight checks (#11927 #11941 #11928)
  • CRD migration: Add CRD migrator (#11889 #11991)
  • Metrics: Add ClusterCache (#11789) and SSA cache (#11635) metrics
  • Merged CAPIM in CAPD (see From CAPD(docker) to CAPD(dev) for more details)
  • As usual, significantly improved e2e test framework & coverage (e.g. #11667 #11884 #11966 #9620 #11983)
  • New providers in clusterctl:
    • Addon providers: fleet (#11806)
    • Infrastructure providers: OpenNebula (#11835), Harvester (#11477), Huawei Cloud (#11861)

Deprecation and Removals Warning

  • KCP/MachineSet: Removed deprecated flag for old infra machine naming (#11679)
  • MD/MS/MP/KCP: Deprecated status replica counters planned for removal (#11516)
  • MachineDeployment: Deprecated spec.progressDeadlineSeconds (#11472)
  • CRD migration: Deprecated clusterctl upgrade CRD storage version migration for providers (#11889)
  • ClusterResourceSet was promoted to GA, feature flag is now deprecated (#11741)

Changes since v1.10.0-beta.0

📈 Overview

  • 14 new commits merged
  • 1 feature addition ✨
  • 6 bugs fixed 🐛

✨ New Features

  • Runtime SDK/ClusterClass: Extend Cluster builtin to include metadata (#12021)

🐛 Bug Fixes

  • CABPK: Make KubeadmConfig FileSystem.Label optional (#12023)
  • CAPD: Fix worker machine count in CAPD template (#12029)
  • CAPIM: Fix CAPD in-memory templates (#12016)
  • clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#12002)
  • e2e: Stop overwriting ExtraPortMappings if WithDockerSockMount option is used (#12022)
  • util: CRD migration: Fix cases where update validation fails (#12001)

🌱 Others

  • CI: set base branch for release-1.10 markdown link checks (#11994)

📖 Additionally, there has been 1 contribution to our documentation and book. (#11999)

Dependencies

Added

Nothing has changed.

Changed

  • github.com/onsi/ginkgo/v2: v2.23.0 → v2.23.3
  • github.com/onsi/gomega: v1.36.2 → v1.36.3
  • go.etcd.io/etcd/api/v3: v3.5.19 → v3.5.20
  • go.etcd.io/etcd/client/pkg/v3: v3.5.19 → v3.5.20
  • go.etcd.io/etcd/client/v3: v3.5.19 → v3.5.20
  • google.golang.org/protobuf: v1.36.1 → v1.36.5
  • sigs.k8s.io/controller-runtime: v0.20.3 → v0.20.4

Removed

Nothing has changed.

More details about the release

Changes since v1.9.0

📈 Overview

  • 295 new commits merged
  • 8 breaking changes ⚠️
  • 22 feature additions ✨
  • 32 bugs fixed 🐛

📝 Proposals

  • Community meeting: ✨ 🧑‍🤝‍🧑 add proposal for Node Bootstrapping working group (#11407)

⚠️ Breaking Changes

  • API: Add MaxItems markers to API fields (#11934)
  • API: Add MaxLength & MinLength markers (#11949)
  • API: Deprecate replica counters planned for removal (#11516)
  • ClusterResourceSet: Deprecate the ClusterResourceSet feature flag (#11741)
  • Dependency: Bump to controller-runtime v0.20 & controller-tools v0.17 (#11633)
  • MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11472)
  • CAPD/e2e/CAPIM: CAPD DevCluster and Machine (#11819)
  • KCP/MachineSet: Remove deprecated flag for old infra machine naming (#11679)

✨ New Features

  • CABPK: Add bootCommands to cloud-idit file generation (#11271)
  • ClusterClass: Add Availability and ReadinessGates to ClusterClass (#11868)
  • ClusterClass: Add classNamespace to topology (#11352)
  • ClusterClass: Add e2e tests & clusterctl changes for cross-ns CC ref (#11395)
  • ClusterClass: Clusterctl move support for a cross namespace ClusterClass reference (#11649)
  • clusterctl: Add addon provider fleet to registry (#11806)
  • clusterctl: Add OpenNebula infrastructure provider to clusterctl (#11835)
  • clusterctl: Add support for clusterctl gitlab auth (#11792)
  • ClusterResourceSet: Integrate CRS code into regular code structure (#11943)
  • Controller-runtime: Add PriorityQueue feature gate (#11698)
  • e2e: Extend scale test and make ExtensionConfig name in RuntimeSDK test configurable (#11667)
  • e2e: Test n-3 clusterctl upgrade (#11884)
  • KCP: Add preflight check for pending version upgrade from topology (#11927)
  • Machine: Add MachineDrainRule "WaitCompleted" (#11545)
  • Machine: Sync machine annotations to nodes (#11813)
  • MachineSet: Add ControlPlaneVersionSkew MS preflight check & preflight check cmd line flag (#11941)
  • MachineSet: Extend ControlPlaneIsStable preflight check to check for a pending topology based ControlPlane version upgrade (#11928)
  • API/Documentation/ClusterResourceSet: Promote feature CRS to GA (#11365)
  • Runtime SDK/ClusterClass: Extend Cluster builtin to include metadata (#12014)
  • Runtime SDK/Topology: implement BeforeClusterUpgrade annotation hook (#11922)
  • Testing: Bump Kubernetes in tests to v1.32.0 and claim support for v1.32 (#11563)
  • util: Add CRD migrator, deprecate clusterctl upgrade CRD storage version migration (#11889)

🐛 Bug Fixes

  • Bootstrap: Recreate bootstrap token if it was cleaned up (#11520)
  • CABPK: Ensure kubeadm controller always sets all v1beta2 conditions (#11948)
  • CABPK: Make KubeadmConfig FileSystem.Label optional (#12019)
  • CAPD: Fix worker machine count in CAPD template (#12028)
  • CAPIM: Fix CAPD in-memory templates (#12013)
  • CAPIM: Fix periodic resync in in-memory provider (#11663)
  • CI: downgrade Kind binary to v0.24.0 to fix building node images for <= v1.30 (#11482)
  • Cluster: Modify calling agg cluster conditions (#11952)
  • Clustercache: Increase timeout for informer List+Watch calls from 10s to 11m (#11757)
  • Clustercache: Prevent concurrent map read/write when creating a cache (#11707)
  • ClusterClass: Don't allow concurrent patch upgrades (#11940)
  • ClusterClass: Ensure Cluster topology controller is not stuck when MDs are stuck in deletion (#11771)
  • ClusterClass: Export runtime.Client interface and cache package (#11611)
  • clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#11984)
  • clusterctl: Fix multiline Ready condition in clusterctl describe for v1beta2 (#11781)
  • clusterctl: send delete request before removing finalizers (#11814)
  • Conditions: Avoid redundant reconciles if only generation of Paused condition changed (#11972)
  • e2e: Properly display the namespace name in scale test (#11547)
  • e2e: Stop overwriting ExtraPortMappings if WithDockerSockMount option is used (#12012)
  • Machine: Sort list of pre-drain hooks for stable condition messages (#11624)
  • Machine: Use correct APIVersion for KCP related exclude (#11490)
  • MachineDeployment: Remove disableMachineCreate annotation from new machinesets during rolling machine deployment reconciliation (#11415)
  • MachineHealthCheck: fix flaky test (#11471)
  • MachinePool: Check machinepool feature-flag before watching in cluster controller (#11776)
  • Release: Fix broken links in release team handbooks (#11652)
  • Release: Use release branch for v1.10 alpha and beta releases (#11979)
  • Testing: Default to topology flavor in NodeDrainTimeoutSpec (#11727)
  • Testing: Fix flake TestMachineSetReconciler test (#11728)
  • Testing: Fix flaky TestExtensionReconciler_Reconcile test (#11903)
  • Testing: Fix MDR unit test (#11874)
  • util: Also patch external refs if the UID differs (#11688)
  • CRD migration: Fix cases where update validation fails (#11991)

🌱 Others

  • API: Add KAL linter for linting API conventions (#11733)
  • API: Enable integers lint of KAL (#11887)
  • API: Enable maxlength linter (#11906)
  • API: Enable nobools linter (#11911)
  • API: Enable nofloats linter (#11910)
  • API: Enable optionalorrequired linter (#11909)
  • API: Enable requiredfields linter (#11908)
  • API: Enable statussubresource linter (#11907)
  • CAPD: Add v1beta2 conditions to DevMachine and DevCluster with Docker backend (#11923)
  • CAPD: Add v1beta2 conditions to DevMachines with InMemory backend (#11901)
  • CAPD: Disable image garbage collection in kubelet to align with kind (#11904)
  • CAPIM: fix watch to continue serving based on resourceVersion parameter (#11695)
  • CI: Bump github-action-markdown-link-check to 1.0.15 (#11594)
  • CI: bump Govulncheck to v1.1.4 (#11713)
  • CI: Default building kind node-images depending on KIND_BUILD_IMAGES env variable instead of ginkgo magic regexes (#11784)
  • CI: downgrade gh-release action (#11588)
  • CI: Drop 1.0->current upgrade test (#11755)
  • CI: Enable the conditions rule from KAL (#11847)
  • CI: fix checking out k/k release branch (#11836)
  • CI: update branches for weekly actions ...
Read more

v1.10.0-beta.0

18 Mar 17:39
2303bd0

Choose a tag to compare

v1.10.0-beta.0 Pre-release
Pre-release

🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, file an issue.

More details about the release

⚠️ BETA RELEASE NOTES ⚠️

Highlights

  • Bumped to controller-runtime v0.20, k8s.io/* v0.32, controller-gen v0.17
  • Features:
  • API: Added additional validation to our CRDs (#11834)
  • API: Various improvements to v1beta2 conditions
  • ClusterClass: Support referencing ClusterClasses across namespaces (#11352 #11395 #11649)
  • ClusterClass: Add NamingStrategy for InfraCluster (#11898)
  • Machine: Add MachineDrainRule behavior "WaitCompleted" (#11545)
  • Machine: Add --additional-sync-machine-labels flag to allow syncing additional labels to Nodes (#11650)
  • Machine: Sync Machine annotations to Nodes (#11813)
  • MachineSet/MachineDeployment: Add NamingStrategy to MachineDeployment (#11172)
  • MachineSet/KCP: Improve preflight checks (#11927 #11941 #11928)
  • CRD migration: Add CRD migrator (#11889)
  • Metrics: Add ClusterCache (#11789) and SSA cache (#11635) metrics
  • Merged CAPIM in CAPD (see From CAPD(docker) to CAPD(dev) for more details)
  • As usual, significantly improved e2e test framework & coverage (e.g. #11667 #11884 #11966 #9620 #11983)
  • New providers in clusterctl:
    • Addon providers: fleet (#11806)
    • Infrastructure providers: OpenNebula (#11835), Harvester (#11477), Huawei Cloud (#11861)

Deprecation and Removals Warning

  • KCP/MachineSet: Removed deprecated flag for old infra machine naming (#11679)
  • MD/MS/MP/KCP: Deprecated status replica counters planned for removal (#11516)
  • MachineDeployment: Deprecated spec.progressDeadlineSeconds (#11472)
  • CRD migration: Deprecated clusterctl upgrade CRD storage version migration for providers (#11889)
  • ClusterResourceSet was promoted to GA, feature flag is now deprecated (#11741)

Changes since v1.9.0

📈 Overview

  • 276 new commits merged
  • 8 breaking changes ⚠️
  • 21 feature additions ✨
  • 26 bugs fixed 🐛

📝 Proposals

  • Community meeting: ✨ 🧑‍🤝‍🧑 add proposal for Node Bootstrapping working group (#11407)

⚠️ Breaking Changes

  • API: Add MaxItems markers to API fields (#11934)
  • API: Add MaxLength & MinLength markers (#11949)
  • API: Deprecate replica counters planned for removal (#11516)
  • ClusterResourceSet: Deprecate the ClusterResourceSet feature flag (#11741)
  • Dependency: Bump to controller-runtime v0.20 & controller-tools v0.17 (#11633)
  • MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11472)
  • CAPD/e2e/CAPIM: CAPD DevCluster and Machine (#11819)
  • [KCP/MachineSet: Remove deprecated flag for old infra machine naming (#11679)

✨ New Features

  • CABPK: Add bootCommands to cloud-init file generation (#11271)
  • ClusterClass: Add Availability and ReadinessGates to ClusterClass (#11868)
  • ClusterClass: Add classNamespace to topology (#11352)
  • ClusterClass: Add e2e tests & clusterctl changes for cross-ns CC ref (#11395)
  • ClusterClass: Clusterctl move support for a cross namespace ClusterClass reference (#11649)
  • clusterctl: Add addon provider fleet to registry (#11806)
  • clusterctl: Add OpenNebula infrastructure provider to clusterctl (#11835)
  • clusterctl: Add support for clusterctl gitlab auth (#11792)
  • ClusterResourceSet: Integrate CRS code into regular code structure (#11943)
  • Controller-runtime: Add PriorityQueue feature gate (#11698)
  • e2e: Extend scale test and make ExtensionConfig name in RuntimeSDK test configurable (#11667)
  • e2e: Test n-3 clusterctl upgrade (#11884)
  • KCP: Add preflight check for pending version upgrade from topology (#11927)
  • Machine: Add MachineDrainRule "WaitCompleted" (#11545)
  • Machine: Sync machine annotations to nodes (#11813)
  • MachineSet: Add ControlPlaneVersionSkew MS preflight check & preflight check cmd line flag (#11941)
  • MachineSet: Extend ControlPlaneIsStable preflight check to check for a pending topology based ControlPlane version upgrade (#11928)
  • API/Documentation/ClusterResourceSet: Promote feature CRS to GA (#11365)
  • Runtime SDK: implement BeforeClusterUpgrade annotation hook (#11922)
  • Testing: Bump Kubernetes in tests to v1.32.0 and claim support for v1.32 (#11563)
  • util: Add CRD migrator, deprecate clusterctl upgrade CRD storage version migration (#11889)

🐛 Bug Fixes

  • Bootstrap: Recreate bootstrap token if it was cleaned up (#11520)
  • CABPK: Ensure kubeadm controller always sets all v1beta2 conditions (#11948)
  • CAPIM: Fix periodic resync in in-memory provider (#11663)
  • CI: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11482)
  • Cluster: Modify calling agg cluster conditions (#11952)
  • Clustercache: Increase timeout for informer List+Watch calls from 10s to 11m (#11757)
  • Clustercache: Prevent concurrent map read/write when creating a cache (#11707)
  • ClusterClass: Don't allow concurrent patch upgrades (#11940)
  • ClusterClass: Ensure Cluster topology controller is not stuck when MDs are stuck in deletion (#11771)
  • ClusterClass: Export runtime.Client interface and cache package (#11611)
  • clusterctl: Fix multiline Ready condition in clusterctl describe for v1beta2 (#11781)
  • clusterctl: send delete request before removing finalizers (#11814)
  • Conditions: Avoid redundant reconciles if only generation of Paused condition changed (#11972)
  • e2e: Properly display the namespace name in scale test (#11547)
  • Machine: Sort list of pre-drain hooks for stable condition messages (#11624)
  • Machine: Use correct APIVersion for KCP related exclude (#11490)
  • MachineDeployment: Remove disableMachineCreate annotation from new machinesets during rolling machine deployment reconciliation (#11415)
  • MachineHealthCheck: fix flaky test (#11471)
  • MachinePool: Check machinepool feature-flag before watching in cluster controller (#11776)
  • Release: Fix broken links in release team handbooks (#11652)
  • Release: Use release branch for v1.10 alpha and beta releases (#11979)
  • Testing: Default to topology flavor in NodeDrainTimeoutSpec (#11727)
  • Testing: Fix flake TestMachineSetReconciler test (#11728)
  • Testing: Fix flaky TestExtensionReconciler_Reconcile test (#11903)
  • Testing: Fix MDR unit test (#11874)
  • util: Also patch external refs if the UID differs (#11688)

🌱 Others

  • API: Add KAL linter for linting API conventions (#11733)
  • API: Enable integers lint of KAL (#11887)
  • API: Enable maxlength linter (#11906)
  • API: Enable nobools linter (#11911)
  • API: Enable nofloats linter (#11910)
  • API: Enable optionalorrequired linter (#11909)
  • API: Enable requiredfields linter (#11908)
  • API: Enable statussubresource linter (#11907)
  • CAPD: Add v1beta2 conditions to DevMachine and DevCluster with Docker backend (#11923)
  • CAPD: Add v1beta2 conditions to DevMachines with InMemory backend (#11901)
  • CAPD: Disable image garbage collection in kubelet to align with kind (#11904)
  • CAPIM: fix watch to continue serving based on resourceVersion parameter (#11695)
  • CI: Bump github-action-markdown-link-check to 1.0.15 (#11594)
  • CI: Default building kind node-images depending on KIND_BUILD_IMAGES env variable instead of ginkgo magic regexes (#11784)
  • CI: Drop 1.0->current upgrade test (#11755)
  • CI: Enable the conditions rule from KAL (#11847)
  • CI: downgrade gh-release action (#11588)
  • CI: update branches for weekly actions (#11578)
  • CI: bump to v1.1.4 (#11713)
  • CI: fix checking out k/k release branch (#11836)
  • CI: Update golangci-lint to v1.63.4 (#11740)
  • Cluster: Improve waiting for CP / InfraCluster deletion logs (#11823)
  • Cluster: Reconcile topology only when necessary (#11605)
  • Cluster: Validate that infrastructureRef and controlPlaneRef cannot be unset (#11969)
  • Clustercache: Add clustercache metrics (#11789)
  • Clustercache: Do not use RequeueAfter when hitting ErrClusterNotConnected (#11736)
  • ClusterClass: Add Namingstrategy to InfraCluster (#11898)
  • ClusterClass: Consider IsProvisioning to determine if ControlPlane is stable (#11939)
  • ClusterClass: Deprecate old ClusterClass index (#11744)
  • ClusterClass: fix godoc for LocalObjectTemplatesAreCompatible (#11732)
  • clusterctl: Add Infrastructure provider Harvester (#11477)
  • clusterctl: Add support infrastructure provider for Huawei Cloud (#11861)
  • clusterctl: Bump cert-manager to v1.16.3 (#11699)
  • clusterctl: Change k0smotron repo location (#11872)
  • clusterctl: Fix fallback to overrides directory in home when there is no overrides directory in XDG directory (#11824)
  • clusterctl: Properly indent multiline lists in clusterctl describe (#11508)
  • clusterctl: Remove OCNE providers (#11830)
  • ClusterResourceSet: Cleanup after CRS move (#11968)
  • Conditions: Allow readiness and availability gates with negative polarity (#11918)
  • Conditions: Drop unused v1beta2 conditions and reasons (#11518)
  • Conditions: Fix formatting of blocking lifecycle hook condition message (#11661)
  • Conditions: Fix log messages in Cluster set status code + some minor unit test fixes (#11629)
  • Conditions: Handle "waiting for completion" in KCP, MD, MS and Machine conditions (#11811)
  • Conditions: make EtcdMemberHealthy less verbose on client creation failures (#11502)
  • Conditions: sort list of hooks for stable condition messages (#11487)
  • Conditions: Refine v1beta2 summary (#11498)
  • Conditions: Refine v1beta2 UpToDate and Rollout conditions (#11503)
  • Conditions: Rename v1beta2 test types (#11832)
  • Conditions: Set merge oper...
Read more