v1.0.0
v1.0.0, The production ready release
Welcome to v1.0 / v1beta1. This release is the result of growing adoption, feature maturity, and a strong commitment to community and inclusive innovation. We would like to thank all our contributors that made the Cluster API project what it is today.
Read the CNCF blog post announcement to learn more about the experience of companies using Cluster API in production.
⚠️ Breaking Changes
- Introduce
v1beta1API types (#5248) - Controller Managers leader election has been migrated to Kubernetes
v1.Leaseobject instead of configmaps (#5388) — Impact: No impact forclusterctlusers, the CLI automatically scales down older manager deployments before applying the new ones. For users not using clusterctl, you should make sure to manually scale down the older deployment first before applying the new components. - Remove Condition suffix from EtcdClusterHealthyCondition name (#5344) — Impact: Use
EtcdClusterHealthy. - Remove Machine
status.version(#5315) — Impact: the field was unused before and never set. - Make
condition.lastTransitionTimerequired (#5303) - ClusterToObjectsMapper: replace
runtime.Objectparameter withclient.ObjectList(#5391) - Move
controllers/mdutilinto an internal package (#5297) - Upgrade to Controller Runtime v0.10, Controller Tools v0.7, Kubernetes v1.22, and dependencies (#5249, #5402, #5382)
🐛 Bug Fixes
- KubeadmControlPlane: should cleanup OwnerRemediated condition if the machine goes back to healthy (#5381)
- Clusterctl: fix Certificate target namespace (#5372)
- Use the watch filter label when watching resources (#5358)
- Propagate MachineSet's
spec.template.annotationsto bootstrap config (#5365) - Fix CAPD v1alpha3 => v1beta1 conversion (#5360)
- Clusterctl upgrade: ensure old controllers are gone before installing the new ones (#5354)
- KubeadmControlPlane status.updated should be calculated appropriately (#5353)
- ClusterClass: Add permission for updating ClusterClass objects to the topology controller (#5343)
- Clusterctl: enforce provider order during init and upgrade (#5321)
- Testing: Fix Kubernetes v1.22 => latest upgrade e2e (#5313)
- Remove duplicated import statements (#5296)
- Change delete behaviour to respect inventory (#5044)
- Release Tooling: Version calculation script should only use annotated tags (#5270)
- Fix
make serveon MacOS to not rely on coreutils (#5401)
🌱 Others
- Clusterctl: Add support for v1alpha3 to v1beta1 upgrades (#5271)
- Upgrade cert-manager to 1.5.3 (#5299)
- Add version.Compare with CompareOptions (#5364)
- Add organizations to cert-manager certificates (#5387)
- Allow passing in provider contract and clusterctl binary in the clusterctl upgrade spec (#5377)
- Clusterctl upgrade: enforce that --contract or provider flags have to be set (#5386)
- Add required/default case to API conventions (#5362)
- Add cluster name on printer column on non core types (#5334)
- Update main branch book link (#5335)
- Update netlify config after default branch rename (#5331)
- Testing: improve error logging for clusterctl init/upgrade with binary (#5328)
- Add omitempty to +optional fields, drop omitempty for some status fields (#5305)
- Update errors pkg doc to reflect intended usage (#5317)
- Change a few more references from master branch to main branch (#5312)
- Add missing optional tag to omitempty fields (#5301)
- Add conversion-verifier to always verify conversion code (#5293)
- Remove deprecated items from the codebase for v1beta1 (#5288)
- Add script to install Kind for testing with CAPD (#5232)
- Add composable matchers to internal/testtypes (#5259)
- Change all references to master branch in docs to main branch (#5276)
- Rename default branch to main in scripts (#5275)
- Add Machinepool, DockerMachinePool, ClusterResourceSet, and ClusterResourceSetBinding conversion (#5280, #5267, #5286)
- Clusterclass: use live client to list MachineDeployments (#5274)
- CAPD: Add conversion tests for v1alpha3 and v1alpha4 (#5273)
📖 Additionally, there have been 9 contributions to our documentation and book. (#5374, #5384, #5376, #5366, #5304, #5326, #5278, #5310, #5264)
Thanks to all our contributors! 😊