sigs.k8s.io/cluster-api@v1.7.1/CHANGELOG/v1.6.0-rc.0.md (about) 1 🚨 This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an [issue](https://github.com/kubernetes-sigs/cluster-api/issues/new). 2 3 ## Highlights 4 5 * MachinePools are now supported in ClusterClass Clusters 6 * Metrics, profiling and other diagnostics are now served securely by default 7 * Types in `ipam.cluster.x-k8s.io` have graduated to `v1beta1` 8 9 ## Deprecation Warning 10 11 - The API version `v1alpha4` is no longer served in this release. 12 - [Version migration guide](https://main.cluster-api.sigs.k8s.io/developer/providers/version-migration.html) 13 - [GitHub issue #8038](https://github.com/kubernetes-sigs/cluster-api/issues/8038) 14 - [API deprecation details](https://main.cluster-api.sigs.k8s.io/contributing#removal-of-v1alpha3--v1alpha4-apiversions) 15 - The API version `v1alpha3` has been completely removed in this release. 16 - Flag `--metrics-bind-addr` is [deprecated](https://github.com/kubernetes-sigs/cluster-api/pull/9264) for all controller 17 18 ## Changes since v1.6.0-beta.1 19 ## :chart_with_upwards_trend: Overview 20 - 53 new commits merged 21 - 2 feature additions ✨ 22 - 5 bugs fixed 🐛 23 24 ## :memo: Proposals 25 - Documentation: CAEP: Flexible Managed Kubernetes Endpoints (#8500) 26 27 ## :sparkles: New Features 28 - CAPD: Add MachinePool Machine implementation to CAPD components (#8842) 29 - clusterctl: Add RKE2 bootstrap provider to clusterctl (#9720) 30 31 ## :bug: Bug Fixes 32 - CAPD: Fix DockerMachine panic (#9673) 33 - CI: Fix reporting bug in verify-container-image script (#9676) 34 - clusterctl: Fix provider namespace secret not included in clusterctl move (#9694) 35 - KCP: Allow dropping patches KubeadmControlPlane KubeadmConfig (#9698) 36 - MachinePool: Fix bug where MachinePool Machine ownerRefs weren't updating (#9619) 37 38 ## :seedling: Others 39 - CAPD: Set Condition, if creating external LB failed. (#9697) 40 - CI: Bump actions/github-script from 7.0.0 to 7.0.1 (#9738) 41 - CI: Bump tj-actions/changed-files from 40.1.0 to 40.1.1 (#9714) 42 - ClusterClass: Add additional test cases for nested variable defaulting (#9728) 43 - clusterctl: Propagate ctx to retryWithExponentialBackoff in clusterctl (#9437) 44 - Dependency: Bump cert-manager to v1.13.2 (#9653) 45 - Dependency: Bump cloud.google.com/go/storage from 1.34.1 to 1.35.1 in /hack/tools (#9727) 46 - Dependency: Bump github.com/docker/docker from 24.0.6+incompatible to 24.0.7+incompatible in /test (#9652) 47 - Dependency: Bump github.com/fatih/color from 1.15.0 to 1.16.0 (#9681) 48 - Dependency: Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.1 (#9716) 49 - Dependency: Bump github.com/onsi/gomega from 1.29.0 to 1.30.0 (#9717) 50 - Dependency: Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#9679) 51 - Dependency: Bump Go version to v1.20.11 (#9683) 52 - Dependency: Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 (#9715) 53 - Dependency: Bump golang.org/x/text from 0.13.0 to 0.14.0 (#9680) 54 - Dependency: Bump golangci-lint to v1.55.2 (#9740) 55 - Dependency: Bump google.golang.org/api from 0.149.0 to 0.150.0 in /hack/tools (#9691) 56 - Dependency: Bump opentelemetry to fix CVEs (#9709) 57 - Dependency: Bump the kubernetes group with 4 updates (#9739) 58 - Dependency: Bump Trivy to v0.47.0 (#9671) 59 - Devtools: Allow non-provider Deployments in Tilt (#9404) 60 - Documentation: Add k3s providers to cluster-api book (#9577) 61 - Documentation: Fix typo in 'ginkgo' in Makefile (#9654) 62 - e2e: Add MP timeouts to cluster upgrade tests (#9723) 63 - e2e: Improve logging for self-hosted e2e test (#9637) 64 - e2e: Test/conformance: add variables to overwrite parralelization of kubetest runs (#9667) 65 - IPAM: Add age also to v1beta1 IPAM types (#9729) 66 - IPAM: Enforce IPAM import alias (#9730) 67 - KCP: Support admin config for Kubeadm v1.29 (#9682) 68 - Release: Add adilGhaffarDev to release-team owner alias (#9718) 69 - Release: Avoid cd'ing into test folders when building Docker images (#9744) 70 - Release: Bump kubebuilder tools to v0.4.2 (#9665) 71 - Release: Give permissions for release notes tool to release team (#9563) 72 - Release: Hack: add weekly update script for Slack (#9343) 73 - Testing: Add MachinePools to Runtime SDK and Rollout tests (#9703) 74 - Testing: Add WaitForMachinePoolToBeUpgraded to self-hosted test (#9540) 75 - Testing: Follow-up fixes: Add MachinePools to Runtime SDK and Rollout tests (#9719) 76 77 :book: Additionally, there have been 3 contributions to our documentation and book. (#9559, #9635, #9706) 78 79 <details> 80 <summary>More details about the release</summary> 81 82 :warning: **RELEASE CANDIDATE NOTES** :warning: 83 84 ## 👌 Kubernetes version support 85 86 - Management Cluster: v1.25.x -> v1.28.x 87 - Workload Cluster: v1.23.x -> v1.28.x 88 89 [More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html) 90 91 ## Changes since v1.5.0 92 ## :chart_with_upwards_trend: Overview 93 - 382 new commits merged 94 - 6 breaking changes :warning: 95 - 15 feature additions ✨ 96 - 34 bugs fixed 🐛 97 98 ## :memo: Proposals 99 - Community meeting: Add proposal for karpenter integration feature group (#9571) 100 - Documentation: Flexible Managed Kubernetes Endpoints (#8500) 101 102 ## :warning: Breaking Changes 103 - API: Remove v1alpha3 API Version (#8997) 104 - API: Stop serving v1alpha4 API Versions (#8996) 105 - clusterctl: Improve Context handling in clusterctl (#8939) 106 - Dependency: Bump to controller-runtime v0.16 (#8999) 107 - Metrics/Logging: Implement secure diagnostics (metrics, pprof, log level changes) (#9264) 108 - util: : Remove go-vcs dependency from releaselink tool (#9288) 109 110 ## :sparkles: New Features 111 - API: Add validation to nested ObjectMeta fields (#8431) 112 - CAPD: Add config maps to CAPD RBAC (#9528) 113 - CAPD: Add MachinePool Machine implementation to CAPD components (#8842) 114 - CAPD: Allow adding custom HA proxy config for CAPD load balancer (#8785) 115 - CAPD: Initialize configmap object before getting it (#9529) 116 - ClusterClass: Add topology-owned label to MachineHealthChecks. (#9191) 117 - ClusterClass: Introduce NamingStrategy and allow generating names using go templates (#9340) 118 - ClusterClass: Update API with ClusterClass MachinePool support (#8820) 119 - clusterctl: Add RKE2 bootstrap provider to clusterctl (#9720) 120 - clusterctl: Block move with annotation (#8690) 121 - IPAM: Promote IPAM types to v1beta1 (#9525) 122 - MachinePool: Add MachinePool workers support in ClusterClass (#9016) 123 - MachineSet: Adjust preflight check to allow kubelet version skew of 3 for clusters running v1.28 and above (#9222) 124 - Testing/Documentation: V1.28: Prepare quickstart, capd and tests for the new release including kind bump (#9160) 125 - Release: Add automation to create release branch and tags (#9111) 126 127 ## :bug: Bug Fixes 128 - CAPBK: Certificate paths in cloud-init scripts should not use a platform-dependent path separator (#9167) 129 - CAPD: Delete container after failed start to work around port allocation issues (#9125) 130 - CAPD: Fix DockerMachine panic (#9673) 131 - CI: Fix reporting bug in verify-container-image script (#9676) 132 - ClusterClass: Fix ClusterClass enqueue for ExtensionConfig (#9133) 133 - ClusterClass: Topology: fix namingstrategy webhook to not use uppercase characters for testing the template and align unit test to e2e test (#9425) 134 - clusterctl: Fix provider namespace secret not included in clusterctl move (#9694) 135 - Dependency: Bump golang.org/x/net to v0.13.0 (#9121) 136 - Dependency: Bump to docker v24.0.5-0.20230714235725-36e9e796c6fc (#9038) 137 - Devtools: Adding metrics container port in tilt-prepare only if it's missing (#9308) 138 - Devtools: Allow duplicate objects in Tiltfile (#9302) 139 - Devtools: Change tilt debug base image to golang (#9070) 140 - Devtools: Fix tilt-prepare leader-elect setting (#9315) 141 - Devtools: Pin Plantuml version (#9424) 142 - Devtools: Tilt: ensure .tiltbuild/bin directory is created early enough, add tilt troubleshooting guide (#9165) 143 - Documentation: Fix doctoc detection in verify-doctoc.sh (#9112) 144 - e2e: Drop MachinePools from Dualstack tests (#9477) 145 - e2e: Fix autoscaler image repo (#9353) 146 - e2e: Test: pin conformance image to a version which includes a fix for the dualstack tests (#9252) 147 - KCP: Allow dropping patches KubeadmControlPlane KubeadmConfig (#9698) 148 - KCP: Allow to drop useExperimentalRetryJoin field from KubeadmControlPlane.kubeadmConfigSpec (#9170) 149 - KCP: Fix KCP Controller reconcile always return error when workload cluster is unreachable (#9342) 150 - KCP: Requeue KCP object if ControlPlaneComponentsHealthyCondition is not yet true (#9032) 151 - Machine: Retry Node delete when CCT is locked (#9570) 152 - MachineDeployment: MD controller: use regular random suffix for MachineSets, ensure max length 63 (#9298) 153 - MachineHealthCheck: Fix excessive trace logging in the machine health check controller (#9419) 154 - MachinePool: Fix bug where MachinePool Machine ownerRefs weren't updating (#9619) 155 - Release: Alphabetically sorting release tool output (#9055) 156 - Release: Deduplicating area in pr title in release notes (#9186) 157 - Release: Fix go install path for kpromo v4.0.4 (#9336) 158 - Release: Generate warning when release notes can not be generated (#9163) 159 - Release: Hack/release-notes: ensure relase notes tool can be used for external projects again (#9018) 160 - Release: Reverts pull request from cahillsf/improve-release-speed (#9465) 161 - util: Fix AddAnnotations for unstructured.Unstructured (#9164) 162 163 ## :seedling: Others 164 - API: Add ClusterClass column to Cluster CRD (#9120) 165 - API: Add verify-import-restrictions to enforce import restrictions (#9407) 166 - API: Enforce import restrictions in all API packages (#9461) 167 - API: Ensure we generate all webhook manifests.yaml (#9621) 168 - API: Move API v1beta1 webhooks to a separate package (#9047) 169 - API: Move docker infrastructure experimental API v1beta1 webhooks to sepa… (#9460) 170 - API: Move docker infrastructure API v1beta1 webhooks to separate package (#9458) 171 - API: Move experimental addons API v1beta1 webhooks to separate package (#9438) 172 - API: Move experimental API v1beta1 webhooks to separate package (#9417) 173 - API: Move inmemory infrastructure API v1beta1 webhooks to separate package (#9459) 174 - API: Move Kubeadm API v1beta1 webhooks to separate package (#9410) 175 - API: Remove files and markers for Kubebuilder (#9344) 176 - API: Remove reliance on controller-runtime scheme builder (#9045) 177 - API: Remove reliance on controller-runtime scheme builder for experimental APIs (#9185) 178 - API: Remove reliance on controller-runtime scheme builder for remaining API groups (#9266) 179 - API: Remove the dependency on cluster-api/utils from addons API (#9482) 180 - API: Test and document controller ownerReferences (#9153) 181 - CAPBK: Remove Kubeadm upstream v1beta1 types (#9345) 182 - CAPD: Fix multi error handling in RunContainer (#9139) 183 - CAPD: Set Condition, if creating external LB failed. (#9697) 184 - CI: Add colored-line-number output for golangci-lint action (#9147) 185 - CI: Add dependabot for test and hack/tools module (#9041) 186 - CI: Add exclude for Kustomize API to dependabot config (#9059) 187 - CI: Add licence-scan for pull requests (#9184) 188 - CI: Add loggercheck linter and fix findings (#9446) 189 - CI: Add verify-govulncheck and verify-vulnerabilities targets and integrate to scan action (#9144) 190 - CI: Bump actions/cache from 3.3.1 to 3.3.2 (#9395) 191 - CI: Bump actions/checkout from 4.1.0 to 4.1.1 (#9611) 192 - CI: Bump actions/github-script from 7.0.0 to 7.0.1 (#9738) 193 - CI: Bump actions/setup-go from 4.0.1 to 4.1.0 (#9187) 194 - CI: Bump apidiff to v0.7.0 (#9472) 195 - CI: Bump golangci-lint to v1.54.1 (#9174) 196 - CI: Bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#9261) 197 - CI: Bump tj-actions/changed-files from 40.1.0 to 40.1.1 (#9714) 198 - CI: Bump Trivy to v0.45.1 (#9445) 199 - CI: Fix .golangci.yml comments (#9499) 200 - CI: Ginkgolinter: forbid focus container (#9320) 201 - CI: Github: add edited and reopened as triggers for the GH workflow approval (#9259) 202 - CI: Github: add workflow to auto-approve golangci-lint if ok-to-test label is set (#9244) 203 - CI: Go.mod reformat to have only two require blocks (#9192) 204 - CI: Golangci-lint: replace deprecated local-prefixes setting for gci (#9339) 205 - CI: Make GO_ARCH explicit in verify_containter script (#9341) 206 - CI: Update actions for 1.5 and make names consistent (#9115) 207 - CI: Verify plantuml image generation in CI (#9363) 208 - ClusterCacheTracker: Add separate concurrency flag for cluster cache tracker (#9116) 209 - ClusterCacheTracker: Ensure Get/List calls are not getting stuck when apiserver is unreachable (#9028) 210 - ClusterCacheTracker: Fix accessor deletion on health check failure (#9025) 211 - ClusterClass: Add additional test cases for nested variable defaulting (#9728) 212 - ClusterClass: Add ownerRefs to BootstrapConfig/InfraMachinePool in classy Clusters (#9389) 213 - ClusterClass: Embed ssa.FilterObjectInput into HelperOption to remove duplication (#9512) 214 - ClusterClass: Fix some nits in Cluster topology engine tests (#9464) 215 - ClusterClass: Improve Cluster variable defaulting/validation errors (#9452) 216 - ClusterClass: Improve message for TopologyReconciledCondition (#9400) 217 - ClusterClass: Make ClusterClass generated object names consistent (#9254) 218 - ClusterClass: Minor fixes for CC+MP implementation (#9318) 219 - clusterctl: Check resource blocking clusterctl move during discovery (#9246) 220 - clusterctl: Propagate ctx to retryWithExponentialBackoff in clusterctl (#9437) 221 - clusterctl: Use goproxy to check version in clusterctl (#9237) 222 - clusterctl: Use http get to download files from GitHub in clusterctl (#9236) 223 - Dependency: Bump cert-manager to v1.13.2 (#9653) 224 - Dependency: Bump cloud.google.com/go/storage from 1.34.1 to 1.35.1 in /hack/tools (#9727) 225 - Dependency: Bump controller tools to v1.13.0 (#9221) 226 - Dependency: Bump controller-runtime to v0.16.3 (#9592) 227 - Dependency: Bump conversion-gen to v0.28 (#9267) 228 - Dependency: Bump corefile-migration library to v1.0.21 (#9307) 229 - Dependency: Bump docker to v24.0.5 (#9064) 230 - Dependency: Bump envtest binaries to 1.28 (#9268) 231 - Dependency: Bump github.com/blang/semver to v4 (#9189) 232 - Dependency: Bump github.com/docker/distribution (#9544) 233 - Dependency: Bump github.com/docker/docker from 24.0.6+incompatible to 24.0.7+incompatible in /test (#9652) 234 - Dependency: Bump github.com/emicklei/go-restful/v3 from 3.10.2 to 3.11.0 in /test (#9272) 235 - Dependency: Bump github.com/evanphx/json-patch/v5 from 5.6.0 to 5.7.0 (#9397) 236 - Dependency: Bump github.com/fatih/color from 1.15.0 to 1.16.0 (#9681) 237 - Dependency: Bump github.com/go-logr/logr from 1.2.4 to 1.3.0 (#9644) 238 - Dependency: Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (#9562) 239 - Dependency: Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.1 (#9716) 240 - Dependency: Bump github.com/onsi/gomega from 1.29.0 to 1.30.0 (#9717) 241 - Dependency: Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 (#9517) 242 - Dependency: Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#9679) 243 - Dependency: Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#9561) 244 - Dependency: Bump Go to v1.20.10 (#9551) 245 - Dependency: Bump Go version to v1.20.11 (#9683) 246 - Dependency: Bump go-github dependency to version v53 (#8995) 247 - Dependency: Bump go.etcd.io/etcd/api/v3 from 3.5.9 to 3.5.10 (#9642) 248 - Dependency: Bump go.etcd.io/etcd/client/v3 from 3.5.9 to 3.5.10 (#9646) 249 - Dependency: Bump go.opentelemetry.io/* dependencies (#9598) 250 - Dependency: Bump golang.org/grpc to v1.59.0 (#9626) 251 - Dependency: Bump golang.org/x/net from 0.15.0 to 0.17.0 in /test (#9537) 252 - Dependency: Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 (#9715) 253 - Dependency: Bump golang.org/x/text from 0.13.0 to 0.14.0 (#9680) 254 - Dependency: Bump golangci-lint to v1.55.2 (#9740) 255 - Dependency: Bump gomodules.xyz/jsonpatch/v2 from 2.3.0 to 2.4.0 (#9188) 256 - Dependency: Bump google.golang.org/api from 0.149.0 to 0.150.0 in /hack/tools (#9691) 257 - Dependency: Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#9607) 258 - Dependency: Bump kpromo to v4.0.4 (#9241) 259 - Dependency: Bump opentelemetry to fix CVEs (#9709) 260 - Dependency: Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 (#9645) 261 - Dependency: Bump some dependencies in Makefile (#9549) 262 - Dependency: Bump the kubernetes group in /hack/tools with 2 updates (#9420) 263 - Dependency: Bump the kubernetes group in /hack/tools with 2 updates (#9574) 264 - Dependency: Bump the kubernetes group with 2 updates (#9606) 265 - Dependency: Bump the kubernetes group with 4 updates (#9326) 266 - Dependency: Bump the kubernetes group with 4 updates (#9455) 267 - Dependency: Bump the kubernetes group with 4 updates (#9739) 268 - Dependency: Bump to Go 1.20.8 (#9381) 269 - Dependency: Bump Trivy to v0.47.0 (#9671) 270 - Dependency: Replace hashicorp/go-multierror with kerrors (#9175) 271 - Dependency: Update ensure-kubectl.sh to 1.28 (#9275) 272 - Devtools: Add .PHONY for doctoc target (#9148) 273 - Devtools: Allow non-provider Deployments in Tilt (#9404) 274 - Devtools: Bump CAPI visualizer to v1.2.0 (#9195) 275 - Devtools: Drop duplicate pprof and unused linter excludes (#9156) 276 - Devtools: Improve Performance dashboard (#9387) 277 - Devtools: Make dev cluster networking configurable (#9183) 278 - Devtools: Makefile: run doctoc only once (#9182) 279 - Devtools: Move tilt-prepare and log-push to tools/internal (#9020) 280 - Devtools: Observability: move metrics to config and use sidecar in kube-state-metrics (#9390) 281 - Devtools: Refactor docker-push* Makefile targets so users can control with ALL_DOCKER_BUILD which images are pushed (#8586) 282 - Devtools: Tiltfile: rename deploy_kustomizations to additional_kustomizations (#9439) 283 - Documentation: Add k3s providers to cluster-api book (#9577) 284 - Documentation: Add more links to release-tasks doc (#9029) 285 - Documentation: Extend docs for patch.NewHelper (#9001) 286 - Documentation: Fix typo in 'ginkgo' in Makefile (#9654) 287 - Documentation: Fixed grammatically incorrect plurals in release tools (#9024) 288 - Documentation: Promote chrischdi to cluster-api reviewer (#9286) 289 - Documentation: Use official plantuml image for diagrams (#9328) 290 - e2e: Add back flavor to Waiter interface (#9166) 291 - e2e: Add CRS re-reconcile to ownerReference test (#9296) 292 - e2e: Add log level for kube components patch to ClusterClass (#9493) 293 - e2e: Add MachinePools to Topology Quickstart E2E Templates (#9393) 294 - e2e: Add MP timeouts to cluster upgrade tests (#9723) 295 - e2e: Add test for ownerReference apiVersion update (#9269) 296 - e2e: Add test for scale testing machinery (#9510) 297 - e2e: Bump autoscaler to v1.28.0 (#9349) 298 - e2e: Drop PR-Informing test tag and job description (#9362) 299 - e2e: Dump all pods in e2e test clusters (#9441) 300 - e2e: Dump all resource information for self-hosted tests (#9547) 301 - e2e: Ensure finalizers are resilient on reconciliation (#9471) 302 - e2e: Fail tests if test env version check fails (#9388) 303 - e2e: Fix broken e2e test clusterclass (#9506) 304 - e2e: Improve labels/annotations in CAPD test ClusterClass (#9469) 305 - e2e: Improve logging for self-hosted e2e test (#9637) 306 - e2e: Refactor e2e ownerRef test utils (#9313) 307 - e2e: Test/conformance: add variables to overwrite parralelization of kubetest runs (#9667) 308 - e2e: Test/e2e: structure resources by namespace/kind again (#9462) 309 - e2e: Use existing value of `SKIP_RESOURCE_CLEANUP` if set in environment (#9152) 310 - IPAM: Add age also to v1beta1 IPAM types (#9729) 311 - IPAM: Add age column to kubectl output (#9521) 312 - IPAM: Enforce IPAM import alias (#9730) 313 - KCP: Controlplane: add a test case for syncMachines where the InfraMachine does not exist. (#8992) 314 - KCP: Remove disableInPlacePropagation field in KCP controller (#9099) 315 - KCP: Remove redundant GetRESTConfig in KCP Management.GetWorkloadCluster (#9448) 316 - KCP: Support admin config for Kubeadm v1.29 (#9682) 317 - Logging: Change default log level to 2 (#9093) 318 - Logging: Fix patch errors not being logged (#9224) 319 - Logging: Set controller-runtime logger for clusterctl (#9107) 320 - MachinePool: Add MachinePool Builders (#9346) 321 - MachinePool: Add util function to get MachinePool by label (#9219) 322 - Metrics: Hack/observability: add capi_machine_status_certificatesexpirydate metric (#9084) 323 - Metrics: Hack: bump kube-state-metrics and prometheus charts (#9352) 324 - Release: Add additional blocks to release note generation (#9247) 325 - Release: Add adilGhaffarDev to release-team owner alias (#9718) 326 - Release: Add Release Team OWNERS file to docs/release folder (#9294) 327 - Release: Avoid cd'ing into test folders when building Docker images (#9744) 328 - Release: Bump kubebuilder tools to v0.4.2 (#9665) 329 - Release: Bump PR title checker github action to v0.4.1 (#9650) 330 - Release: Capitalize area prefix in release notes by default (#9614) 331 - Release: Capitalized title in release notes (#9086) 332 - Release: Clarify release team vs k8s/k8s-SIGs org membership (#9089) 333 - Release: Exclude release trigger PRs from release notes (#9444) 334 - Release: Format Community meeting area in release notes (#9648) 335 - Release: Format MachineHealthCheck area in release notes (#9500) 336 - Release: Give permissions for release notes tool to release team (#9563) 337 - Release: Hack: add weekly update script for Slack (#9343) 338 - Release: Improve multiple areas PRs with user friendly subs (#9071) 339 - Release: Improve release notes formatting (#9337) 340 - Release: Improve release speed (#9392) 341 - Release: Improve release staging build speed (#9536) 342 - Release: Prepare main branch for v1.6 development (#9097) 343 - Release: Remove auto-labelling for clusterctl (#8990) 344 - Release: Remove extra separator after title in release notes (#9605) 345 - Release: Update instructions checklist to generate release notes (#9443) 346 - Release: Update kubebuilder-release-tools to v0.4.0 (#9531) 347 - Release: Update release-notes make target + corresponding doc (#9573) 348 - Runtime SDK: Improve ClusterClass watch for ExtensionConfigs (#9338) 349 - Testing: Add MachinePool test cases (#9474) 350 - Testing: Add MachinePool test cases to engine tests (#9373) 351 - Testing: Add MachinePool test cases to variables tests (#9372) 352 - Testing: Add MachinePools to Runtime SDK and Rollout tests (#9703) 353 - Testing: Add MachinePools to topology upgrade test (#9502) 354 - Testing: Add test for required properties in clusterclass variables (#9113) 355 - Testing: Add unit tests for CC MP blueprint, current_state, & desired_state (#9348) 356 - Testing: Add unit tests for reconcile_state, cluster_controller, & conditions (#9380) 357 - Testing: Add WaitForMachinePoolToBeUpgraded to self-hosted test (#9540) 358 - Testing: Extend test/framework to collect workload cluster nodes (#9416) 359 - Testing: Follow-up fixes: Add MachinePools to Runtime SDK and Rollout tests (#9719) 360 - Testing: Replacing gomega.Equal with gomega.BeComparableTo (#9015) 361 - util: Adjust naming in SortForCreate implementation (#9311) 362 - util: Move `internal.labels` to `format` package for use by providers (#9002) 363 - util: Refactor SortForCreate to use sort.Slice (#9251) 364 - util: Remove previously deprecated code (#9136) 365 366 :book: Additionally, there have been 46 contributions to our documentation and book. (#8260, #8678, #8819, #8988, #9013, #9014, #9080, #9081, #9087, #9119, #9141, #9146, #9150, #9161, #9173, #9208, #9209, #9213, #9214, #9232, #9270, #9291, #9305, #9364, #9386, #9403, #9415, #9429, #9433, #9463, #9487, #9488, #9490, #9511, #9513, #9514, #9527, #9550, #9559, #9565, #9572, #9590, #9593, #9613, #9635, #9706) 367 </details> 368 <br/> 369 370 _Thanks to all our contributors!_ 😊