Releases: kubernetes-sigs/cluster-api
v1.8.0-beta.0
🚨 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
👌 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 (...
v1.7.4
👌 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
👌 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
👌 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
👌 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
👌 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
👌 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
👌 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
👌 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:
- ClusterClass:
- 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...
v1.6.4
👌 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! 😊