Changes since v0.4.2
✨ New Features
- Add MachineSet Status.Conditions to for Machine Create and Ready (#5056)
- Upgrade support for managed topologies (#5178)
- Add maas provider to clusterctl (#5181)
🐛 Bug Fixes
- Fix a bug that completion suggestions for --namespace are not updated (#5247)
- Add backported rolloutStrategy to KCP v1alpha3 to fix KCP conversion (#5237)
- Fix panic in clusterctl describe from nil reference (#5228)
- IsScaling error handling in control plane contract (#5235)
- Add watches for infras and control plane in topology controller (#5221)
- Implement template deletion for topology-owned MD and MS (#5191)
- Fix flaky TestGetWorkloadCluster test (#5223)
- Fix flaky TestPatchHelper test (#5215)
- Allow move cmd idempotent by making it tolerant to a known kubernetes issue (#5185)
- Add AGE column to our CRDs (#5180)
- KubeadmControlPlane: stop reconciling ObjectMeta into the KCP machine template (#5187)
- [e2e framework] Avoid NPE when KCP does not specify ClusterConfiguration (#5182)
- ClusterClass : fix propagate metadata to machines, KCP fix propagate annotations (#5173)
- Clusterctl: Log in restore cmd causing crashes (#5177)
- util/GetGVKMetadata: fix get PartialObjectMetadata (#5172)
- Fix reconciler keys in our reconciler loggers (#5170)
- ClusterClass: use namePrefix func consistently, fix MachineDeployment template rotation (#5164)
- CAPD: fix panic in DockerMachinePool reconciliation (#5167)
- ClusterClass: control plane infrastructure machine template rotation (#5158)
- Set unhealthyLimitKey for logging always (#5110)
- Fix formatting error in ClusterClass proposal (#5154)
🌱 Others
- Clusterctl now supports completion support for cluster resources (#5251)
- Clusterctl now supports dynamic completion for context in kubeconfig and namespace (#5094)
- Update calico version in quickstart guide (#5261)
- Update Go to 1.16.8 (#5243)
- ClusterClass: Small cleanups to tests (#5225)
- CAPD: improve image build caching (#5242)
- Deprecate unused MachineDeployment constants (#5241)
- Add missing constants to v1alpha3 package from release-0.3 (#5238)
- Use .Index func when building field.Paths (#5231)
- ClusterClass: Cleanup error handling and templateNamer (#5153)
- ClusterClass: Add ClusterTopologyMachineDeploymentLabelName to MachineDeployment templates (#5209)
- ClusterClass: Make Cluster topology controlPlane optional (#5165)
- ClusterClass: Propagate topology labels to MachineSets and Machines (#5211)
- ClusterClass: Update tests with builders (#5137)
- ClusterClass: Cleanup topology reconcile logs (#5134)
- Allow cluster class compatible changes (#5213)
- Use Complete() instead of Build() when there is no need to return a controller (#5210)
- Add Cluster name as printer column on core types (#5202)
- Tilt should reload CABPK and KCP on go.mod changes (#5201)
- Upgrade to controller-runtime v0.9.7 and Kubernetes 1.21.4 (#5200)
- Add GitHub Action to automate creating a release (#5188)
- Add stmcginnis as a reviewer (#5179)
- Update golangci-lint to 1.42.0, enable more linters (#5166)
- KubeadmControlPlane: convert infrastructure machine ref API contract (#5143)
- KubeadmControlPlane: internal/proxy should use pointer structs (#5161)
- Conversion of references should use a CR client (#5160)
- Add reconciler name to loggers for context (#5151)
- Add killianmuldoon to cluster-api-topology-reviewers (#5155)
- Create internal package for object builders (#5055)
- Move Predicates allow logs to verbosity level 6 (#5148)
- Test: allow for overriding flavor for all e2e tests (#5186)
- Clusterctl: Add a MemoryReader for the operator to place config from a secret (#4980)
📖 Additionally, there have been 3 contributions to our documentation and book. (#4390, #5149, #5150)
Thanks to all our contributors! 😊