Skip to content

Releases: kubernetes-sigs/cluster-api

v1.8.0-beta.0

16 Jul 17:52
377bd19
Compare
Choose a tag to compare
v1.8.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.

Highlights

  • Add kubeadm v1beta4 types
  • Add support negative polarity conditions
More details about the release

⚠️ BETA RELEASE NOTES ⚠️

👌 Kubernetes version support

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

More information about version support can be found here

Changes since v1.7.0

📈 Overview

  • 267 new commits merged
  • 1 breaking change ⚠️
  • 16 feature additions ✨
  • 36 bugs fixed 🐛

⚠️ Breaking Changes

  • ClusterClass: Adjust CC & Cluster controller to block on variable conflicts, deprecate definitionFrom (#10841)

✨ New Features

  • API: Add support negative polarity conditions (#10550)
  • API: Optimize rbac across controllers (#10552)
  • Bootstrap: Allow CAPBK to generate JoinConfiguration discovery kubeconfig (#10799)
  • CABPK: Add ExtraEnvs and ImagePullSerial to KubeadmConfig (#10846)
  • CABPK: Add kubeadm v1beta4 types (#10709)
  • ClusterClass: Add map key for MD/MP class & topology in ClusterClass & Cluster.spec.topology (#10808)
  • ClusterClass: Add metadata for top-level and nested variables & deprecate previous metadata field (#10778)
  • ClusterClass: Add variable validation to ClusterClass controller, block Cluster reconcile if variables not reconciled (#10812)
  • ClusterClass: Extend ControlPlane/ MD / MP builtin to include metadata (#10837)
  • ClusterClass: Introduce CEL for ClusterClass Variables (#9239)
  • ClusterClass: Support ControlPlane variable overrides (#10682)
  • e2e: Bump Kubernetes version used for testing to v1.30.0-rc.1 (#10384)
  • MachineSet: Add remediation strategy support in MachineDeployment (#10712)
  • Runtime SDK/ClusterClass: Extend cluster builtin to include UID (#10822)
  • Runtime SDK/ClusterClass: Fix GetObjectVariableInto util func (#10702)
  • Testing: Support e2e for WSL (#10402)

🐛 Bug Fixes

  • API: Cluster should be provisoned when cpRef and endpoint is set (#10873)
  • API: Re-add patch for events (#10695)
  • CAPD: Don't add host ports to exposed ports of containers (#10657)
  • CAPD: Fix nil pointer in dockermachinepool controller (#10876)
  • CAPD: Verify lb config after writing it (#10453)
  • CI: Add for new linters to fix old syntax (#10699)
  • CI: Add tenv linter (#10689)
  • CI: Fix conversion-gen outside of GOPATH (#10502)
  • ClusterClass: Defaulting webhook should check class is set in ClusterClass-based clusters (#10671)
  • ClusterClass: Fix indexing in ClusterClass webhook MHC validation (#10672)
  • clusterctl: Ensure cert-manager objects get applied before other provider objects (#10469)
  • clusterctl: Fix log in clusterctl move (#10540)
  • clusterctl: Verify that there is a release for the tag (#10220)
  • ClusterResourceSet: Correctly handle concurrent updates to ClusterResourceSetBinding (#10656)
  • ClusterResourceSet: Use separate cache for partial metadata watches on secrets to include all secrets (#10633)
  • Dependency: Use k8s.io/utils/ptr instead of k8s.io/utils/pointer (#10700)
  • e2e: Fix kubetest to allow parallel execution on different clusters (#10424)
  • e2e: Kubetest also gather junit reports in case of errors observed from ginkgo (#10493)
  • e2e: Ensure all ownerRef assertions for some Kind are evaluated (#10590)
  • e2e: Filter cluster-wide objects asserted in ResourceVersion tests to exclude objects of parallel tests (#10560)
  • KCP: Delete out of date machines with unhealthy control plane component conditions when rolling out KCP (#10196)
  • KCP: Fix some KCP unit test flakes (#10711)
  • Machine: Machine deletion skips waiting for volumes detached for unreachable Nodes (#10662)
  • Machine: Speed up ignoring terminating Pods when draining unreachable Nodes (#10706)
  • MachineHealthCheck: Change MachineHealthCheck.spec.unhealthyConditions to optional (#9774)
  • MachineHealthCheck: Skip publishing the RemediationRestricted event when there are no unhealthy target (#10591)
  • MachinePool: Check that replicas pointer is not nil in machinepool controller (#10632)
  • MachineSet: Deletion priority to avoid deleting too many machines (#10087)
  • ClusterClass/MachineHealthCheck: Fix default namespace of RemediationTemplate for ClusterClass and Topology (#10843)
  • ClusterClass/MachineSet/MachineDeployment: MD/MS topo reconciler: only add finalizer for owned MD/MS (#10780)
  • KCP/CAPD: KCPTemplate & DockerClusterTemplate webhook: default before immutability check (#10638)
  • Testing: Fix metadata assert failure in clusterclass rollout test (#10840)
  • util: Check errors for IsNotFound after patching spec and status (#10787)
  • util: Checking cert's keypair for nil before accessing to avoid panics (#10321)
  • util: Patch helper should be able to patch non-spec objects (#10824)
  • util: Recover gvk after scheme.Convert (#10408)

🌱 Others

  • API: Allow control plane provider to set endpoint (#10667)
  • API: Allow users to specify webhook server cert and key names (#10551)
  • CAPD: Bump github.com/docker/docker to v26.0.2 (#10478)
  • CI: Add more templating func to prowjob-gen (#10391)
  • CI: Drop pr approver workflow top-level permissions (#10659)
  • CI: Optimize dependabot config (#10571)
  • CI: Publish nightly manifests to staging bucket (#10489)
  • CI: Replace exec kubectl with client CreateOrUpdate (#10442)
  • CI: Update version matrix for github workflows for release-1.7 (#10357)
  • CI: Use setup-envtest from CR main (05/2024) to use envtest binaries from CT releases (#10569)
  • ClusterCacheTracker: Improve CCT error logging (#10826)
  • ClusterCacheTracker: Use indexes field instead of passing it around (#10606)
  • ClusterClass: Add Cluster.GetClassKey() to retrieve a NamespacedName for classes (#10703)
  • ClusterClass: Add MachinePools to autoscaler e2e test (#10083)
  • ClusterClass: Add MachinePools to handler and topology test (#10216)
  • ClusterClass: Deprecate IP Family builtin variable (#10554)
  • ClusterClass: Make MDT.replicas and autoscaler mut. exclusive (#10370)
  • ClusterClass: Log diffs for Cluster topology rollouts/patches (#10690)
  • ClusterClass: Separate schema and CEL errors in CC variable validation (#10809)
  • clusterctl: Add ionoscloud provider (#10767)
  • clusterctl: Add Tinkerbell to the providers list (#10487)
  • clusterctl: Always run crd migration if possible to reduce conversion webhook usage (#10513)
  • clusterctl: Bump cert-manager to 1.14.5 (#10514)
  • clusterctl: Bump cert-manager to v1.15.0 (#10727)
  • clusterctl: Bump cert-manager to v1.15.1 (#10807)
  • clusterctl: Improve shouldUpgrade (#10407)
  • clusterctl: Add support for the linode-linode infrastructure provider to clusterctl (#10471)
  • ClusterResourceSet: Ensure CRS controller always add ownerReference to resources (#10756)
  • Community meeting: Retire the Alternative communication pattern feature group (#10658)
  • Control-plane: Improve KCP remediation re-entrancy (#10559)
  • Core: Cleanup separate unstructuredCachingClient (#10692)
  • Dependency: Bump controller-gen to v0.15 (#10380)
  • Dependency: Bump controller-runtime to v0.18.0 (#10383)
  • Dependency: Bump conversion-gen to v0.30.0 (#10474)
  • Dependency: Bump docker/docker to 26.0.0+incompatible (#10335)
  • Dependency: Bump envtest to v1.30.0 (#10477)
  • Dependency: Bump github.com/distribution/reference from 0.5.0 to 0.6.0 (#10501)
  • Dependency: Bump github.com/docker/docker from 26.1.4+incompatible to 27.0.0+incompatible in /test (#10775)
  • Dependency: Bump github.com/docker/docker to v27.0.1 (#10794)
  • Dependency: Bump Go to v1.22.2 (#10452)
  • Dependency: Bump go version to 1.22.3 (#10586)
  • Dependency: Bump golang to v1.21.9 and golang.org/x/net to mitigate CVE-2023-45288 (#10375)
  • Dependency: Bump golangci-lint to v1.57.2 (#10398)
  • Dependency: Bump to Go 1.22.4 (#10739)
  • Dependency: Bump to Go 1.22.5 (#10828)
  • Dependency: Fix loopvar linter issue and usage of deprecated grpc function (#10731)
  • Dependency: Fixup patch order in CABPK (#10399)
  • Dependency: Stop bumping cel-go via dependabot (#10834)
  • Dependency: Update Kustomize deprecated syntax (#10294)
  • Devtools: Add triage-party for the Cluster API backlog (#10437)
  • Devtools: Bump Cluster API Visualizer to v1.3.0 (#10386)
  • Devtools: Bump Cluster API Visualizer to v1.3.1 (#10816)
  • Devtools: Improve triage query (#10644)
  • Devtools: Ensure in-tree providers always use start.sh to allow restarts (#10811)
  • e2e: Add function to create the ClusterProxy when using a secondary kind-based management cluster (#10804)
  • e2e: Add IPAM API to test framework convenience scheme (#10745)
  • e2e: Allow setting worker machine count to nil in ApplyClusterTemplateAndWait & ConfigCluster (#10388)
  • e2e: Bump autoscaler to v1.30.0 (#10510)
  • e2e: Drop support for INIT env variables in clusterctl upgrade test (#10609)
  • e2e: Enable ability to test pre-releases of kubernetes (#10412)
  • e2e: Enhance E2E Tests to Filter Out Extra Provider-Specific Metadata (#10715)
  • e2e: Ensure resourceVersions are stable (#10530)
  • e2e: Export more func in test/e2e/common.go (#10420)
  • e2e: Fix finalizers assertions (#10735)
  • e2e: Improve E2E tests for finalizers and ownerRefs (#10730)
  • e2e: Improve E2E ValidateFinalizers and ValidateOwnerRef (#10693)
  • e2e: Improve metadata assertions in ClusterClass rollout test (#10851)
  • e2e: Kind bump to v0.23.0 (#10610)
  • e2e: Add restConfigModifier Option to clusterProxy (#10832)
  • e2e: Check for metadata.yaml when resolving releases to not try to use unreleased versions + avoid retry on 404 (also in clusterctl) (#10618)
  • e2e: Dump resources before deleting extensionconfig (#10874)
  • e2e: Improve output for ValidateResourceVersionStable by using BeComparable instead of Equal (...
Read more

v1.7.4

09 Jul 17:57
53f0c53
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.26.x -> v1.30.x
  • Workload Cluster: v1.24.x -> v1.30.x

More information about version support can be found here

Changes since v1.7.3

📈 Overview

  • 23 new commits merged
  • 6 feature additions ✨
  • 5 bugs fixed 🐛

✨ New Features

  • Bootstrap: Allow CAPBK to generate JoinConfiguration discovery kubeconfig (#10842)
  • ClusterClass: Extend ControlPlane/ MD / MP builtin to include metadata (#10850)
  • CABPK: Add kubeadm v1beta4 types (#10771)
  • Dependency: Bump to Go 1.22.4 (#10801)
  • MachineDeployment: Add remediation strategy support in MachineDeployment (#10759)
  • Runtime SDK/ClusterClass: Extend cluster builtin to include UID (#10831)

🐛 Bug Fixes

  • ClusterResourceSet: Correctly handle concurrent updates to ClusterResourceSetBinding (#10785)
  • Machine: Machine deletion skips waiting for volumes detached for unreachable Nodes (#10765)
  • Machine: Speed up ignoring terminating Pods when draining unreachable Nodes (#10766)
  • ClusterClass/MachineSet/MachineDeployment: MD/MS topo reconciler: only add finalizer for owned MD/MS (#10781)
  • util: Patch helper should be able to patch non-spec objects (#10833)

🌱 Others

  • clusterctl: Add ionoscloud provider (#10769)
  • clusterctl: Bump cert-manager to v1.15.1 (#10814)
  • Control-plane: Allow control plane provider to set endpoint (#10800)
  • Dependency: Bump to Go 1.22.5 (#10829)
  • e2e: Improvements to ownerReferences and finalizers test (#10747)
  • Machine: Improve logs & conditions when machine is waiting for node (#10762)
  • MachineHealthCheck: MachineHealthCheck should take Machine's InfraReady condition (#10758)
  • MachineSet: Deprioritize unknown NodeHealthy conditions for deletion (#10770)
  • MachineSet: Ensure unhealthy machines get deletion priority (#10761)

📖 Additionally, there have been 3 contributions to our documentation and book. (#10760, #10779, #10796)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.6.7

09 Jul 17:57
64b8ec7
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.25.x -> v1.29.x
  • Workload Cluster: v1.23.x -> v1.29.x

More information about version support can be found here

Changes since v1.6.6

📈 Overview

  • 6 new commits merged
  • 1 feature addition ✨
  • 1 bug fixed 🐛

✨ New Features

  • Dependency: Bump to Go 1.22.4 (#10802)

🐛 Bug Fixes

  • ClusterClass/MachineSet/MachineDeployment: MD/MS topo reconciler: only add finalizer for owned MD/MS (#10782)

🌱 Others

  • clusterctl: Bump cert-manager to v1.15.1 (#10813)
  • Dependency: Bump to Go 1.22.5 (#10830)
  • Devtools: Pin controller-gen binary to go 1.21 (#10815)

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

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.7.3

11 Jun 18:05
b0284d8
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.26.x -> v1.30.x
  • Workload Cluster: v1.24.x -> v1.30.x

More information about version support can be found here

Changes since v1.7.2

📈 Overview

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

✨ New Features

  • ClusterClass: Support ControlPlane variable overrides (#10701)

🐛 Bug Fixes

  • ClusterClass: Defaulting webhook should check class is set in ClusterClass-based clusters (#10673)
  • ClusterClass: Fix indexing in ClusterClass webhook MHC validation (#10678)
  • MachineHealthCheck: Skip publishing the RemediationRestricted event when there are no unhealthy target (#10616)
  • MachinePool: Check that replicas pointer is not nil in machinepool controller (#10634)
  • KCP/CAPD: KCPTemplate & DockerClusterTemplate webhook: default before immutability check (#10646)

🌱 Others

  • clusterctl: Bump cert-manager to v1.15.0 (#10732)
  • Dependency: Bump to Go 1.21.11 (#10740)
  • Devtools: Use setup-envtest from CR main (05/2024) to use envtest binaries from CT releases (#10663)
  • e2e: Kind: bump to v0.23.0 (#10641)
  • e2e: Test: check for metadata.yaml when resolving releases to not try to use unreleased versions (#10645)
  • e2e: Test: improve output for ValidateResourceVersionStable by using BeComparable instead of Equal (#10654)
  • Security: Cleanup owner files (#10679)
  • Testing: Support MachinePools without MachinePoolMachines in clusterctl upgrade test (#10614)
  • Testing: Use kind as a secondary management cluster for clusterctl E2E tests (#10675)

📖 Additionally, there have been 2 contributions to our documentation and book. (#10687, #10720)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.6.6

11 Jun 18:05
0ceedd9
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.25.x -> v1.29.x
  • Workload Cluster: v1.23.x -> v1.29.x

More information about version support can be found here

Changes since v1.6.5

📈 Overview

  • 14 new commits merged
  • 5 bugs fixed 🐛

🐛 Bug Fixes

  • ClusterClass: Defaulting webhook should check class is set in ClusterClass-based clusters (#10674)
  • ClusterClass: Fix indexing in ClusterClass webhook MHC validation (#10677)
  • MachineHealthCheck: Skip publishing the RemediationRestricted event when there are no unhealthy target (#10617)
  • MachinePool: Check that replicas pointer is not nil in machinepool controller (#10635)
  • KCP/CAPD: KCPTemplate & DockerClusterTemplate webhook: default before immutability check (#10647)

🌱 Others

  • clusterctl: Bump cert-manager to v1.15.0 (#10733)
  • Dependency: Bump to Go 1.21.11 (#10741)
  • Devtools: Use setup-envtest from CR main (05/2024) to use envtest binaries from CT releases (#10664)
  • Security: Cleanup owner files (#10680)
  • Testing: Support MachinePools without MachinePoolMachines in clusterctl upgrade test (#10615)
  • Testing: Use kind as a secondary management cluster for clusterctl E2E tests (#10676)

📖 Additionally, there have been 2 contributions to our documentation and book. (#10686, #10721)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.7.2

14 May 18:26
a5898a2
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.26.x -> v1.30.x
  • Workload Cluster: v1.24.x -> v1.30.x

More information about version support can be found here

Changes since v1.7.1

📈 Overview

  • 12 new commits merged
  • 3 bugs fixed 🐛

🐛 Bug Fixes

  • clusterctl: Ensure cert-manager objects get applied before other provider objects (#10503)
  • e2e: Test: Ensure all ownerRef assertions for some Kind are evaluated (#10592)
  • e2e: Test: filter cluster-wide objects asserted in ResourceVersion tests to exclude objects of parallel tests (#10570)

🌱 Others

  • API: Allow users to specify webhook server cert and key names (#10581)
  • clusterctl: Add Tinkerbell to the providers list (#10516)
  • clusterctl: Bump cert-manager to 1.14.5 (#10517)
  • clusterctl: Clusterctl/client/cert_manager: improve shouldUpgrade (#10497)
  • clusterctl: Add support for the linode-linode infrastructure provider to clusterctl (#10512)
  • e2e: Ensure resourceVersions are stable (#10548)
  • KCP/MachineSet: Flag for old infra machine naming (#10587)

📖 Additionally, there have been 2 contributions to our documentation and book. (#10535, #10536)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.6.5

14 May 18:25
48c0ac8
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.25.x -> v1.29.x
  • Workload Cluster: v1.23.x -> v1.29.x

More information about version support can be found here

Changes since v1.6.4

📈 Overview

  • 6 new commits merged
  • 4 bugs fixed 🐛

🐛 Bug Fixes

  • CAPD: Verify lb config after writing it (#10462)
  • clusterctl: Ensure cert-manager objects get applied before other provider objects (#10504)
  • e2e: Kubetest: also gather junit reports in case of errors observed from ginkgo (#10495)
  • e2e: Test: Ensure ownerRef assertions for all Kinds are evaluated (#10593)

🌱 Others

  • API: Allow users to specify webhook server cert and key names (#10582)
  • clusterctl: Bump cert-manager to 1.14.5 (#10518)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.7.1

23 Apr 18:01
ef04465
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.26.x -> v1.30.x
  • Workload Cluster: v1.24.x -> v1.30.x

More information about version support can be found here

Highlights

  • Kubernetes v1.30 is now supported

Changes since v1.7.0

📈 Overview

  • 11 new commits merged
  • 2 bugs fixed 🐛

🐛 Bug Fixes

  • CAPD: Verify lb config after writing it (#10461)
  • e2e: also gather junit reports in case of errors observed from ginkgo (#10494)

🌱 Others

  • Dependency: Bump envtest to v1.30.0 (#10481)
  • e2e: Export more func in test/e2e/common.go (#10447)
  • Testing: Bump Kubernetes in tests to v1.30.0 and claim support for v1.30 (#10465)

📖 Additionally, there have been 6 contributions to our documentation and book. (#10446, #10448, #10451, #10456, #10470, #10491)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.7.0

16 Apr 18:53
ce58362
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.26.x -> v1.29.x
  • Workload Cluster: v1.24.x -> v1.29.x

More information about version support can be found here

Highlights

  • MachinePool: promoted to beta and enabled per default (#10141)
  • MachineDeployment: Taint nodes with PreferNoSchedule during rollouts (#10223)
  • MachineHealthCheck: implement annotation to manually mark machines for remediation (#10202)
  • KCP improvements:
    • Enable kubeadm feature gates mutation (#10154)
    • Defer remediation when a control plane machine is still provisioning (#9734)
    • Prefer deletion of Machines with unhealthy control plane components during rollout (#10421)
  • ClusterClass:
    • Add variable metadata (#10308)
    • Improved version validation if an update is already in progress (#10063)
    • Improved unit and e2e test coverage for ClusterClass with MachinePools (#10028)
  • Various improvements to our e2e tests to increase test coverage and reduce flakes to improve our CI signal
  • Implemented prowjob-gen to make it easier to manage our ProwJobs (#9937)

Changes since v1.6.0

📈 Overview

  • 339 new commits merged
  • 5 breaking changes ⚠️
  • 12 feature additions ✨
  • 48 bugs fixed 🐛

📝 Proposals

  • MachinePool: Update MachinePool Machines proposal with diagrams (#9664)

⚠️ Breaking Changes

  • Dependency: Bump to controller-runtime v0.17.0 & k8s.io/*v0.29 (#9964)
  • Logging: Make event recorder names consistent for KCP and topology controller (#9862)
  • MachinePool: Set MachinePool feature flag default to true + Beta (#10141)
  • KCP/MachineSet: Objects generated by KCP, MachineSets and MachinePools will now consistently use machine name (#9833)

✨ New Features

  • API: Enable kubeadm feature gates mutation (#10154)
  • clusterctl: Add k0smotron provider (#9991)
  • clusterctl: Add public function to create new CRD migrator (#10075)
  • Control-plane: Allow mutation of all fields that should be mutable (#9871)
  • MachineDeployment: Add MachineSetReady condition to MachineDeployment (#9262)
  • MachineDeployment: Taint nodes with PreferNoSchedule during rollouts (#10223)
  • MachineHealthCheck: implement annotation to manually mark machines for remediation (#10202)
  • Release: Add dependencies section to release notes tool (#10043)
  • Release: Add release notes expander functionality (#10091)
  • Release: Add utility to create git issues on provider repo (#9110)
  • Testing: Resolve release markers (#9265)
  • Testing: Prepare quickstart, capd and tests for the new release including kind bump (#9872)

🐛 Bug Fixes

  • API: Use ptr instead of own implementation (#10276)
  • API: Restore v1alpha3/v1alpha4 conversion to fix SSA issue & add e2e test coverage (#9939 #10147) (for more details see #10051)
  • CABPK: Only refresh bootstrap token if needed, requeue in all cases where node hasn't joined yet (#9229)
  • CAPD: Fix ignition to also set the kube-proxy configuration to skip setting sysctls (#9894)
  • CAPD: Remove --enable-hostpath-provisioner flag (#10271)
  • CAPD: Remove duplicate fix for btrfs/zfs support (#8376)
  • ClusterCacheTracker: Fix ClusterCacheTracker memory leak (#9543)
  • ClusterCacheTracker: Use RequeueAfter instead of immediate requeue on ErrClusterLocked to not have exponentially increasing requeue time (#9810)
  • ClusterClass: Fix for TestServerSideApplyWithDefaulting (#10307)
  • ClusterClass: Improve handling of topology orphaned objects (#10277)
  • clusterctl: Move handlePlugins function call out of init to allow debugging tests (#10200)
  • clusterctl: Validate no objects exist from CRDs before deleting them (#9808)
  • clusterctl: Verify that there is a release for the tag (#10423)
  • ClusterResourceSet: Requeue after 1 minute if ErrClusterLocked got hit (#9777)
  • Control-plane: KCP should defer remediation when a control plane machine is still provisioning (#9734)
  • Devtools: Show default cluster-template (#9820)
  • e2e: Add wait for MachineList to be available (#10301)
  • e2e: fix unset GINKGO_FOCUS variable (#10085)
  • e2e: Fix clusterctl upgrade e2e tests (enable CRS) (#10340)
  • e2e: Fix kubetest to allow parallel execution on different clusters (#10426)
  • e2e: Make MachinePools and MachineDeployments optional in ApplyClusterTemplateAndWait (#9960)
  • e2e: Re-introduce exclude capi-webhook-system to fix test flake (#10157)
  • e2e: Calculate correct worker count in clusterctl upgrade test (#9892)
  • e2e: Fix finalizers test to not only rely on namespaced name (#9891)
  • e2e: retry GetOwnerGraph in owner references test on certificate errors (#10201)
  • IPAM: Fix webhooks using mixed api versions (#9861)
  • KCP: Delete out of date machines with unhealthy control plane component conditions when rolling out KCP (#10421)
  • KCP: Skip checking clusterConfiguration.dns fields when KCP checking MachineNeedRollout (#9857)
  • Logging: Improve log k/v pairs and a improve/drop a few log lines (#9813)
  • Machine: Bubble up machine drain condition in MachinesReadyCondition (#9355)
  • Machine: Watch external objects for machine before deleting (#10041)
  • MachinePool: Fix TestReconcileMachinePoolScaleToFromZero flakes (#9745)
  • MachineSet: deletion priority to avoid deleting too many machines (#10430)
  • Release: Fix Community meeting area formatting in release notes (#9784)
  • Release: Fix defaulting logic in release notes tool (#9958)
  • Release: Fix documentation area comparison in release notes (#9769)
  • Release: Fix kubeadm bootstrap prefix in release notes (#9814)
  • Release: Fix wrong branch name display for weekly update script (#9918)
  • Runtime SDK: Fix ClusterClass variables status & RuntimeExtension and add test coverage (#10337)
  • Runtime SDK: Use keys/values structured log interface (#9998)
  • Testing: Fix using correct testing.T when creating gomega object (#10342)
  • Testing: Revert "Watch for Cluster resources in topology MD controller" (#9985)
  • Testing: Reverting ginkgo.show-node-events to ginkgo.progress (#10214)
  • Testing: fix flaky test TestPatch/Test patch with Machine (#9914)
  • Testing: wait for topology to get rolled out before continuing with scaling checks (#9819)
  • util: Add tests and update provider_issues.go (#10264)
  • util: Checking cert's keypair for nil before accessing to avoid panics (#10368)
  • util: recover gvk after scheme.Convert (#10409)

🌱 Others

  • API: Stop relying on GVK being set on regular typed objects (#9956)
  • Bootstrap: Add MachinePool test for switching bootstrap config to another ready/non-ready object with different name (#9616)
  • CABPK: Add pod metadata to capbk manager (#10208)
  • CAPD: make docker machine bootstrap timeout configurable (#9952)
  • CAPD: Remove requeues in DockerMachinePool (#9725)
  • CAPD: Support configuring ExtraPortMappings for the kind cluster (#10046)
  • CAPIM: Add namespaces to the list of resource handled by the in-memory API server (#10297)
  • CAPIM: Allow using different resource group and listener name with the in memory server (#10096)
  • CAPIM: Make in memory API server more tolerant when starting (#10211)
  • CAPIM: Make in memory runtime and server accessible from outside (#9986)
  • CAPIM: use port only to identify the wcl to make port-forward… (#10245)
  • CI: Add fail fast to DumpResourcesForCluster in case of no route to host (#10204)
  • CI: Add more templating func to prowjob-gen (#10403)
  • CI: Added go directive test (#10261)
  • CI: Bump conversion-gen to v0.29.0 (#10012)
  • CI: Bump go-apidiff to v0.8.2 (#10011)
  • CI: Bump govulncheck to v1.0.4 (#10274)
  • CI: Bump kpromo to v4.0.5 (#10140)
  • CI: Bump kubebuilder envtest to 1.29.0 (#10013)
  • CI: Change base branch for link checker (#10365)
  • CI: DumpResourcesForCluster should fail fast for i/o errors (#10238)
  • CI: Ensure build images contains correct binary and for correct architecture (#9932)
  • CI: Fix Make target generate-go-openapi (#10161)
  • CI: Fix TestPatchNode flake (#10287)
  • CI: Hack/prowjob-gen skip creating empty files (#10022)
  • CI: implement generator for prowjobs (#9937)
  • CI: Makefile bump dependencies (#10236)
  • CI: Bump WorkloadKubernetesVersion for v1.6 clusterctl upgrade test (#10017)
  • CI: adjust capd dockerfile so the binary exposes the package in the built binraries path variable (#10030)
  • CI: Update GH actions to work with new release-1.6 branch (#9708)
  • ClusterClass: Add ClusterClass variables metadata (#10308)
  • ClusterClass: Add unit tests for MachinePools for webhooks and cc controller (#10055)
  • ClusterClass: Add unit tests for MachinePools in topology/scope package (#10052)
  • ClusterClass: Implement topology validations for topology kubernetes version upgrades (#10063)
  • ClusterClass: use the alias for ClusterCacheTrackerReader instead of the internal reference (#10309)
  • clusterctl: Add 0 default to worker-machine-count help (#10203)
  • clusterctl: Add completion for fish shell (#9950)
  • clusterctl: Add hivelocity infra provider to clusterctl (#10168)
  • clusterctl: Add in-cluster ipam provider (#8811)
  • clusterctl: Add Proxmox provider quickstart (#9798)
  • clusterctl: Better verbose logging on override path (#10180)
  • clusterctl: Bump cert-manager to 1.14.2 (#10126)
  • clusterctl: Bump cert-manager to 1.14.4 (#10267)
  • clusterctl: Bump cert-manager to v1.14.1 (#10113)
  • clusterctl: Clarify rules for adding new clusterctl default providers (#9975)
  • clusterctl: Deprecate clusterctl alpha topology plan (#10139)
  • clusterctl: Replace context.TODO() from clusterctl proxy.go (#9776)
  • Community meeting: Move CecileRobertMichon to emeritus (#10042)
  • Community meeting: Move ykakarap to emeritus approvers (#10000)
  • Community meeting: Promote chrischdi to Cluster API maintainer (#9997)
  • Dependency: Bump github.com/docker/docker from 24.0.7 -> 25.0.0 (#10057)
  • Dependency: Bump golangci-lint to v1.56.1 (#10124)
  • Depe...
Read more

v1.6.4

16 Apr 18:24
36c0e55
Compare
Choose a tag to compare

👌 Kubernetes version support

  • Management Cluster: v1.25.x -> v1.29.x
  • Workload Cluster: v1.23.x -> v1.29.x

More information about version support can be found here

Changes since v1.6.3

📈 Overview

  • 21 new commits merged
  • 8 bugs fixed 🐛

🐛 Bug Fixes

  • CI: Fix for TestServerSideApplyWithDefaulting (#10327)
  • ClusterClass: Improve handling of topology orphaned objects (#10326)
  • e2e: Fix kubetest to allow parallel execution on different clusters (#10427)
  • KCP: Delete out of date machines with unhealthy control plane component conditions when rolling out KCP (#10196)
  • KCP: Skip checking clusterConfiguration.dns fields when KCP checking MachineNeedRollout (#10303)
  • MachineSet: deletion priority to avoid deleting too many machines (#10431)
  • Runtime SDK: Fix ClusterClass variables status & RuntimeExtension and add test coverage (#10341)

🌱 Others

  • CI: Added go directive test (#10348)
  • CI: Set linkchecker base branch to release-1.6 (#10359)
  • ClusterClass: Add ClusterClass variables metadata (#10320)
  • ClusterClass: Implement topology validations for topology kubernetes version upgrades (#10318)
  • ClusterClass: use the alias for ClusterCacheTrackerReader instead of the internal reference (#10319)
  • clusterctl: Bump cert-manager to 1.14.4 (#10272)
  • Dependency: Bump docker to address CVE (#10313)
  • Dependency: Bump golang to v1.21.9 and golang.org/x/net to mitigate CVE-2023-45288 (#10376)

📖 Additionally, there have been 5 contributions to our documentation and book. (#10295, #10338, #10394, #10404, #10416)

Dependencies

Added

Nothing has changed.

Changed

  • golang.org/x/crypto: v0.17.0 → v0.21.0
  • golang.org/x/net: v0.18.0 → v0.23.0
  • golang.org/x/sys: v0.15.0 → v0.18.0
  • golang.org/x/term: v0.15.0 → v0.18.0

Removed

Nothing has changed.

Thanks to all our contributors! 😊