Cluster API v1.6 compared to v1.7

This document provides an overview over relevant changes between Cluster API v1.6 and v1.7 for maintainers of providers and consumers of our Go API.

Go version

  • The Go version used by Cluster API is Go 1.21.x

Dependencies

Note: Only the most relevant dependencies are listed, k8s.io/ and ginkgo/gomega dependencies in Cluster API are kept in sync with the versions used by sigs.k8s.io/controller-runtime.

  • sigs.k8s.io/kind: v0.20.x => v0.22.x

Changes by Kind

Deprecation

Removals

  • API version v1alpha4 is now completely removed.

API Changes

Other

  • Patch helper now return error with enough error context (https://github.com/kubernetes-sigs/cluster-api/pull/9946). It is recommended to remove redundant error context on call sites if applicable.

Suggested changes for providers

  • MachinePools are now enabled by default and the feature flag is marked as beta instead of alpha. If you are re-defining feature flags in your codebase, these values will need to be updated accordingly. If not, the following error will result:

    panic: feature gate "MachinePool" with different spec already exists: {true false BETA}
    

    See this change for how to update the flag.