Releases: kubernetes-sigs/cluster-api
v1.9.2
👌 Kubernetes version support
- Management Cluster: v1.28.x -> v1.32.x
- Workload Cluster: v1.26.x -> v1.32.x
More information about version support can be found here
Changes since v1.9.1
📈 Overview
- 4 new commits merged
🌱 Others
- Cluster: Reconcile topology only when necessary (#11606)
- KCP: Improve KCP scale up when using failure domains (#11604)
- Runtime SDK: Cache DiscoveryVariables calls (#11599)
- util: Add TypedAll, ResourceIsUnchanged and TypedResourceIsUnchanged predicates (#11603)
Dependencies
Added
Nothing has changed.
Changed
Nothing has changed.
Removed
Nothing has changed.
Thanks to all our contributors! 😊
v1.8.7
👌 Kubernetes version support
- Management Cluster: v1.27.x -> v1.31.x
- Workload Cluster: v1.25.x -> v1.31.x
More information about version support can be found here
Changes since v1.8.6
📈 Overview
- 2 new commits merged
🌱 Others
Dependencies
Added
Nothing has changed.
Changed
- golang.org/x/crypto: v0.25.0 → v0.31.0
- golang.org/x/sync: v0.7.0 → v0.10.0
- golang.org/x/sys: v0.22.0 → v0.28.0
- golang.org/x/term: v0.22.0 → v0.27.0
- golang.org/x/text: v0.16.0 → v0.21.0
Removed
Nothing has changed.
Thanks to all our contributors! 😊
v1.9.1
👌 Kubernetes version support
- Management Cluster: v1.28.x -> v1.32.x
- Workload Cluster: v1.26.x -> v1.32.x
More information about version support can be found here
Highlights
- Support for Kubernetes v1.32
Changes since v1.9.0
📈 Overview
- 11 new commits merged
- 1 feature addition ✨
✨ New Features
- Testing: Bump Kubernetes in tests to v1.32.0 and claim support for v1.32 (#11565)
🌱 Others
- Dependency: Bump golang.org/x/crypto (#11582)
- e2e: Allow e2e scalability test to have custom deletion timeout (#11574)
- e2e: Bump default kind image to v1.32.0 (#11569)
- Machine: Remove solved todo comment (#11567)
📖 Additionally, there have been 6 contributions to our documentation and book. (#11560, #11561, #11576, #11577, #11583, #11585)
Dependencies
Added
Nothing has changed.
Changed
- golang.org/x/crypto: v0.29.0 → v0.31.0
- golang.org/x/net: v0.31.0 → v0.32.0
- golang.org/x/sync: v0.9.0 → v0.10.0
- golang.org/x/sys: v0.27.0 → v0.28.0
- golang.org/x/term: v0.26.0 → v0.27.0
- golang.org/x/text: v0.20.0 → v0.21.0
Removed
Nothing has changed.
Thanks to all our contributors! 😊
v1.9.0
👌 Kubernetes version support
- Management Cluster: v1.28.x -> v1.31.x
- Workload Cluster: v1.26.x -> v1.31.x
More information about version support can be found here
Highlights
- Bumped to controller-runtime v0.19, k8s.io/* v0.31, controller-gen v0.16
- Improvements to status fields: (#11105)
- Proposal: Improving status in CAPI resources
- Just a few highlights:
- Overhaul of our contract documentation: Provider contracts
- Implemented v1beta2 conditions for core Cluster API objects
- Huge improvements to
Deleting
conditions of Cluster, KCP, MD, MS and Machines - Added
Available
conditions to Cluster, KCP and MD - Added
ControlPlaneInitialized
,ControlPlaneAvailable
,WorkersAvailable
,RemoteConnectionProbe
, conditions to Cluster - Added
UpToDate
conditions to KCP and MD Machines - Added
ScalingUp
,ScalingDown
,Remediating
,MachinesReady
,MachinesUpToDate
conditions to Cluster, KCP, MD and MS - Significantly improved
Available
,EtcdClusterHealthy
andControlPlaneComponentsHealthy
conditions on KCP - Added
Paused
conditions - Improved counter fields for Cluster, KCP, MD, MS
- Added utils and extended patch helper for v1beta2 conditions
- ClusterCache supersedes the now deprecated ClusterCacheTracker (#11272)
- ClusterClass: Support oneOf/anyOf/allOf/not in variable schemas (#10637)
- Improved logging in predicates (#10959 #11239 #11188)
- KubeadmControlPlane: Implement pre-terminate hook for clean Machine Deletion (#11137)
- KubeadmControlPlane: NamingStrategy for Machines (#11123)
- MachineSetPreflightChecks feature got promoted to beta (#11228)
- MachineSet/MachineDeployment: Foreground deletion for MachineDeployments and MachineSets (#11174)
- Machine: Improvements to Node drain:
- Improve Node drain observability (#11074 #11121): documentation: Machine deletion process
- MachineDrainRules Configurable Machine drain behavior (#11240): Proposal: MachineDrainRules
- Stop waiting for detachment of volumes belonging to Pods ignored during drain (#11246 #11386)
- As usual, significantly improved e2e test framework & coverage (e.g. #11066 #11333 #10984 #11082 #11212 #11127 #11362)
- New providers in clusterctl: Canonical (#11337), Nutanix (#11135), Vultr (#11091)
Deprecation and Removals Warning
- API: Deprecated FailureMessage and FailureReason fields (#11317)
- The ClusterCacheTracker component has been deprecated (#11312 #11340), please use the new ClusterCache instead.
- For more context and examples for how to use it, see PR: Introduce new ClusterCache and the corresponding issue
- Please note:
- The DisabledFor option (previously ClientUncachedObjects) is not defaulted to &corev1.ConfigMap & &corev1.Secret anymore, thus it’s now necessary to explicitly set DisabledFor to avoid caching ConfigMaps and Secrets.
- SecretClient and UserAgent are now mandatory options, please take a look at the corresponding godoc.
- The
--clustercachetracker-concurrency
,--clustercachetracker-client-qps
and--clustercachetracker-client-burst
flags on all core CAPI controllers have been renamed to--clustercache-concurrency
,--clustercache-client-qps
and--clustercache-client-burst
- The deprecated
--metrics-bind-addr
flag has been removed (#11140) - Deprecated obsolete
errors
package (#10798) - Deprecated
ClusterCreateInfraReady
andClusterUnpausedAndInfrastructureReady
predicates (#11300)
Changes since v1.8
📈 Overview
- 348 new commits merged
- 5 breaking changes
⚠️ - 33 feature additions ✨
- 40 bugs fixed 🐛
📝 Proposals
- Conditions: Small improvements to the v1beta2 status proposal (#11460)
⚠️ Breaking Changes
- API: Deprecate replica counters planned for removal (#11517)
- Machine: Ignore attached Volumes referred by pods ignored during drain (#11246)
- MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11514)
- util: Fix object logging in predicates (#11239)
- util: Fix object logging in ResourceHasFilterLabel, ResourceNotPaused & ResourceNotPausedAndHasFilterLabel predicates (#11188)
✨ New Features
- API: Add v1beta2 structs to object status (#11234)
- API: Update machine with v1beta2 status (#11276)
- API: Update machineset with v1beta2 status test (#11278)
- ClusterCacheTracker: Add typed watcher to ClusterCache (#11331)
- ClusterCacheTracker: Introduce new ClusterCache (#11247)
- ClusterClass: Add support for oneOf/anyOf/allOf/not ClusterClass variable schema constructs (#10637)
- ClusterClass: Ensure templates are created in the Cluster namespace (#11366)
- clusterctl: Add support for v1beta2 conditions to clusterctl describe (#11277)
- clusterctl: Allow user to suppress API warnings (#11149)
- clusterctl: Suppress "finalizer name" API warnings in "move" command (#11173)
- Core: Add v1beta2 condition to Cluster controller (#11364)
- Dependency: Bump to controller-runtime v0.19 & controller-tools v0.16 (#10803)
- e2e: Bump Kubernetes to v1.31.0-rc.1 (#11021)
- e2e: Bump Kubernetes version used for testing to v1.31.0-rc.0 (#10965)
- e2e: Bump Kubernetes version used for testing to v1.32.0-beta.0 (#11388)
- e2e: Detect panics in e2e tests (#11066)
- KCP: Add machine UpToDate condition to KCP (#11389)
- KCP: Add v1beta2 available condition to KCP (#11383)
- KCP: Add v1beta2 Etcd and ControlPlaneComponents conditions to KCP (#11302)
- KCP: Add v1beta2 OwnerRemediated condition to KCP (#11297)
- Logging: Suppress finalizer name API warnings in CAPI, CABPK, and KCP controller logs (#11242)
- Machine: Implement MachineDrainRules (#11353)
- Machine: Introduce Deletion status field and add timestamps for drain and volumeDetach instead of using the condition (#11166)
- Machine: Refactor node drain (#11074)
- MachineDeployment: Add v1beta2 condition to MD controller (#11338)
- MachineHealthCheck: Update MHC with v1Beta2 status (#11290)
- MachineSet: Add machine UpToDate condition to MachineSet (#11393)
- MachineSet: Promote MachineSetPreflightChecks to Beta (#11228)
- KCP/CAPD: Add more v1beta2 conditions to KCP (#11320)
- Testing: Bump Kubernetes in tests to v1.31.0 and claim support for v1.31 (#11030)
- Testing: Collect additional logs with CAPD log collector (#11083)
- util: Implement utils for v1beta2 conditions (#10997)
- util: Warning handler that discards messages that match a regular expression (#11179)
🐛 Bug Fixes
- API: Drop caBundle from CRDs to support Kubernetes 1.31 (#10972)
- API: Fix panics in SetV1Beta2Conditions methods (#11369)
- API: Re-add /finalizers subresource RBAC (#11106)
- Bootstrap: Always declare try-or-die-command function in kubeadm-bootstrap-script.sh (#11089)
- CABPK: Bootstrap: fix useExperimentalRetryJoin for kubernetes v1.31 (#10983)
- CAPD: Ensure DockerMachinePool providerIDList is deterministic (#10998)
- CI: Hack: fix the shell used when running pr-verify (#11169)
- CI: Kind: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11485)
- Cluster: Disable aggregation of not reported MachinePool conditions for Cluster (#11416)
- Cluster: Fix RuntimeClient nil check in Cluster controller (#11426)
- ClusterCacheTracker: Improve context handling in ClusterCache (#11445)
- ClusterCacheTracker: Try to fix TestClusterCacheHealthCheck test (#11343)
- ClusterClass: Fix nil pointer for empty workers in webhook (#11197)
- ClusterClass: Fix RuntimeClient nil check in ClusterClass controller (#11350)
- clusterctl: Ensure move uses mutated metadata when updating a target object (#10957)
- clusterctl: Fix: considers objects in kube-system for cert-manager to avoid upgrading twice (#11351)
- clusterctl: Handle a nil mutator by returning an error, not panicking (#10951)
- Dependency: Update controller-runtime dependency to v0.18.5 (#11045)
- e2e: Properly display the namespace name in scale test (#11548)
- KCP: Consider all machines for setting .status.version (#11304)
- KCP: Fix TestControlPlane/MachinesUpToDate flake (#11398)
- KCP: Make KCP pre-terminate hook more robust (#11161)
- KCP: Remove etcd member in pre-terminate hook (#11137)
- Logging: Fix predicate logging (#11406)
- Logging: Log errors on specific log levels correctly (#11233)
- Machine: Fix drain log for unreachable Nodes (#11147)
- Machine: Machine Controller should try to retrieve node on delete (#11032)
- Machine: Use correct APIVersion for KCP related exclude (#11492)
- MachineHealthCheck: MHC: fix flaky test (#11506)
- MachineSet: Align "random" deletion policy behavior regarding deletion annotations (#11431)
- Release: Set previous release tag version for RELEASE CANDIDATE/BETA RELEASE (#10435)
- Testing: Add race option to detect raced codes (#10899)
- Testing: Fix CRS test flake (#11009)
- Testing: Fix panics in patch unit tests (#11380)
- Testing: Fix: incorrect name used in kustomize path (#11305)
- Testing: Test/framework isDockerCluster should check that infra ref is present (#10971)
- util: Fix conditions hasSameState nil pointer dereference (#11254)
- util: Fix conditions lexicographicLess nil pointer dereference (#11255)
- util: Fix sorting of v1beta2 conditions when patching (#11326)
- util: Use namespace of the reference o...
v1.8.6
👌 Kubernetes version support
- Management Cluster: v1.27.x -> v1.31.x
- Workload Cluster: v1.25.x -> v1.31.x
More information about version support can be found here
Changes since v1.8.5
📈 Overview
- 8 new commits merged
- 1 bug fixed 🐛
🐛 Bug Fixes
- clusterctl: Fix: considers objects in kube-system for cert-manager to avoid upgrading twice (#11456)
🌱 Others
- clusterctl: Add nutanix ipam & runtime extensions providers (#11414)
- Dependency: Bump github.com/coredns/corefile-migration to v1.0.24 (#11533)
- Dependency: Bump go to v1.22.10 (#11536)
- Dependency: Bump Go version to v1.22.9 (#11410)
- Dependency: Update controller runtime v0.18.6 (#11525)
- e2e: Add dry-run CreateOrUpdate call in clusterctl upgrade e2e tests (#11458)
- e2e: Add retry to clusterctl
UpgradeWithBinary
(#11541)
Dependencies
Added
Nothing has changed.
Changed
- github.com/coredns/corefile-migration: v1.0.23 → v1.0.24
- sigs.k8s.io/controller-runtime: v0.18.5 → v0.18.6
Removed
Nothing has changed.
Thanks to all our contributors! 😊
v1.7.9
👌 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.8
📈 Overview
- 6 new commits merged
- 1 bug fixed 🐛
🐛 Bug Fixes
- clusterctl: Fix: considers objects in kube-system for cert-manager to avoid upgrading twice (#11455)
🌱 Others
- clusterctl: Always run crd migration if possible to reduce conversion webhook usage (#11513)
- Dependency: Bump github.com/coredns/corefile-migration to v1.0.24 (#11532)
- Dependency: Bump go 1.22.10 (#11544)
- Dependency: Bump Go version to v1.22.9 (#11420)
- e2e: Add retry to clusterctl
UpgradeWithBinary
(#11542)
Dependencies
Added
Nothing has changed.
Changed
- github.com/coredns/caddy: v1.1.0 → v1.1.1
- github.com/coredns/corefile-migration: v1.0.21 → v1.0.24
Removed
- github.com/OneOfOne/xxhash: v1.2.2
- github.com/alecthomas/template: a0175ee
- github.com/armon/circbuf: bbbad09
- github.com/armon/go-radix: 7fddfc3
- github.com/bgentry/speakeasy: v0.1.0
- github.com/bketelsen/crypt: 5cbc8cc
- github.com/cespare/xxhash: v1.1.0
- github.com/coreos/bbolt: v1.3.2
- github.com/coreos/etcd: v3.3.13+incompatible
- github.com/coreos/pkg: 399ea9e
- github.com/dgrijalva/jwt-go: v3.2.0+incompatible
- github.com/dgryski/go-sip13: e10d5fe
- github.com/ghodss/yaml: v1.0.0
- github.com/go-kit/kit: v0.8.0
- github.com/go-stack/stack: v1.8.0
- github.com/hashicorp/consul/sdk: v0.1.1
- github.com/hashicorp/errwrap: v1.0.0
- github.com/hashicorp/go-msgpack: v0.5.3
- github.com/hashicorp/go-multierror: v1.0.0
- github.com/hashicorp/go-sockaddr: v1.0.0
- github.com/hashicorp/go-syslog: v1.0.0
- github.com/hashicorp/go-uuid: v1.0.1
- github.com/hashicorp/go.net: v0.0.1
- github.com/hashicorp/logutils: v1.0.0
- github.com/hashicorp/mdns: v1.0.0
- github.com/hashicorp/memberlist: v0.1.3
- github.com/konsorten/go-windows-terminal-sequences: v1.0.1
- github.com/kr/logfmt: b84e30a
- github.com/miekg/dns: v1.0.14
- github.com/mitchellh/cli: v1.0.0
- github.com/mitchellh/go-testing-interface: v1.0.0
- github.com/mitchellh/gox: v0.4.0
- github.com/mitchellh/iochan: v1.0.0
- github.com/oklog/ulid: v1.3.1
- github.com/pascaldekloe/goe: 57f6aae
- github.com/pelletier/go-toml: v1.2.0
- github.com/posener/complete: v1.1.1
- github.com/prometheus/tsdb: v0.7.1
- github.com/ryanuber/columnize: 9b3edd6
- github.com/sean-/seed: e2103e2
- github.com/shurcooL/sanitized_anchor_name: v1.0.0
- github.com/spaolacci/murmur3: f09979e
- github.com/spf13/jwalterweatherman: v1.0.0
- gopkg.in/alecthomas/kingpin.v2: v2.2.6
- gopkg.in/resty.v1: v1.12.0
Thanks to all our contributors! 😊
v1.9.0-rc.1
🚨 This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an issue.
👌 Kubernetes version support
- Management Cluster: v1.28.x -> v1.31.x
- Workload Cluster: v1.26.x -> v1.31.x
Highlights
- Bumped to controller-runtime v0.19, k8s.io/* v0.31, controller-gen v0.16
- Improvements to status fields: (#11105)
- Proposal: Improving status in CAPI resources
- Just a few highlights:
- Overhaul of our contract documentation: Provider contracts
- Implemented v1beta2 conditions for core Cluster API objects
- Huge improvements to
Deleting
conditions of Cluster, KCP, MD, MS and Machines - Added
Available
conditions to Cluster, KCP and MD - Added
ControlPlaneInitialized
,ControlPlaneAvailable
,WorkersAvailable
,RemoteConnectionProbe
, conditions to Cluster - Added
UpToDate
conditions to KCP and MD Machines - Added
ScalingUp
,ScalingDown
,Remediating
,MachinesReady
,MachinesUpToDate
conditions to Cluster, KCP, MD and MS - Significantly improved
Available
,EtcdClusterHealthy
andControlPlaneComponentsHealthy
conditions on KCP - Added
Paused
conditions - Improved counter fields for Cluster, KCP, MD, MS
- Added utils and extended patch helper for v1beta2 conditions
- ClusterCache supersedes the now deprecated ClusterCacheTracker (#11272)
- ClusterClass: Support oneOf/anyOf/allOf/not in variable schemas (#10637)
- Improved logging in predicates (#10959 #11239 #11188)
- KubeadmControlPlane: Implement pre-terminate hook for clean Machine Deletion (#11137)
- KubeadmControlPlane: NamingStrategy for Machines (#11123)
- MachineSetPreflightChecks feature got promoted to beta (#11228)
- MachineSet/MachineDeployment: Foreground deletion for MachineDeployments and MachineSets (#11174)
- Machine: Improvements to Node drain:
- Improve Node drain observability (#11074 #11121): documentation: Machine deletion process
- MachineDrainRules Configurable Machine drain behavior (#11240): Proposal: MachineDrainRules
- Stop waiting for detachment of volumes belonging to Pods ignored during drain (#11246 #11386)
- As usual, significantly improved e2e test framework & coverage (e.g. #11066 #11333 #10984 #11082 #11212 #11127 #11362)
- New providers in clusterctl: Canonical (#11337), Nutanix (#11135), Vultr (#11091)
Deprecation and Removals Warning
- API: Deprecated FailureMessage and FailureReason fields (#11317)
- The ClusterCacheTracker component has been deprecated (#11312 #11340), please use the new ClusterCache instead.
- For more context and examples for how to use it, see PR: Introduce new ClusterCache and the corresponding issue
- Please note:
- The DisabledFor option (previously ClientUncachedObjects) is not defaulted to &corev1.ConfigMap & &corev1.Secret anymore, thus it’s now necessary to explicitly set DisabledFor to avoid caching ConfigMaps and Secrets.
- SecretClient and UserAgent are now mandatory options, please take a look at the corresponding godoc.
- The
--clustercachetracker-concurrency
,--clustercachetracker-client-qps
and--clustercachetracker-client-burst
flags on all core CAPI controllers have been renamed to--clustercache-concurrency
,--clustercache-client-qps
and--clustercache-client-burst
- The deprecated
--metrics-bind-addr
flag has been removed (#11140) - Deprecated obsolete
errors
package (#10798) - Deprecated
ClusterCreateInfraReady
andClusterUnpausedAndInfrastructureReady
predicates (#11300)
Changes since v1.9.0-rc.0
📈 Overview
- 20 new commits merged
- 2 breaking changes
⚠️ - 3 bugs fixed 🐛
⚠️ Breaking Changes
- API: Deprecate replica counters planned for removal (#11517)
- MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11514)
🐛 Bug Fixes
- CI: Kind: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11485)
- Machine: Use correct APIVersion for KCP related exclude (#11492)
- MachineHealthCheck: MHC: fix flaky test (#11506)
🌱 Others
- clusterctl: Properly indent multiline lists in clusterctl describe (#11509)
- Conditions: Drop unused v1beta2 conditions and reasons (#11523)
- Conditions: KCP: make EtcdMemberHealthy less verbose on client creation failures (#11510)
- Conditions: Machine: sort list of hooks for stable condition messages (#11488)
- Conditions: Refine v1beta2 summary (#11499)
- Conditions: Refine v1beta2 UpToDate and Rollout conditions (#11507)
- Conditions: Small improvements to v1beta2 conditions godoc (#11528)
- Dependency: Update controller-runtime to v0.19.3 (#11527)
- e2e: Use latest kind image for K8s1.31 in E2E tests (#11511)
- KCP: Drop retry when computing KCP conditions (#11522)
- KCP: Drop unnecessary etcd call from KCP (#11493)
- KCP: Refine KCP's Available, ControlPlaneComponentsHealthy, EtcdClusterHealthy v1beta2 conditions (#11512)
- Machine: Refine v1beta2 NodeHealthy condition (#11497)
- MachineDeployment: Refine MachineDeployment v1beta2 available condition (#11505)
- Release: Update md link check for release-1.9 (#11481)
Dependencies
Added
Nothing has changed.
Changed
- sigs.k8s.io/controller-runtime: v0.19.2 → v0.19.3
Removed
Nothing has changed.
More details about the release
Changes since v1.8.0
📈 Overview
- 342 new commits merged
- 5 breaking changes
⚠️ - 33 feature additions ✨
- 39 bugs fixed 🐛
📝 Proposals
- Conditions: Small improvements to the v1beta2 status proposal (#11460)
⚠️ Breaking Changes
- API: Deprecate replica counters planned for removal (#11517)
- Machine: Ignore attached Volumes referred by pods ignored during drain (#11246)
- MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11514)
- util: Fix object logging in predicates (#11239)
- util: Fix object logging in ResourceHasFilterLabel, ResourceNotPaused & ResourceNotPausedAndHasFilterLabel predicates (#11188)
✨ New Features
- API: Add v1beta2 structs to object status (#11234)
- API: Update machine with v1beta2 status (#11276)
- API: Update machineset with v1beta2 status test (#11278)
- ClusterCacheTracker: Add typed watcher to ClusterCache (#11331)
- ClusterCacheTracker: Introduce new ClusterCache (#11247)
- ClusterClass: Add support for oneOf/anyOf/allOf/not ClusterClass variable schema constructs (#10637)
- ClusterClass: Ensure templates are created in the Cluster namespace (#11366)
- clusterctl: Add support for v1beta2 conditions to clusterctl describe (#11277)
- clusterctl: Allow user to suppress API warnings (#11149)
- clusterctl: Suppress "finalizer name" API warnings in "move" command (#11173)
- Core: Add v1beta2 condition to Cluster controller (#11364)
- Dependency: Bump to controller-runtime v0.19 & controller-tools v0.16 (#10803)
- e2e: Bump Kubernetes to v1.31.0-rc.1 (#11021)
- e2e: Bump Kubernetes version used for testing to v1.31.0-rc.0 (#10965)
- e2e: Bump Kubernetes version used for testing to v1.32.0-beta.0 (#11388)
- e2e: Detect panics in e2e tests (#11066)
- KCP: Add machine UpToDate condition to KCP (#11389)
- KCP: Add v1beta2 available condition to KCP (#11383)
- KCP: Add v1beta2 Etcd and ControlPlaneComponents conditions to KCP (#11302)
- KCP: Add v1beta2 OwnerRemediated condition to KCP (#11297)
- KCP/CAPD: Add more v1beta2 conditions to KCP (#11320)
- Logging: Suppress finalizer name API warnings in CAPI, CABPK, and KCP controller logs (#11242)
- Machine: Implement MachineDrainRules (#11353)
- Machine: Introduce Deletion status field and add timestamps for drain and volumeDetach instead of using the condition (#11166)
- Machine: Refactor node drain (#11074)
- MachineDeployment: Add v1beta2 condition to MD controller (#11338)
- MachineHealthCheck: Update MHC with v1Beta2 status (#11290)
- MachineSet: Add machine UpToDate condition to MachineSet (#11393)
- MachineSet: Promote MachineSetPreflightChecks to Beta (#11228)
- Testing: Bump Kubernetes in tests to v1.31.0 and claim support for v1.31 (#11030)
- Testing: Collect additional logs with CAPD log collector (#11083)
- util: Implement utils for v1beta2 conditions (#10997)
- util: Warning handler that discards messages that match a regular expression (#11179)
🐛 Bug Fixes
- API: Drop caBundle from CRDs to support Kubernetes 1.31 (#10972)
- API: Fix panics in SetV1Beta2Conditions methods (#11369)
- API: Re-add /finalizers subresource RBAC (#11106)
- Bootstrap: Always declare try-or-die-command function in kubeadm-bootstrap-script.sh (#11089)
- CABPK: Bootstrap: fix useExperimentalRetryJoin for kubernetes v1.31 (#10983)
- CAPD: Ensure DockerMachinePool providerIDList is deterministic (#10998)
- CI: Hack: fix the shell used when running pr-verify (#11169)
- CI: Kind: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11485)
- Cluster: Disable aggregation of not reported MachinePool conditions for Cluster (#11416)
- Cluster: Fix RuntimeClient nil check in Cluster controller (#11426)
- ClusterCacheTracker: Improve context handling in ClusterCache (#11445)
- ClusterCacheTracker: Try to fix TestClusterCacheHealthCheck test (#11343)
- Clus...
v1.9.0-rc.0
🚨 This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an issue.
👌 Kubernetes version support
- Management Cluster: v1.28.x -> v1.31.x
- Workload Cluster: v1.26.x -> v1.31.x
Highlights
- Bumped to controller-runtime v0.19, k8s.io/* v0.31, controller-gen v0.16
- Improvements to status fields: (#11105)
- Proposal: Improving status in CAPI resources
- Just a few highlights:
- Overhaul of our contract documentation: Provider contracts
- Implemented v1beta2 conditions for core Cluster API objects
- Huge improvements to
Deleting
conditions of Cluster, KCP, MD, MS and Machines - Added
Available
conditions to Cluster, KCP and MD - Added
ControlPlaneInitialized
,ControlPlaneAvailable
,WorkersAvailable
,RemoteConnectionProbe
, conditions to Cluster - Added
UpToDate
conditions to KCP and MD Machines - Added
ScalingUp
,ScalingDown
,Remediating
,MachinesReady
,MachinesUpToDate
conditions to Cluster, KCP, MD and MS - Significantly improved
Available
,EtcdClusterHealthy
andControlPlaneComponentsHealthy
conditions on KCP - Added
Paused
conditions - Improved counter fields for Cluster, KCP, MD, MS
- Added utils and extended patch helper for v1beta2 conditions
- ClusterCache supersedes the now deprecated ClusterCacheTracker (#11272)
- ClusterClass: Support oneOf/anyOf/allOf/not in variable schemas (#10637)
- Improved logging in predicates (#10959 #11239 #11188)
- KubeadmControlPlane: Implement pre-terminate hook for clean Machine Deletion (#11137)
- KubeadmControlPlane: NamingStrategy for Machines (#11123)
- MachineSetPreflightChecks feature got promoted to beta (#11228)
- MachineSet/MachineDeployment: Foreground deletion for MachineDeployments and MachineSets (#11174)
- Machine: Improvements to Node drain:
- Improve Node drain observability (#11074 #11121): documentation: Machine deletion process
- MachineDrainRules Configurable Machine drain behavior (#11240): Proposal: MachineDrainRules
- Stop waiting for detachment of volumes belonging to Pods ignored during drain (#11246 #11386)
- As usual, significantly improved e2e test framework & coverage (e.g. #11066 #11333 #10984 #11082 #11212 #11127 #11362)
- New providers in clusterctl: Canonical (#11337), Nutanix (#11135), Vultr (#11091)
Deprecation and Removals Warning
- API: Deprecated FailureMessage and FailureReason fields (#11317)
- The ClusterCacheTracker component has been deprecated (#11312 #11340), please use the new ClusterCache instead.
- For more context and examples for how to use it, see PR: Introduce new ClusterCache and the corresponding issue
- Please note:
- The DisabledFor option (previously ClientUncachedObjects) is not defaulted to &corev1.ConfigMap & &corev1.Secret anymore, thus it’s now necessary to explicitly set DisabledFor to avoid caching ConfigMaps and Secrets.
- SecretClient and UserAgent are now mandatory options, please take a look at the corresponding godoc.
- The
--clustercachetracker-concurrency
,--clustercachetracker-client-qps
and--clustercachetracker-client-burst
flags on all core CAPI controllers have been renamed to--clustercache-concurrency
,--clustercache-client-qps
and--clustercache-client-burst
- The deprecated
--metrics-bind-addr
flag has been removed (#11140) - Deprecated obsolete
errors
package (#10798) - Deprecated
ClusterCreateInfraReady
andClusterUnpausedAndInfrastructureReady
predicates (#11300)
Changes since v1.9.0-beta.1
📈 Overview
- 23 new commits merged
- 1 feature addition ✨
- 1 bug fixed 🐛
📝 Proposals
- Conditions: Small improvements to the v1beta2 status proposal (#11460)
✨ New Features
- clusterctl: Add support for v1beta2 conditions to clusterctl describe (#11277)
🐛 Bug Fixes
- MachineSet: Align "random" deletion policy behavior regarding deletion annotations (#11431)
🌱 Others
- CABPK: Add v1beta2 conditions to CABPK (#11452)
- CAPD: Improve CAPD load balancer (#11430)
- clusterctl: Bump cert-manager to v1.16.2 (#11462)
- clusterctl: Do not fail when running clusterctl with a build without GitVersion information (#11468)
- Conditions: Add v1beta2 RollingOut condition (#11463)
- Conditions: Cluster: split MachinesReady and MachinesUpToDate into ControlPlane and Worker specific conditions (#11461)
- Conditions: Crs: implement ResourcesApplied v1beta2 condition (#11467)
- Conditions: KCP: handle members without name in MemberNames (#11446)
- Conditions: Mhc: Don't set OwnerRemediated on deleting machines (#11465)
- e2e: Bump kind to v0.25.0 (#11473)
- KCP: Add test coverage for etcd member list util (#11449)
- KCP: Cache Pods for KCP (#11453)
- KCP: Change Pod does not exist message to allow aggregation (#11447)
- KCP: Refine v1beta2 KCP available condition (#11451)
- KCP: Retry in case of etcd errors in KCP (#11450)
- Machine: Improve Drain for control plane machines (#11457)
- MachineSet: Add MD watch to the MS controller (#11448)
- util: Add new utility function to set LastTransitionTime only when status of condition changes (#11176)
Dependencies
Added
Nothing has changed.
Changed
- github.com/onsi/ginkgo/v2: v2.21.0 → v2.22.0
- github.com/onsi/gomega: v1.35.1 → v1.36.0
- k8s.io/api: v0.31.2 → v0.31.3
- k8s.io/apiextensions-apiserver: v0.31.2 → v0.31.3
- k8s.io/apimachinery: v0.31.2 → v0.31.3
- k8s.io/apiserver: v0.31.2 → v0.31.3
- k8s.io/client-go: v0.31.2 → v0.31.3
- k8s.io/cluster-bootstrap: v0.31.2 → v0.31.3
- k8s.io/code-generator: v0.31.2 → v0.31.3
- k8s.io/component-base: v0.31.2 → v0.31.3
- k8s.io/kms: v0.31.2 → v0.31.3
- sigs.k8s.io/controller-runtime: v0.19.1 → v0.19.2
Removed
Nothing has changed.
More details about the release
Changes since v1.8.0
📈 Overview
- 321 new commits merged
- 3 breaking changes
⚠️ - 33 feature additions ✨
- 36 bugs fixed 🐛
📝 Proposals
- Conditions: Small improvements to the v1beta2 status proposal (#11460)
⚠️ Breaking Changes
- Machine: Ignore attached Volumes referred by pods ignored during drain (#11246)
- util: Fix object logging in predicates (#11239)
- util: Fix object logging in ResourceHasFilterLabel, ResourceNotPaused & ResourceNotPausedAndHasFilterLabel predicates (#11188)
✨ New Features
- API: Add v1beta2 structs to object status (#11234)
- API: Update machine with v1beta2 status (#11276)
- API: Update machineset with v1beta2 status test (#11278)
- ClusterCacheTracker: Add typed watcher to ClusterCache (#11331)
- ClusterCacheTracker: Introduce new ClusterCache (#11247)
- ClusterClass: Add support for oneOf/anyOf/allOf/not ClusterClass variable schema constructs (#10637)
- ClusterClass: Ensure templates are created in the Cluster namespace (#11366)
- clusterctl: Add support for v1beta2 conditions to clusterctl describe (#11277)
- clusterctl: Allow user to suppress API warnings (#11149)
- clusterctl: Suppress "finalizer name" API warnings in "move" command (#11173)
- Core: Add v1beta2 condition to Cluster controller (#11364)
- Dependency: Bump to controller-runtime v0.19 & controller-tools v0.16 (#10803)
- e2e: Bump Kubernetes to v1.31.0-rc.1 (#11021)
- e2e: Bump Kubernetes version used for testing to v1.31.0-rc.0 (#10965)
- e2e: Bump Kubernetes version used for testing to v1.32.0-beta.0 (#11388)
- e2e: Detect panics in e2e tests (#11066)
- KCP: Add machine UpToDate condition to KCP (#11389)
- KCP: Add v1beta2 available condition to KCP (#11383)
- KCP: Add v1beta2 Etcd and ControlPlaneComponents conditions to KCP (#11302)
- KCP: Add v1beta2 OwnerRemediated condition to KCP (#11297)
- Logging: Suppress finalizer name API warnings in CAPI, CABPK, and KCP controller logs (#11242)
- Machine: Implement MachineDrainRules (#11353)
- Machine: Introduce Deletion status field and add timestamps for drain and volumeDetach instead of using the condition (#11166)
- Machine: Refactor node drain (#11074)
- MachineDeployment: Add v1beta2 condition to MD controller (#11338)
- MachineHealthCheck: Update MHC with v1Beta2 status (#11290)
- MachineSet: Add machine UpToDate condition to MachineSet (#11393)
- MachineSet: Promote MachineSetPreflightChecks to Beta (#11228)
- KCP/CAPD: Add more v1beta2 conditions to KCP (#11320)
- Testing: Bump Kubernetes in tests to v1.31.0 and claim support for v1.31 (#11030)
- Testing: Collect additional logs with CAPD log collector (#11083)
- util: Implement utils for v1beta2 conditions (#10997)
- util: Warning handler that discards messages that match a regular expression (#11179)
🐛 Bug Fixes
- API: Drop caBundle from CRDs to support Kubernetes 1.31 (#10972)
- API: Fix panics in SetV1Beta2Conditions methods (#11369)
- API: Re-add /finalizers subresource RBAC (#11106)
- Bootstrap: Always declare try-or-die-command function in kubeadm-bootstrap-script.sh (#11089)
- CABPK: Bootstrap: fix useExperimentalRetryJoin for kubernetes v1.31 (#10983)
- CAPD: Ensure DockerMachinePool provide...
v1.9.0-beta.1
🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, file an issue.
👌 Kubernetes version support
- Management Cluster: v1.28.x -> v1.31.x
- Workload Cluster: v1.26.x -> v1.31.x
Highlights
- Bumped to controller-runtime v0.19, k8s.io/* v0.31, controller-gen v0.16
- Improvements to status fields: (#11105)
- Proposal: Improving status in CAPI resources
- Just a few highlights:
- Overhaul of our contract documentation: Provider contracts
- Implemented v1beta2 conditions for core Cluster API objects
- Huge improvements to
Deleting
conditions of Cluster, KCP, MD, MS and Machines - Added
Available
conditions to Cluster, KCP and MD - Added
ControlPlaneInitialized
,ControlPlaneAvailable
,WorkersAvailable
,RemoteConnectionProbe
, conditions to Cluster - Added
UpToDate
conditions to KCP and MD Machines - Added
ScalingUp
,ScalingDown
,Remediating
,MachinesReady
,MachinesUpToDate
conditions to Cluster, KCP, MD and MS - Significantly improved
Available
,EtcdClusterHealthy
andControlPlaneComponentsHealthy
conditions on KCP - Added
Paused
conditions - Improved counter fields for Cluster, KCP, MD, MS
- Added utils and extended patch helper for v1beta2 conditions
- ClusterCache supersedes the now deprecated ClusterCacheTracker (#11272)
- ClusterClass: Support oneOf/anyOf/allOf/not in variable schemas (#10637)
- Improved logging in predicates (#10959 #11239 #11188)
- KubeadmControlPlane: Implement pre-terminate hook for clean Machine Deletion (#11137)
- KubeadmControlPlane: NamingStrategy for Machines (#11123)
- MachineSetPreflightChecks feature got promoted to beta (#11228)
- MachineSet/MachineDeployment: Foreground deletion for MachineDeployments and MachineSets (#11174)
- Machine: Improvements to Node drain:
- Improve Node drain observability (#11074 #11121): documentation: Machine deletion process
- MachineDrainRules Configurable Machine drain behavior (#11240): Proposal: MachineDrainRules
- Stop waiting for detachment of volumes belonging to Pods ignored during drain (#11246 #11386)
- As usual, significantly improved e2e test framework & coverage (e.g. #11066 #11333 #10984 #11082 #11212 #11127 #11362)
- New providers in clusterctl: Canonical (#11337), Nutanix (#11135), Vultr (#11091)
Deprecation and Removals Warning
- API: Deprecated FailureMessage and FailureReason fields (#11317)
- The ClusterCacheTracker component has been deprecated (#11312 #11340), please use the new ClusterCache instead.
- For more context and examples for how to use it, see PR: Introduce new ClusterCache and the corresponding issue
- Please note:
- The DisabledFor option (previously ClientUncachedObjects) is not defaulted to &corev1.ConfigMap & &corev1.Secret anymore, thus it’s now necessary to explicitly set DisabledFor to avoid caching ConfigMaps and Secrets.
- SecretClient and UserAgent are now mandatory options, please take a look at the corresponding godoc.
- The
--clustercachetracker-concurrency
,--clustercachetracker-client-qps
and--clustercachetracker-client-burst
flags on all core CAPI controllers have been renamed to--clustercache-concurrency
,--clustercache-client-qps
and--clustercache-client-burst
- The deprecated
--metrics-bind-addr
flag has been removed (#11140) - Deprecated obsolete
errors
package (#10798) - Deprecated
ClusterCreateInfraReady
andClusterUnpausedAndInfrastructureReady
predicates (#11300)
Changes since v1.9.0-beta.0
📈 Overview
- 48 new commits merged
- 6 feature additions ✨
- 6 bugs fixed 🐛
✨ New Features
- ClusterCacheTracker: Add typed watcher to ClusterCache (#11331)
- Core: Add v1beta2 condition to Cluster controller (#11364)
- e2e: Bump Kubernetes version used for testing to v1.32.0-beta.0 (#11388)
- KCP: Add machine UpToDate condition to KCP (#11389)
- KCP: Add v1beta2 available condition to KCP (#11383)
- MachineSet: Add machine UpToDate condition to MachineSet (#11393)
🐛 Bug Fixes
- Cluster: Disable aggregation of not reported MachinePool conditions for Cluster (#11416)
- Cluster: Fix RuntimeClient nil check in Cluster controller (#11426)
- clusterctl: Fix: considers objects in kube-system for cert-manager to avoid upgrading twice (#11351)
- KCP: Fix TestControlPlane/MachinesUpToDate flake (#11398)
- Logging: Fix predicate logging (#11406)
- util: Use namespace of the reference on external.Get (#11361)
🌱 Others
- Cluster: Add MD/MP watches to Cluster controller (#11408)
- Cluster: Improve Cluster RemoteConnectionProbe condition (#11417)
- ClusterClass: Add v1beta2 conditions to ClusterClass (#11428)
- ClusterClass: Implement Cluster TopologyReconciled v1beta2 condition (#11394)
- clusterctl: Add nutanix ipam & runtime extensions providers (#11135)
- Conditions: Fix messages of conditions used for summaries and aggregations (#11435)
- Conditions: Ignore new Machines when calculating MachinesUpToDate condition (#11433)
- Conditions: Refine v1beta2 stale deletion messages (#11434)
- Conditions: Various improvements of v1beta2 conditions (#11422)
- Core: Audit patch withOwnedConditions (#11396)
- Core: Refine v1beta2 condition messages (#11404)
- Core: Refine v1beta2 condition reasons (#11411)
- Core: Refine v1beta2 mirror conditions (#11419)
- Core: Refine v1beta2 ScalingUp conditions (#11432)
- Dependency: Bump Go version to v1.22.9 (#11409)
- KCP: Refine v1beta2 Available condition in KCP (#11425)
- KCP: Refine v1beta2 ControlPlaneHealthy condition (#11438)
- Machine: Add feature gate to consider VolumeAttachments when waiting for volume detach (#11386)
- Machine: Extend Node drain e2e test to cover MachineDrainRules (#11362)
- Machine: Rate-limit entire reconcileDelete (#11436)
- Machine: Refine v1beta2 machine ready (#11437)
- MachineSet: Extend MS ScalingUp and Remediationg conditions to include preflight check errors (#11390)
- MachineSet: Implement MS remediating conditions (#11382)
- ClusterClass/MachinePool: Remove paused handling from reconcileExternal (#11400)
- KCP/MachineSet: Implement KCP and MS Deleting conditions (#11381)
- util: Improve v1beta2 condition ordering (#11418)
- util: Refine order for v1beta2 summary util (#11421)
- util: Refine v1beta2 aggregation order (#11423)
- util: Refine v1beta2 condition order (#11424)
- util: Refine v1beta2 object sort for aggregation (#11429)
Dependencies
Added
Nothing has changed.
Changed
- go.etcd.io/etcd/api/v3: v3.5.16 → v3.5.17
- go.etcd.io/etcd/client/pkg/v3: v3.5.16 → v3.5.17
- go.etcd.io/etcd/client/v3: v3.5.16 → v3.5.17
- golang.org/x/crypto: v0.28.0 → v0.29.0
- golang.org/x/net: v0.30.0 → v0.31.0
- golang.org/x/oauth2: v0.23.0 → v0.24.0
- golang.org/x/sync: v0.8.0 → v0.9.0
- golang.org/x/sys: v0.26.0 → v0.27.0
- golang.org/x/term: v0.25.0 → v0.26.0
- golang.org/x/text: v0.19.0 → v0.20.0
Removed
Nothing has changed.
More details about the release
Changes since v1.8.0
📈 Overview
- 295 new commits merged
- 3 breaking changes
⚠️ - 32 feature additions ✨
- 34 bugs fixed 🐛
⚠️ Breaking Changes
- Machine: Ignore attached Volumes referred by pods ignored during drain (#11246)
- util: Fix object logging in predicates (#11239)
- util: Fix object logging in ResourceHasFilterLabel, ResourceNotPaused & ResourceNotPausedAndHasFilterLabel predicates (#11188)
✨ New Features
- API: Add v1beta2 structs to object status (#11234)
- API: Update machine with v1beta2 status (#11276)
- API: Update machineset with v1beta2 status test (#11278)
- ClusterCacheTracker: Add typed watcher to ClusterCache (#11331)
- ClusterCacheTracker: Introduce new ClusterCache (#11247)
- ClusterClass: Add support for oneOf/anyOf/allOf/not ClusterClass variable schema constructs (#10637)
- ClusterClass: Ensure templates are created in the Cluster namespace (#11366)
- clusterctl: Allow user to suppress API warnings (#11149)
- clusterctl: Suppress "finalizer name" API warnings in "move" command (#11173)
- Core: Add v1beta2 condition to Cluster controller (#11364)
- Dependency: Bump to controller-runtime v0.19 & controller-tools v0.16 (#10803)
- e2e: Bump Kubernetes to v1.31.0-rc.1 (#11021)
- e2e: Bump Kubernetes version used for testing to v1.31.0-rc.0 (#10965)
- e2e: Bump Kubernetes version used for testing to v1.32.0-beta.0 (#11388)
- e2e: Detect panics in e2e tests (#11066)
- KCP: Add machine UpToDate condition to KCP (#11389)
- KCP: Add v1beta2 available condition to KCP (#11383)
- KCP: Add v1beta2 Etcd and ControlPlaneComponents conditions to KCP (#11302)
- KCP: Add v1beta2 OwnerRemediated condition to KCP (#11297)
- Logging: Suppress finalizer name API warnings in CAPI, CABPK, and KCP controller logs (#11242)
- Machine: Implement MachineDrainRules (#11353)
- Machine: Introduce Deletion status field and add timestamps for drain and volumeDetach instead of using the condition (#11166)
- Machine: Refactor node drain (#11074)
- MachineDeployment: Add v1beta2 condition to MD controller (#11338)
- MachineHealthCheck: Update MHC with v1Beta2 status (#11290)
- Machine...
v1.9.0-beta.0
🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, file an issue.
👌 Kubernetes version support
- Management Cluster: v1.28.x -> v1.31.x
- Workload Cluster: v1.26.x -> v1.31.x
Deprecations and Removals
- The
--clustercachetracker-concurrency
,--clustercachetracker-client-qps
and--clustercachetracker-client-burst
flags on all core CAPI controllers have been renamed to--clustercache-concurrency
,--clustercache-client-qps
and--clustercache-client-burst
- ClusterCacheTracker: Deprecate CCT ErrClusterLocked (#11340)
- ClusterCacheTracker: Deprecate ClusterCacheTracker (#11312)
- API: Deprecate FailureMessage and FailureReason (#11317)
More details about the release
More information about version support can be found here
Changes since v1.8.0
📈 Overview
- 238 new commits merged
- 3 breaking changes
⚠️ - 24 feature additions ✨
- 27 bugs fixed 🐛
⚠️ Breaking Changes
- Machine: Ignore attached Volumes referred by pods ignored during drain (#11246)
- util: Fix object logging in predicates (#11239)
- util: Fix object logging in ResourceHasFilterLabel, ResourceNotPaused & ResourceNotPausedAndHasFilterLabel predicates (#11188)
✨ New Features
- API: Add v1beta2 structs to object status (#11234)
- API: Update machine with v1beta2 status (#11276)
- API: Update machineset with v1beta2 status test (#11278)
- ClusterCacheTracker: Introduce new ClusterCache (#11247)
- ClusterClass: Add support for oneOf/anyOf/allOf/not ClusterClass variable schema constructs (#10637)
- clusterctl: Allow user to suppress API warnings (#11149)
- clusterctl: Suppress "finalizer name" API warnings in "move" command (#11173)
- Dependency: Bump to controller-runtime v0.19 & controller-tools v0.16 (#10803)
- e2e: Bump Kubernetes to v1.31.0-rc.1 (#11021)
- e2e: Bump Kubernetes version used for testing to v1.31.0-rc.0 (#10965)
- e2e: Detect panics in e2e tests (#11066)
- KCP: Add v1beta2 Etcd and ControlPlaneComponents conditions to KCP (#11302)
- KCP: Add v1beta2 OwnerRemediated condition to KCP (#11297)
- Logging: Suppress finalizer name API warnings in CAPI, CABPK, and KCP controller logs (#11242)
- Machine: Introduce Deletion status field and add timestamps for drain and volumeDetach instead of using the condition (#11166)
- Machine: Refactor node drain (#11074)
- MachineDeployment: Add v1beta2 condition to MD controller (#11338)
- MachineHealthCheck: Update MHC with v1Beta2 status (#11290)
- MachineSet: Promote MachineSetPreflightChecks to Beta (#11228)
- KCP/CAPD: Add more v1beta2 conditions to KCP (#11320)
- Testing: Bump Kubernetes in tests to v1.31.0 and claim support for v1.31 (#11030)
- Testing: Collect additional logs with CAPD log collector (#11083)
- util: Implement utils for v1beta2 conditions (#10997)
- util: Warning handler that discards messages that match a regular expression (#11179)
🐛 Bug Fixes
- API: Drop caBundle from CRDs to support Kubernetes 1.31 (#10972)
- API: Fix panics in SetV1Beta2Conditions methods (#11369)
- API: Re-add /finalizers subresource RBAC (#11106)
- Bootstrap: Always declare try-or-die-command function in kubeadm-bootstrap-script.sh (#11089)
- CABPK: Bootstrap: fix useExperimentalRetryJoin for kubernetes v1.31 (#10983)
- CAPD: Ensure DockerMachinePool providerIDList is deterministic (#10998)
- CI: Hack: fix the shell used when running pr-verify (#11169)
- ClusterCacheTracker: Try to fix TestClusterCacheHealthCheck test (#11343)
- ClusterClass: Fix nil pointer for empty workers in webhook (#11197)
- ClusterClass: Fix RuntimeClient nil check in ClusterClass controller (#11350)
- clusterctl: Ensure move uses mutated metadata when updating a target object (#10957)
- clusterctl: Handle a nil mutator by returning an error, not panicking (#10951)
- Dependency: Update controller-runtime dependency to v0.18.5 (#11045)
- KCP: Consider all machines for setting .status.version (#11304)
- KCP: Make KCP pre-terminate hook more robust (#11161)
- KCP: Remove etcd member in pre-terminate hook (#11137)
- Logging: Log errors on specific log levels correctly (#11233)
- Machine: Fix drain log for unreachable Nodes (#11147)
- Machine: Machine Controller should try to retrieve node on delete (#11032)
- Release: Set previous release tag version for RELEASE CANDIDATE/BETA RELEASE (#10435)
- Testing: Add race option to detect raced codes (#10899)
- Testing: Fix CRS test flake (#11009)
- Testing: Fix: incorrect name used in kustomize path (#11305)
- Testing: Test/framework isDockerCluster should check that infra ref is present (#10971)
- util: Fix conditions hasSameState nil pointer dereference (#11254)
- util: Fix conditions lexicographicLess nil pointer dereference (#11255)
- util: Fix sorting of v1beta2 conditions when patching (#11326)
🌱 Others
- API: Add maxItems to all condition fields (#11256)
- API: Deprecate FailureMessage and FailureReason (#11317)
- API: Refactor godoc for API fields starting with field names (#11273)
- API: Remove duplicate ca injection via kustomize (#10969)
- API: Remove unused Paused conditions & minor MHC godoc fixes (#11298)
- API: V1beta2 conditions: add function for setting the Paused condition (#11284)
- CI: Bump golangci to v1.60.2 (#11132)
- CI: Fix exclude for revision management in .golangci.yml (#11060)
- CI: Golangci: add comments to enabled linters (#11142)
- CI: Pr-verify: use env var for passing the PR title (#11229)
- CI: Replace kubebuilder-release-tools with new workflow (#11062)
- CI: Switch to using ECR mirror for trivy DB repo in weekly security scan (#11260)
- CI: Update version matrix for github workflows (#10963)
- ClusterCacheTracker: Add cacheSyncPeriod option to ClusterCacheTracker (#11248)
- ClusterCacheTracker: Deprecate CCT ErrClusterLocked (#11340)
- ClusterCacheTracker: Deprecate ClusterCacheTracker (#11312)
- ClusterCacheTracker: Fix flake in TestClusterReconciler (#11314)
- ClusterClass: Improve reconcile state logs (don't log empty diff) (#11013)
- ClusterClass: Make Type in ClusterClass variable schema properly optional (#11259)
- clusterctl: Add Canonical Kubernetes providers (#11337)
- clusterctl: Add vultr infrastructure provider (#11091)
- clusterctl: Bump cert manager to v1.16.0 (#11263)
- clusterctl: Bump cert-manager to 1.15.3 (#11068)
- clusterctl: Bump cert-manager to 1.16.1 (#11322)
- clusterctl: Bump cert-manager to v1.15.2 (#10988)
- clusterctl: GitLab can use both Path and RawPath (#10608)
- clusterctl: Improve clusterctl client config logic & error message (#11049)
- clusterctl: Update Config generation to use inClusterConfig (#10729)
- clusterctl: Update RKE2 provider URL (#11216)
- Core: Refactor Cluster controller (#11345)
- Dependency: Bump Go to v1.22.8 version (#11357)
- Dependency: Bump setup-envtest to v0.19 (#11063)
- Dependency: Bump to Go 1.22.7 (#11156)
- Dependency: Remove Go dependencies on k8s.io/kubectl, k8s.io/metrics, sigs.k8s.io/kustomize, ... (#11295)
- Devtools: Fix parsing of
config.live_reload_deps
from Tilt provider config file (#11270) - e2e: Add dry-run CreateOrUpdate call in clusterctl upgrade e2e tests (#11349)
- e2e: Bump kind to v0.24.0 (#11081)
- e2e: Dump cluster resources if deletion times out (#10961)
- e2e: Export scale e2e test to make it reusable by providers (#11333)
- e2e: Improve error output of ValidateResourceVersionStable (#11012)
- e2e: Remove json logging replacement in e2e test config (#11318)
- e2e: Remove redundant self-hosted and clusterctl upgrade tests (#11073)
- e2e: Test/e2e: decrease concurrency (#11220)
- e2e: Test/e2e: increase concurrency (#11067)
- e2e: Test/framework: scale up should use allocatable memory (#11004)
- e2e: Test: add coverage to find issues running on the next kubernetes release as management cluster (#10984)
- e2e: Test: add PreWaitForControlplaneToBeUpgraded to ClusterUpgradeConformanceSpec (#11145)
- e2e: Test: Bump autoscaler to v1.31.0 (#11111)
- e2e: Test: improve autoscale tests for to/from zero and running autoscaler in bootstrap cluster (#11082)
- e2e: Test: stop using Consistently for rollout checks (#10975)
- e2e: Test: use cluster without worker definition for kcp only test (#11212)
- KCP: Add NamingStrategy to KubeadmControlPlane (#11123)
- KCP: Bump corefile-migration to support CoreDNS v1.11.3 (#10980)
- KCP: Ensure ReadinessGates for v1beta2 conditions get set (#11335)
- KCP: Propagate timeouts to Machines with deletionTimestamp (#11128)
- KCP: Remove code handling Kubernetes <= v1.21 (#11146)
- KCP: Skip validation if CoreDNS migration library supports an upgrade if the library is not used (#11319)
- Logging: Drop internal log package & improve logs and errors (#11025)
- Logging: Drop ReconcileError events (#11341)
- Logging: Fix error handling when the resource is not found (#10907)
- Logging: Improve log when not enough replicas are ready or referenced (#11329)
- Logging: Log controller name in predicates (#10959)
- Logging: Log error when calling a Runtime Extension gets an error that is ignored because of failure policy (#11028)
- Logging: Reduce verbosity of logs when calling Runtime Extensions (#11183)
- Machine: Condition: fix godoc for MachineNodeHealthyCondition (#11178)
- Machine: Follow-up PR nits from 11032 (#11044)
- Machine: Implement Machine Deleting condition (#11291)
- Machine: Improve machine Ready v1beta2 condition (#11330)
- Machine: Improve node drain e2e test (#11127)
- Machine: Improve unit tests for Machine controller (#11252)
- Machine: Prevent error spamming for NodeOutdatedTaint if objects are not found (#11148)
- Machine: Use internal error reason consis...