Changes since v0.3.9
⚠️ Breaking Changes
- Use metadata-only client when retrieving CRDs (#3625) — Impact: The function
ConvertReferenceAPIContract
's signature changed tofunc(context.Context, logr.Logger, client.Client, rest.Config, corev1.ObjectReference) error
. - Eliminate possible deadlocks in ClusterCacheTracker (#3654) — Impact: If you're using ClusterCacheTracker's
Watch
method, the input structWatchInput
now requires a uniqueName
. - [testing] Add docker machine pool and e2e tests for machine pool (#3506) — Impact: The function
ApplyClusterTemplateAndWait
's signature changed tofunc(context.Context, ApplyClusterTemplateAndWaitInput) *ApplyClusterTemplateAndWaitResult
. - [testing] Cleanup kind cluster if it fails during e2e setup (#3479) — Impact: The function
LoadImagesToKindCluster
now returns an error.
✨ New Features
- Add the ability to specify a drain timeout for Machines (#3662)
- [clusterctl] Implement "clusterctl completion" command (#3622)
- [clusterctl] Add option to use configuration file in remote locations (#3553)
- [clusterctl] Add Cluster API digitalocean (CAPDO) to infrastructure providers (#3621)
- [clusterctl] Add Cluster API OpenStack (CAPO) to infrastructure provider (#3681)
- [clusterctl] Add AWS EKS bootstrap and control-plane providers (#3618, #3685)
🐛 Bug Fixes
- Fix node deletion under managed control planes (#3673)
- Makefile release target should properly clean the git tree (#3704, #3725)
- Machine controller should have DrainingSucceededCondition as owned condition (#3642)
- The
util.HasOwner
function should not compare with the API version (#3636) - Fix cluster cache tracker healthchecks (#3615)
- Improve logging for workload connection error (#3613)
- Tilt should use a supported kustomize version (#3551)
- Fix a regression in Tiltfile (#3626)
- [clusterctl] Fix a bug that fails to write the version state file (#3575)
- [testing] Fix self-hosted test by adding docker mount to control-plane nodes (#3675)
📖 Documentation
- Avoid linking to the master branch of repositories (#3721)
- Ensure correct make targets in order to build book (#3709)
- Updated upgrade documentation (#3530)
- Move CABPK docs to book and add examples (#3699)
- KCP remediation proposal (#3676)
- Default GOPROXY if not set when building mdbook preprocessors (#3671)
- Added AzureStackHCI infrastructure provider to list of providers in the CAPI book (#3655)
- Update KCP proposal to be up-to-date with the latest changes (#3605)
- Add CAPI Clean Up section to Quick Start (#3634)
- Documents how to triage E2E test failure (#3590)
- Simplify Azure quickstart and remove optional variables (#3588)
- Update the misleading sentences in providers documentation. (#3548)
- Update broken link to CAPA prerequisites (#3703)
🌱 Others
- Add conditions to MachinePool (#3627)
- Removes step counter from kubeadmconfig ready condition (#3701)
- Changes priority of infrastructure failures in machine summary condition (#3688)
- Support patch ForceOverwriteConditions option (#3643)
- Save a DeepCopy when calculating patches in Patch helper (#3630)
- Save a DeepCopy when patching typed objects (#3628)
- Eliminate extra DeepCopy for CRDs (#3624)
- Reuse the same RESTMapper for cache and client (#3632)
- Fix yaml file write issue in create-local-repository.py (#3648)
- Increase timeout to fix self-hosting flakes (#3667)
- Add deleting failure reason (#3549)
- Switch link checker to mdbook-linkcheck (#3474)
- Have hack/create-local-repository.py write yaml files in native text format (#3614)
- Predicates: move log declaration inside closures (#3623)
- Tiltfile: Parameterize kustomize and main.go for providers (#3604)
- Add version print column for MachinePool (#3578)
- [KubeadmControlPlane] Remove backoff adaptor for etcd (#3672)
- [KubeadmControlPlane] Enable kubeadmConfigSpec.verbosity modifications (#3559)
- [clusterctl] Print upgrade notice for cert-manager (#3557)
- [clusterctl] Log when objects aren't moved (#3637)
- [clusterctl] Support mover dry run (#3598)
- [clusterctl] Add force move support for secret (#3619)
- [clusterctl] Fix message for clusterctl EnsureCustomResourceDefinitions failure (#3612)
- [clusterctl] Allow deleting multiple providers at once (#3617)
- [clusterctl] Add log to indicate the secret is ignored (#3602)
- [clusterctl] Allow custom providers in clusterctl client (#3586)
- [testing] Add kubetest, kubernetesversions, log and ginkgo extensions (#3652)
- [testing] Fix E2E log collector regression by aligning to the container naming rules used in CAPD (#3687)
- [testing] Refactor MachineHealthChecks tests to use go-test (#3633)
- [testing] Remove e2e templates from the code base (#3657)
- [testing] Remove unused ginkgo suite test setup (#3665)
- [testing] Fix self-hosted flakes in E2E tests (#3639)
- [testing] use kustomize for generating e2e templates (#3651)
- [testing] Resolve flake: Wait for controlplane to be available on management cluster (#3650)
- [testing] Fix some typos and grammar in e2e logs (#3649)
- [testing] Fix the E2E MHC remediation errors (#3600)
- [testing] Display path of the kubeconfig file for the bootstrap cluster (#3596)
- [testing] Stop test suite when a capi e2e test fails (#3585)
- [testing] Add LogCollector to E2E framework (#3580)
- [testing] Add quotes to GINKGO_FOCUS (#3587)
- [testing] Delete GINKGO_FOCUS from ci-e2e.sh (#3583)
- [testing] Add PR-Blocking label to Quick-Start test (#3582)
- [testing] Pre-pull e2e images on CI (revert to v1.17/v1.18) (#3567)
- [testing] Restore CNIManifestPath to struct for API compat (#3608)
- Update mdbook to v0.4.3 (#3659)
- Update Go 1.13.15 (#3629)
- Update Controller Runtime to v0.5.11 (#3646)
Thanks to all our contributors! 😊