sigs.k8s.io/cluster-api@v1.7.1/docs/book/src/developer/providers/migrations/v1.5-to-v1.6.md (about)

     1  # Cluster API v1.5 compared to v1.6
     2  
     3  This document provides an overview over relevant changes between Cluster API v1.5 and v1.6 for
     4  maintainers of providers and consumers of our Go API.
     5  
     6  ## Go version
     7  
     8  - The Go version used by Cluster API is Go 1.20.x
     9  
    10  ## Dependencies
    11  
    12  **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`.
    13  
    14  - sigs.k8s.io/kind: v0.20.x
    15  - sigs.k8s.io/controller-runtime: v0.15.x => v0.16.x
    16  - sigs.k8s.io/controller-tools: v0.12.x
    17  
    18  ## Changes by Kind
    19  - Introduced `v1beta1` for ipam.cluster.x-k8s.io IPAddresses and IPAddressClaims. Conversion webhooks handle translation between the hub version `v1beta1` and spoke `v1alpha1`.
    20  
    21  ### Deprecation
    22  - The function `sigs.k8s.io/cluster-api/addons/api/v1beta1` `DeleteBinding` has been deprecated. Please use `RemoveBinding` from the same package instead.
    23  - 
    24  ### Removals
    25  
    26  - API version `v1alpha4` is not served in v1.6 (users can enable it manually in case they are lagging behind with deprecation cycles). Important: `v1alpha4` will be completely removed in 1.7.
    27  - The function(s):
    28      - `ClusterToObjectsMapper` is removed, please use `ClusterToTypedObjectsMapper` function instead.
    29      - `Poll` and `PollImmediate` are removed, please use utils from "k8s.io/apimachinery/pkg/util/wait" instead.
    30  - The variable `DefaultIndexes` is removed, please use `[]Index{NodeProviderIDIndex}`
    31  - `ProviderID` type and all related methods/construct have been removed. Please see this [PR](https://github.com/kubernetes-sigs/cluster-api/pull/8577) for a reference.
    32  
    33  ### API Changes
    34  - Several public functions in `cmd/clusterctl/` now require `context.Context` as the first parameter.
    35  
    36  ### Other
    37  - `clusterctl move` can be blocked temporarily by a provider when an object to be moved is annotated with `clusterctl.cluster.x-k8s.io/block-move`.
    38  - `mdbook releaselink` has been changed to require a `repo` tag when used in markdown files for generating a book with `mdbook`.
    39  - `framework.DumpKubeSystemPodsForCluster` was renamed to `framework.DumpResourcesForCluster` to facilitate the gathering of additional workload cluster resources. Pods in all namespaces and Nodes are gathered from workload clusters. Pod yamls are available in `clusters/*/resources/Pod` and Node yaml is available in `clusters/*/resources/Node`.
    40  
    41  ### Suggested changes for providers
    42  
    43  - In order to reduce dependencies for API package consumers, CAPI has diverged from the default kubebuilder scheme builder. This new pattern may also be useful for reducing dependencies in provider API packages. For more information [see the implementers guide.](../implementers-guide/create_api.md#registering-apis-in-the-scheme)
    44  - We deprecated the `--metrics-bind-addr` flag and introduced the new `--diagnostics-address` and `--insecure-diagnostic` flags. These flags allow exposing metrics, a pprof endpoint and 
    45    an endpoint to change log levels securely in production. It is recommended to implement the same changes in providers, please see [#9264](https://github.com/kubernetes-sigs/cluster-api/pull/9264) for more details.