## Release notes for kOps 1.25 series

# Significant changes

* [GCE](../getting_started/gce.md) cloud provider support has been promoted to **stable**.
* [Hetzner](../getting_started/hetzner.md) cloud provider support has been promoted to **beta**.
* Karpenter support has been promoted to **stable** on Kubernetes versions 1.22, 1.23 and 1.24. Karpenter does not yet support Kubernetes above 1.25.
* IAM roles on AWS used for ServiceAccounts are now tagged with the name and namespace of the ServiceAccount.
* Cert Manager may now solve dns-01 challenges. See [the cert manager documentation](../addons.md#enabling-dns-01-challenges).
* Add support to --cordon-node-before-terminating on the cluster autoscaler addon (CordonNodeBeforeTerminating)
* EBS CSI driver can now be self-managed. See the [addon docs](../addons.md#self-managed-aws-ebs-csi-driver).

# Breaking changes

## Cinder CSI snapshot controller changes

The CSI Cinder plugin for OpenStack will now only use the CSI snapshotter when the CSI snapshot controller is enabled in the cluster spec. This changes the default behavior where the CSI snaphotter container was always present, but spammed the log with error messages (see [#13890](https://github.com/kubernetes/kops/pull/13890)). In case of manually deployed CRDs to make the snapshotter work it is now necessary to [enable the snapshot controller](../addons.md#snapshot-controller).

## Other breaking changes

* Support for Kubernetes version 1.19 has been removed.

# Deprecations

* Support for Kubernetes version 1.20 is deprecated and will be removed in kOps 1.26.

* Support for Kubernetes version 1.21 is deprecated and will be removed in kOps 1.27.

* All legacy addons are deprecated in favor of managed addons, including the [metrics server addon](https://github.com/kubernetes/kops/tree/master/addons/metrics-server) and the [autoscaler addon](https://github.com/kubernetes/kops/tree/master/addons/cluster-autoscaler).

* Due to lack of maintainers, the CloudFormation support has been deprecated. The current implementation will be left as-is until the implementation needs updates or otherwise becomes incompatible. At that point, it will be removed. We very much welcome anyone willing to contribute to this target.
