---
# System prepended metadata

title: v1.4.0 slack announcement
tags: [' announcement', ' slack', v1.4.0]

---

---
tags: v1.4.0, slack, announcement
---
# v1.4.0 slack announcement
---
Previous announcement as reference:
https://kubernetes.slack.com/archives/C8TSNPY4T/p1678816622299119
---

:tada: :tada: :tada: 

Cluster API v1.4.0 has been released :cluster-api:

This release was focusd on adding some new awaited features, stability and continuolsy improving our release processes. This was possible by the hard work of more than 360 PRs from the awesome contributors of the community.

Some of the hightlights in this release are:

- KubeadmControlPlane has been improved allowing to automatically remedite failures when provisioning the control plane. This behaviour can be fine tuned by configuring the RemediationStrategy on KCP.
-  Cluster API now continuously sync certain labels from Machines to Nodes, allowing finer control on workload placement as well as assigning custom roles to nodes.
-  Cluster API now continuously propagate labels, annotations down the hierachy of objects - from ClusterClass to KubeadmControlPlane/MachineDeployments and ultimately to Machines - without triggering unecessary rollouts. The same improvement applies also to other fields impacting only Kubernetes objects or controller behaviour (e.g NodeDrainTimeout).
-  Cluster API now supports Variable Discovery in ClusterClass and Managed Topologies. As a consequence external patches (also known as topology mutation hooks) are now self contained, fully typed and more easily unit testable.

Full list of changes: https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.4.0
