Releases: kubernetes-sigs/cluster-api
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! 😊
v1.5.8
👌 Kubernetes version support
- Management Cluster: v1.24.x -> v1.28.x
- Workload Cluster: v1.22.x -> v1.28.x
More information about version support can be found here
Changes since v1.5.7
📈 Overview
- 11 new commits merged
- 5 bugs fixed 🐛
🐛 Bug Fixes
- CI: Fix for TestServerSideApplyWithDefaulting (#10344)
- ClusterClass: Improve handling of topology orphaned objects (#10347)
- e2e: fix kubetest to allow parallel execution on different clusters (#10432)
- KCP: Skip checking
clusterConfiguration.dns
fields when KCP checking MachineNeedRollout (#10304) - MachineSet: deletion priority to avoid deleting too many machines (#10429)
🌱 Others
- CI: Added go directive test (#10349)
- clusterctl: Bump cert-manager to 1.14.4 (#10273)
- Dependency: Bump docker to address CVE (#10316)
- Dependency: Bump golang to v1.21.9 and golang.org/x/net to mitigate CVE-2023-45288 (#10377)
📖 Additionally, there have been 2 contributions to our documentation and book. (#10296, #10339)
Dependencies
Added
Nothing has changed.
Changed
- golang.org/x/crypto: v0.17.0 → v0.21.0
- golang.org/x/net: v0.17.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! 😊
v1.7.0-rc.1
🚨 This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an issue.
Highlights
- Enable kubeadm feature gates mutation
- Add public function to create new CRD migrator
- Add MachineSetReady condition to MachineDeployment
- Set MachinePool feature flag default to true + Beta
Changes since v1.7.0-rc.0
📈 Overview
- 8 new commits merged
- 2 bugs fixed 🐛
🐛 Bug Fixes
- util: Checking cert's keypair for nil before accessing to avoid panics (#10368)
- util: recover gvk after scheme.Convert (#10409)
🌱 Others
- CI: Add more templating func to prowjob-gen (#10403)
- CI: Change base branch for link checker (#10365)
- Dependency: Bump golang to v1.21.9 and golang.org/x/net to mitigate CVE-2023-45288 (#10378)
- Dependency: Bump sigs.k8s.io/controller-runtime from 0.17.2 to 0.17.3 (#10406)
- Release: also detect alpha releases as pre releases (#10379)
Dependencies
Added
Nothing has changed.
Changed
- golang.org/x/net: v0.22.0 → v0.23.0
- sigs.k8s.io/controller-runtime: v0.17.2 → v0.17.3
Removed
Nothing has changed.
More details about the release
👌 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
Changes since v1.6.0
📈 Overview
- 333 new commits merged
- 5 breaking changes
⚠️ - 12 feature additions ✨
- 44 bugs fixed 🐛
📝 Proposals
- MachinePool: Update MachinePool Machines proposal with diagrams (#9664)
⚠️ Breaking Changes
- API: Remove v1alpha4 API Version (#9939)
- 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/e2e: Restore v1alpha3/v1alpha4 conversion to fix SSA issue & add e2e test coverage (#10147)
- 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)
- 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: 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: 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)
- 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 corerect 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
🌱 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 ...
v1.7.0-rc.0
🚨 This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an issue.
Highlights
- Enable kubeadm feature gates mutation
- Add public function to create new CRD migrator
- Add MachineSetReady condition to MachineDeployment
Changes since v1.7.0-beta.1
📈 Overview
- 16 new commits merged
- 1 breaking change
⚠️ - 1 feature addition ✨
- 5 bugs fixed 🐛
⚠️ Breaking Changes
- MachinePool: Set MachinePool feature flag default to true + Beta (#10141)
✨ New Features
- Release: Add release notes expander functionality (#10091)
🐛 Bug Fixes
- ClusterClass: Fix for TestServerSideApplyWithDefaulting (#10307)
- ClusterClass: Improve handling of topology orphaned objects (#10277)
- e2e: Fix clusterctl upgrade e2e tests (enable CRS) (#10340)
- Runtime SDK: Fix ClusterClass variables status & RuntimeExtension and add test coverage (#10337)
- Testing: Fix using corerect testing.T when creating gomega object (#10342)
🌱 Others
- Release: Determine release type from tag to also handle beta releases (#10324)
- Runtime SDK: Enable integration tests of RuntimeExtensions (#10330)
Dependencies
Added
Nothing has changed.
Changed
- go.etcd.io/etcd/api/v3: v3.5.12 → v3.5.13
- go.etcd.io/etcd/client/pkg/v3: v3.5.12 → v3.5.13
- go.etcd.io/etcd/client/v3: v3.5.12 → v3.5.13
Removed
Nothing has changed.
More details about the release
👌 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
Changes since v1.6.0
📈 Overview
- 323 new commits merged
- 5 breaking changes
⚠️ - 12 feature additions ✨
- 42 bugs fixed 🐛
📝 Proposals
- MachinePool: Update MachinePool Machines proposal with diagrams (#9664)
⚠️ Breaking Changes
- API: Remove v1alpha4 API Version (#9939)
- 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 utility to create git issues on provider repo (#9110)
- Release: Add dependencies section to release notes tool (#10043)
- Release: Add release notes expander functionality (#10091)
- 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/e2e: Restore v1alpha3/v1alpha4 conversion to fix SSA issue & add e2e test coverage (#10147)
- 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)
- 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: 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: 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)
- 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 corerect 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)
🌱 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: 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: 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: 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 maintai...
v1.7.0-beta.1
🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, file an issue.
Highlights
- Enable kubeadm feature gates mutation
- Add public function to create new CRD migrator
- Add MachineSetReady condition to MachineDeployment
More details about the release
👌 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
Changes since v1.6.0
📈 Overview
- 306 new commits merged
- 4 breaking changes
⚠️ - 11 feature additions ✨
- 37 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)
- 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 utility to create git issues on provider repo (#9110)
- Release: Add dependencies section to release notes tool (#10043)
- 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/e2e: Restore v1alpha3/v1alpha4 conversion to fix SSA issue & add e2e test coverage (#10147)
- 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)
- CABPK: Only refresh bootstrap token if needed, requeue in all cases where node hasn't joined yet (#9229)
- ClusterCacheTracker: Fix ClusterCacheTracker memory leak (#9543)
- ClusterCacheTracker: Use RequeueAfter instead of immediate requeue on ErrClusterLocked to not have exponentially increasing requeue time (#9810)
- clusterctl: Move handlePlugins function call out of init to allow debugging tests (#10200)
- clusterctl: Validate no objects exist from CRDs before deleting them (#9808)
- 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: Tilt: Show default cluster-template (#9820)
- e2e: Add wait for MachineList to be available (#10301)
- e2e: Ci: fix unset GINKGO_FOCUS variable (#10085)
- 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: 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)
- 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: Use keys/values structured log interface (#9998)
- 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)
🌱 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: Feat: 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: Test/inmemory: 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: 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: 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: Hack: 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: Webhooks: 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) - Dependency: Bump controller-runtime to v0.17.1 (#10131)
- Dependency: Bump controller-runtime to v0.17.2 (#10162)
- Dependency: Bump controller-tools to v0.14 (#9987)
- Dependency: Bump crypto dep version (#9938)
- Dependency: Bump github.com/onsi/ginkgo/v2 from 2.16.0 to 2.17.0 (#10284)
- Dependency: Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 (#10285)
- Dependency: Bump Go to 1.21.5 (#9900)
- Dependency: Bump go version to 1.21.8 (#10235)
- Dependency: Bump kind version to v0.22.0 (#10094)
- Dependency: Bump protobuf to v1.33.0 to address CVEs (#10248)
- Dependency: Bump the kubernetes group to v0.28.5 (#9933)
- Dependency: Bump the kubernetes group with 8 updates (#10286)
- Dependency: Bump to Go 1.20.12 (#9840)
- Dependency: Bump github.com/docker/docker from 25.0.4+incompatible to 25.0.5+incompatible (#10302)
- Dependency: Go.mod: bump github.com/cloudflare/circl to v1.3.7 (#10001)
- Devtools: Add missing folder to clean-tilt make target (#9934)
- Devtools: Allow tilt provider with pre-build images (#10244)
- Devtools: Explicitly set golangci config for sub modules (#9821)
- Devtools: Fix variables names in Tiltfile (#9811)
- Devtools: Implement privileged namespace security policy update for tilt-prepare (#10178)
- Devtools: Simplify testing nightly builds with clusterctl (#10018)
- Devtools: Small improvements to tilt (#9936)
- e2e: Add conformance e2e tests (#10060)
- e2e: Add DeepCopy method for E2EConfig (#9988)
- e2e: Add PostCreateNamespace hook to E2E tests (#10067)
- e2e: Add test util to resolve Kuber...