Releases: kubernetes-sigs/cluster-api
v1.1.4
Changes since v1.1.3
🐛 Bug Fixes
- ClusterResourceSet: apply objects in sorted order (#6512)
- Fix cluster reconcilation predicates (#6488)
- clusterctl: retry github i/o operations (#6461)
- use WaitForMachinePools to configure machine pool test waits (#6447)
- Ensure MachinePool Version is a valid Kubernetes version (#6364)
- fix the version assumption in topology plan command (#6301)
🌱 Others
- Use Kubernetes 1.24 in quickstart and CAPD, bump to kind v0.14 (#6560)
- more retryable errors in test/framework (#6582)
- retryable errors in test/framework (#6579)
- Update docker to v20.10.16 (#6558)
- Sync owners alias on release-1.1 with main (#6566)
- test: retry controller-runtime client instantiation (#6433)
- test: tolerate zero pods in WaitForPodListCondition (#6479)
- update cert-manager to v1.7.2 (#6432)
- Update golangci-lint action (#6371)
- Upgrade controller-runtime to v0.11.2 (#6360)
- update talos/sidero references (#6343)
- Add CAPOCI provider (#6314)
- Add Nutanix Provider (#6378)
📖 Additionally, there have been 6 contributions to our documentation and book. (#6592, #6589, #6544, #6440, #6428, #6427)
Thanks to all our contributors! 😊
v1.1.3
Changes since v1.1.2
✨ New Features
- [clusterctl] allow Namespace objects in topology plan input (#6265)
🐛 Bug Fixes
- [MachinePools] permit empty/not set providerIDList (#6276)
- [clusterctl] retry delete during clusterctl upgrade (#6269)
- [clusterctl] retry listObjByGVK during clusterctl upgrade (#6268)
- [e2e framework] fix node drain output (#6186)
🌱 Others
- [ClusterClass] Add network builtins to topology controller (#6241)
- [ClusterClass] Add ref and controlPlane name builtin variables (#6215)
- [ClusterClass] Add sprig functions to ClusterClass templates (#6191)
- [e2e] add option to configure both control-plane and workers machine template for k8s upgrade tests (#6242)
- [Core] handle kubeadm 1.24 kubelet ConfigMap name change (#6206)
- [Book] refactor CI verification (#6204)
📖 Additionally, there have been 3 contributions to our documentation and book. (#6271, #6194, #6175)
Thanks to all our contributors! 😊
v1.0.5
Changes since v1.0.4
🐛 Bug Fixes
- [clusterctl] retry listObjByGVK during clusterctl upgrade (#6273)
- [clusterctl] retry delete during clusterctl upgrade (#6274)
- [core] Fix panic in Cluster webhook (#6223)
- [E2E] Update CAPI version to v1beta1 in kustomization in test-framework (#6080)
- [E2E] update clusterctl version in e2e to latest patch (#6061)
📖 Additionally, there have been 1 contributions to our documentation and book. (#6195)
Thanks to all our contributors! 😊
v0.4.8
v1.1.2
Changes since v1.1.1
✨ New Features
- Test Framework: allow provider-specific infra machine template for upgrade tests (#6083)
- KCP: Support new control plane label and taint (#6084)
🐛 Bug Fixes
🌱 Others
- ClusterToInfrastructureMapFuncWithExternallyManagedCheck: Remove debugging leftovers (#6085)
📖 Additionally, there have been 2 contributions to our documentation and book. (#6148, #6123)
Thanks to all our contributors! 😊
v1.1.1
Changes since v1.1.0
🐛 Bug Fixes
- KCP: don't rollout machines when upgrading from older versions (#6095)
- E2E: update clusterctl version in e2e to latest patch (#6060)
- ClusterToInfrastructureMapFunc: Exclude externally managed infrastructures (#6064)
🌱 Others
- clusterctl: Adding hetzner provider to the clusterctl and to the docs (#6071)
📖 Additionally, there have been 2 contributions to our documentation and book. (#6066, #6065)
Thanks to all our contributors! 😊
v1.1.0
Changes since v1.0
📝 Proposals
- ClusterClass: Add MachineHealthCheck support details (#5511)
- ClusterClass: Add patching support details (#5212)
- Add proposal for opt-in autoscaling from zero (#4283)
⚠️ Breaking Changes
- Updated function name HasPausedAnnotation to HasPaused and HasSkipRemediationAnnotation to HasSkipRemediation (#5545)
- MachineSet on scale down now takes into account NodeHealthy condition (#5424)
- KubeadmControlPlaneTemplate: Remove redundant or unused fields (#5788)
- Update references with an APIReader as fallback (#5698)
- Move kubeadm controllers to internal (#5493)
✨ New Features
- Upgrade to Kubernetes 1.23.3 in Quickstart and CI (#6012)
- ClusterClass: Implement MachineDeployment variable overrides (#5928)
- ClusterClass: Implement object and array variables (#5779)
- ClusterClass: Add topology conditions (#5732)
- ClusterClass: Add MachineHealthCheck generation (#5873)
- Clusterclass: Make webhook cluster aware (#5717)
- ClusterClass: Add changes e2e test (#5664)
- ClusterClass: Add upgrade e2e test (#5645)
- ClusterClass: Enable rebase operation (#5644)
- ClusterClass: Add support for optional patches (#5694)
- ClusterClass: json patches support (#5583)
- ClusterClass: patch engine implementation (#5534)
- ClusterClass: Add reconciler (#5486)
- ClusterClass: variable and patch types (#5418)
- clusterctl: add
alpha topology plan
command (#5893, #5960) - clusterctl: Add BringYourOwnHost(BYOH) provider to (#5593)
- clusterctl: move with clusterclass (#5499)
- clusterctl: Add windows amd64 target (#5650)
- clusterctl: Add ibmcloud provider support (#5640)
- clusterctl: Add ClusterClass support to
clusterctl generate cluster
(#5351) - KubeadmConfig: Add Patches field in InitConfiguration and JoinConfiguration (#5897)
- KubeadmConfig: Set default format to cloud-config (#5869)
- KubeadmConfig: Add support for generating bootstrap data in Ignition format (#4172)
- KubeadmControlPlane: Support customizing the etcd dial timeout, increase default to 10s (#5778)
🐛 Bug Fixes
- clusterctl: Fix cert manager repo and add troubleshooting guide (#6052)
- clusterctl: Fix/backup restore error handling. (#5840)
- clusterctl: Fix clusterctl delete (#5662)
- clusterctl: init should report the correct namespace when detecting a provider is already intalled (#5739)
- clusterctl: Add delete webhook kubebuilder config for cluster and clusterclass (#5737)
- clusterctl: discovery should ignore provider's resources (#5684)
- clusterctl: update move to support new cluster validations (#5625)
- clusterctl: restore - set tenants on the new object graph constructed from files in the backup directory (#5588)
- clusterctl: only fix target namespace in template if TargetNamespace is set (#5488)
- clusterctl: Fix clusterctl delete when deleting providers with cluster-wide resources (#5420)
- clusterctl: Use release tag as git version for building clusterctl binaries (#5473)
- ClusterClass: Remove generated names from error messages to reduce reconciliation (#5992)
- ClusterClass: Make MHC ClusterClass authoritative on paths (#5949)
- ClusterClass: Make Topology controller authoritative on MachineDeployment failuredomain (#5950)
- ClusterClass: allow accessing nestedFields via valueFrom.variable (#5925)
- ClusterClass: fix remove patches (#5844)
- ClusterClass: drop support for nullable (#5780)
- ClusterClass: Fix defaulting of nullable variables (#5773)
- ClusterClass: make PatchSelector machineDeploymentClass.names optional (#5766)
- ClusterClass: fix nullable variables (#5756)
- ClusterClass: patch MachineDeployment selector authoritatively (#5731)
- ClusterClass: Ensure we're not trying to reconcile the topology of non-managed clusters (#5700)
- ClusterClass: fix authoritative mergepatch (#5629)
- ClusterClass: fix topologyReconcileLogger (#5617)
- CLusterClass: topology should not generate empty patch for metadata (#5580)
- ClusterClass: Add mandatory .spec.template.spec to DockerClusterTemplates (#5514)
- ClusterClass: drop multipleOf, change min/max to *int64 (#5494)
- ClusterClass: Prevents kubectl.kubernetes.io/last-applied-configuration annotation to be propagated to templates generated by ClusterClass (#5412)
- Cluster: Cluster FailureDomains should always be fully synced rather than additive (#5479)
- CABPK: Add unlock mechanism to the kubeadm bootstrap provider (#5824)
- CABPK: Remove redundant SetupWebhookWithManager funcs on list types (#5725)
- KCP: Allow KCP to Update when CoreDNS version doesn't change (#6011)
- KCP: make KubeadmConfig format mutable (#5904)
- KCP: Fix incorrect array initalization causing incorrect webhook failures (#5808)
- KCP: Fix adding appended list directly causing changing previous value on validation (#5670)
- KCP ensure etc client generators never return nil without an error (#5710)
- KCP: Add proper rbac rule in KCP controller for CRD (#5675)
- KCP: Make KCP nodeDrainTimeout mutable (#5663)
- KCP: don't run validation webhook on scale (#5454)
- MachineSet: normalize MachineSet version validation (#5406)
- MachineSet: Prevent orphaned InfrastructureMachines (#5865)
- MachineHealthCheck: Return an error if we can't delete the external remediation object (#5654)
- ClusterResourceSet: handle error in case ownerRef is not set on crs binding (#5996)
- CAPD: fix logContainerDebugInfo (#5901)
- CAPD: fix MachinePool reconciler (#5833)
- CAPD: Reconcile dockermachine.status.address after move (#5659)
- E2E: test/e2e/cluster-upgrade: skip worker upgrades if worker count is 0 (#5926)
- E2E: Added CleanupAndWait function to reduce flakiness in test (#5837)
- E2E: Fix control plane upgrade test etcd and dns image upgrade (#5868)
- E2E: Fix cluster topology and UpdateCoreDNS test flakes (#5815)
- E2E: Fix the TestBootstrapTokenRotationMachinePool test (#5733)
- E2E: Fix clusterctl upgrade test (v1-0 => main) (#5689)
- E2E: Fix WaitFor parameters for UpgradeControlPlaneAndWaitForUpgrade (#5679)
- E2E: Provide a better error message for WaitForControlPlaneToBeReady function (#5601)
- E2E: Fix Matchers bug on ignored paths and add tests (#5565)
- E2E: Update CAPI version to v1beta1 in kustomization in test-framework (#5526)
- util/predicates: log correct object type in cluster predicates (#5708)
- Fix CABPK, addons and CAPD manifest generation (#5696)
- Fix Tiltfile from clean-bin (#5630)
- ClusterCacheTracker test should wait and close its reconciler (#5427)
And #5527, #5538, #5540, #5590, #5653, #5671, #5691, #5701, #5702, #5703,
#5706, #5716, #5728, #5734, #5740, #5784, #5792, #5878, #5932, #5943
🌱 Others
- clusterctl: describe show MachineSets (#5438)
- clusterctl: Generate returns better error message in case there is no management cluster available (#5373)
- clusterctl: describe show Cluster conditions (#5437)
- clusterctl: fix typo for GitHub rate limit error (#5801)
- Tiltfile: Add observability tools (#5336)
- Enforce go import order via gci linter (#5592)
- Testing: Use kubebuilder envtest v1.23.3 (#6015, #5955)
- Update Docker and containerd dependencies (#5973)
- Make release-notes for pre-releases (#5962)
- Test rolling update scale-in doesn't race machine deletion (#5934)
- ClusterClass: Validate MachineDeployment topology name not empty (#5951)
- ClusterClass: Block +2 minor version upgrade in cluster topology (#5935)
- ClusterClass: Add reconcile repeatedly test (#5846)
- ClusterClass: Drop extensions in extensions/patches package path (#5931)
- ClusterClass: Topology controller upgrades templates in place when there are only metadata changes (#5416)
- ClusterClass: Validate default and enum JSON, extend schema conversion test (#5772)
- ClusterClass: Make ControlPlane.spec.machineTemplate.nodeDrainTimeout patchable (#5915)
- ClusterClass: Generate events for topology changes (#5631)
- ClusterClass: Add support for topology managed fields (#5812)
- ClusterClass: change selector machineDeploymentClass field to pointer (#5781)
- Check for build metadata in cert-manager version (#5573)
- Improve managed field annotation encoding (#5922)
- Collect kind logs when e2e bootstrap fails (#5910)
- Testing: improve logging of RunErrors occurring when bootstrap cluster creation fails (#5908)
- Modify providerid struct string method to receive value (#5821)
- Add timeout to check if KCP object exists (#5889)
- Replace hardcoded kind cluster name to pickup env values (#5822)
- Address in-loop deferred-close in etcd client generator (#5789)
- Deprecate the HealthCheckSucceded condition for typo (#5861)
- Add failureDomains in MachineDeploymentTopology (#5850)
- Tiltfile: Speedup startup time (#5785)
- Add validation for default, enum and example definitions in variables (#5835)
- Enable predeclared linter and fix problems (#5847)
- Standardize api import aliases (#5830)
- Enable more gocritic lint checks (#5843)
- Added variable example and description to clusterclass yamls (#5842)
- Testing: Implement release informing jobs with CC & IPv6 (#5804)
- Testing: Add basic integration tests for ClusterClass webhook (#5803)
- ClusterClass: clarify that enum works with all types (#5834)
- Add test coverage for container runtime calls (#5668)
- ClusterClass: add documentation fields for patches and variables (#5825)
- Set gci linter prefix value (#5669)
- Add v1.1 to metadata.yaml (#5819)
- Enforce godoc comments for exported functions (#5817)
- Replace disable-echo option with echo option in clusterctl describe (#5787)
- Use Kubernetes 1.23 in: quickstart, CAPD, e2e tests + update doc (#5800)
- CAPD: Add profiler-address flag (#5674)
- CAPD: add ClusterClass cluster-template (#5805)
- CAPD: move packages to internal (#5795)
- KubeadmControlPlane: move webhook to internal (#5791)
- ClusterClass: add check to ensure changes don't invalidate existing cluster variables (#5752...
v1.0.4
Changes since v1.0.3
🐛 Bug Fixes
- Fix cert manager repo and add troubleshooting guide (#6053)
👌 Kubernetes version support
- Management Cluster: v1.19.x -> v1.23.x [1]
- Workload Cluster: v1.18.x -> v1.23.x [1]
[1] KCP does not support versions of CoreDNS > v1.8.5 as an upgrade target
Thanks to all our contributors! 😊
v0.4.7
Changes since v0.4.6
🐛 Bug Fixes
- [clusterctl] Fix cert manager repo and add troubleshooting guide (#6054)
👌 Kubernetes version support
- Management Cluster: v1.19.x -> v1.23.x [1]
- Workload Cluster: v1.18.x -> v1.23.x [1]
[1] KCP does not support versions of CoreDNS > v1.8.4 as an upgrade target
Thanks to all our contributors! 😊
v1.0.3
Changes since v1.0.2
🐛 Bug Fixes
- [Machine Set] Prevent orphaned InfrastructureMachines (#5875)
- [kubeadm control plane] Allow KCP to Update when CoreDNS version doesn't change (#6003)
- [kubeadm control plane] Fix control plane upgrade test etcd and dns image upgrade (#5896)
- [kubeadm bootstrap] Add unlock if bootstrap machine holding lock does not exist (#5855)
- Update containerd and docker go deps (#5886)
🌱 Others
- [Test framework] Add timeout to check if KCP object exists (#5909)
- Add image promotion make target using kpromo (#5828)
📖 Additionally, there have been 1 contributions to our documentation and book. (#6034)
Thanks to all our contributors! 😊