Skip to content

Releases: kubernetes-sigs/cluster-api

v1.9.3

23 Dec 14:19
cd279dd
Compare
Choose a tag to compare

👌 Kubernetes version support

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

More information about version support can be found here

Changes since v1.9.2

📈 Overview

  • 2 new commits merged
  • 1 bug fixed 🐛

🐛 Bug Fixes

  • ClusterClass: Export runtime.Client interface and cache package (#11612)

🌱 Others

  • Dependency: Bump to golang.org/x/net v0.23.0 (#11618)

Dependencies

Added

Nothing has changed.

Changed

  • golang.org/x/net: v0.32.0 → v0.33.0

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.8.8

23 Dec 19:07
199edc1
Compare
Choose a tag to compare

👌 Kubernetes version support

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

More information about version support can be found here

Changes since v1.8.7

📈 Overview

  • 2 new commits merged
  • 1 bug fixed 🐛

🐛 Bug Fixes

  • ClusterClass: Export runtime.Client interface and cache package (#11613)

🌱 Others

  • Dependency: Bump to golang.org/x/net v0.23.0 (#11619)

Dependencies

Added

Nothing has changed.

Changed

  • golang.org/x/net: v0.27.0 → v0.33.0

Removed

Nothing has changed.

Thanks to all our contributors! 😊

v1.9.2

20 Dec 16:39
05ddeac
Compare
Choose a tag to compare

👌 Kubernetes version support

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

More information about version support can be found here

Changes since v1.9.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

20 Dec 16:39
0b3fda4
Compare
Choose a tag to compare

👌 Kubernetes version support

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

More information about version support can be found here

Changes since v1.8.6

📈 Overview

  • 2 new commits merged

🌱 Others

  • Dependency: Bump golang.org/x/crypto (#11580)
  • Runtime SDK: Cache DiscoveryVariables calls (#11600)

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

17 Dec 17:44
b04c79c
Compare
Choose a tag to compare

👌 Kubernetes version support

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

More information about version support can be found here

Highlights

  • 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

10 Dec 18:50
e5c96a6
Compare
Choose a tag to compare

👌 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 and ControlPlaneComponentsHealthy 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:
  • 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 and ClusterUnpausedAndInfrastructureReady 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...
Read more

v1.8.6

10 Dec 18:51
270d1e1
Compare
Choose a tag to compare

👌 Kubernetes version support

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

More information about version support can be found here

Changes since v1.8.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

10 Dec 18:51
a1c7c76
Compare
Choose a tag to compare

👌 Kubernetes version support

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

More information about version support can be found here

Changes since v1.7.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

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

03 Dec 18:10
5cb86c2
Compare
Choose a tag to compare
v1.9.0-rc.1 Pre-release
Pre-release

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

👌 Kubernetes version support

  • Management Cluster: v1.28.x -> v1.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 and ControlPlaneComponentsHealthy 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:
  • 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 and ClusterUnpausedAndInfrastructureReady 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...
Read more

v1.9.0-rc.0

26 Nov 18:23
721b6cf
Compare
Choose a tag to compare
v1.9.0-rc.0 Pre-release
Pre-release

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

👌 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 and ControlPlaneComponentsHealthy 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:
  • 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 and ClusterUnpausedAndInfrastructureReady 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...
Read more