v1.14.0-alpha.0
Pre-release
Pre-release
·
2 commits
to main
since this release
🚨 This is a ALPHA RELEASE. Use it only for testing purposes. If you find any bugs, file an issue.
More details about the release
More information about version support can be found here
Changes since v1.13.0
📈 Overview
- 153 new commits merged
- 7 breaking changes
⚠️ - 13 feature additions ✨
- 12 bugs fixed 🐛
⚠️ Breaking Changes
- CAPD: Mark docker resources as deprecated (#13557)
- CAPD: Migrate ClusterClass changes e2e test from the docker to the in-memory backend (#13764)
- CAPD: Migrate templates to use Dev* instead of Docker* (#13741)
- Dependency: Bump to controller-runtime v0.24 & controller-tools v0.21 (#13651)
- e2e: Migrate e2e tests from using Docker* resources to Dev* resources (#13647)
- e2e: Migrate test extension to use Dev* instead of Docker* (#13716)
- Misc: Fix minor goroutine leak in util/cache after controller shutdown (#13487)
✨ New Features
- API: Introduce separate API module (#13762)
- API: Move OpenAPI schema out of the api package to avoid direct dependency on kube-openapi in the api module (#13825)
- Bootstrap: Write kubeadm control plane version file for workers to use to fetch the matching kubeadm binary (#13433)
- CAPD: Introduce per-reconciler concurrency flags in CAPDev (#13740)
- Cluster: Use regular patch instead of SSA to patch Cluster in topology controller (#13760)
- ClusterCache: Expose and use DefaultTransform on CacheOptions (#13780)
- ClusterCache: Use DefaultTransform in core CAPI, CABPK and KCP (#13820)
- ClusterClass/KCP/MachineSet: Implement stale controller mitigation in KCP / MS / Cluster topology controller (#13737)
- clusterctl: Add experimental
clusterctl convertcommand (#12843) - Dependency: Bump Go 1.26 (#13623)
- MachineDeployment/util: Stale controller mitigation in reconcile wrapper & MD controller, enable store & fifo informer metrics (#13720)
- Misc: Implement managedFields interning (#13807)
- Release: Prepare main branch for v1.14 development (#13617)
🐛 Bug Fixes
- CAPD: Fix CAPD flakes (#13757)
- CAPD: Fix E2E host port binding lookup (#13627)
- clusterctl: Skip update check for clusterctl completion (#13653)
- Dependency: Fix CVE-2026-39883 (#13571)
- Devtools: Fix Tilt kube-state-metrics deployment (#13677)
- e2e: Fix self-hosted test (#13778)
- KCP: Fix failing TestKubeadmControlPlaneReconciler_reconcileEtcdMembers (#13717)
- KCP: Fix KCP in-place update with InfraMachine webhooks with immutability validation (#13640)
- KCP: KCP deletion should tolerate missing InfraTemplates (#13558)
- Machine/Bootstrap: Perform draining and volume detachment once until completion (#11590)
- MachineDeployment: Fix nil pointer panic when paused with no matching MachineSet (#13827)
- Release: Revert unset GOCACHE env var (#13732)
🌱 Others
- API/Runtime SDK/IPAM/MachinePool/MachineSet/MachineDeployment: Fix typos in generated CRD descriptions (#13641)
- CABPK: Use ClusterClass with RuntimeSDK in kubeadm join old Node e2e test & fix e2e test failures (#13759)
- CAPD: Add support for controller restart to in-memory backend (#13595)
- CAPD: Only add finalizer after InfraMachine has owner in CAPDev (#13714)
- CAPD: Partially revert fix self-hosted test (#13795)
- CAPD: Refactor CAPDev reconciler (#13702)
- CI: Add cron buckets to prow generator (#13656)
- CI: Add KCP infra adoption test (#13731)
- CI: Drop jobs on release-1.11 (#13593)
- CI: Fix link in cloudbuild.yaml's (#13793)
- CI: Fix linter findings in hack/tools (#13814)
- CI: Harden git workflows (#13442)
- CI: Make it possible to exclude CVEs with govulncheck (#13669)
- CI: Read permissions for pr-verify action (#13687)
- CI: Replace deprecated gaurav-nelson/github-action-markdown-link-check with tcort fork (#13572)
- CI: Revert "Migrate away from custom GitHub action approval workflow" (#13802)
- CI: Stop running make lint-api multiple times in the GitHub action (#13824)
- ClusterCache: Cleanup ClusterCache metrics for deleted Clusters (#13660)
- clusterctl/Misc: Avoid building if LDFLAGS returns error checking for SemVer (#13418)
- clusterctl: Add cloudscale-ch-cloudscale provider (#13544)
- clusterctl: Bump Cert-manager v1.20.2 (#13583)
- clusterctl: Improve clusterctl describe (#13753)
- Control-plane: Add additional test cases for EnsureKubeadmPermissions (#13758)
- Control-plane: Remove unused functions in internal/contract (#13826)
- Dependency: 1.26.3 (#13661)
- Dependency: Bump envtest 1.36 (#13657)
- Dependency: Bump go to v1.26.4 (#13788)
- Dependency: Bump golang/x/net to 0.55.0 (#13744)
- Devtools: Add Headlamp to Tilt dev environment (#13538)
- Devtools: Add log dashboard (#13594)
- Devtools: Bump headlamp CAPI plugin to 0.2.0-beta.0 (#13783)
- Devtools: Fix gosec lint findings (#13709)
- Devtools: Upgrade tempo & fix configuration (#13727)
- e2e: Add options to runtimesdk e2e test (#13750)
- e2e: Bump to kind main to fix e2e tests (#13767)
- e2e: Bump to kind v0.32.0 (#13781)
- e2e: Cleanup of ControlPlaneKubeletLocalMode handling in KCP adoption test (#13695)
- e2e: Cleanup unused e2e test templates (#13713)
- e2e: Enable opt-out of OwnerReferencesPermissionEnforcement admission controller & opt-out in clusterctl upgrade tests (#13819)
- e2e: Fix E2E chained upgrade (#13618)
- e2e: Improve handling of missing kind versions (#13642)
- e2e: Start testing against Kubernetes v1.37 (#13614)
- e2e: Start testing with K8s 1.36.0 (#13611)
- e2e: Start testing with Kubernetes v1.36.0-rc.0 (#13564)
- e2e: Start testing with Kubernetes v1.36.0-rc.1 (#13585)
- e2e: Use Runtime SDK for kcp-infra-adoption e2e test (#13809)
- KCP: Add kubeadm cluster role (#13664)
- KCP: KCP cleanup etcd members not started after a machine is remediated (#13685)
- KCP: Update RemoveEtcdMember to accept a *etcd.Member instead of a member name (#13784)
- Machine: Improve machine controller in-place update unit tests (#13682)
- MachineDeployment: Extend stale controller mitigation in MD controller to MS deletion (#13730)
- MachineSet: Cleanup orphaned BoostrapConfigs / InfraMachines in MS controller (#13812)
- Misc: Add finalizer only after we got owner/cluster (#13747)
- Misc: Correct typos in comments and error messages (#13756)
- Misc: Delete unused nolint directives (#13710)
- Misc: Fix static check lint errors (#13708)
- Misc: Improve conversion webhook aliasing (#13828)
- Misc: Replace reflect.Ptr with reflect.Pointer (#13707)
- Misc: Update Kubernetes bump issue template (#13693)
- Release: Add workaround for generate release notes (#13655)
- Release: Optimize go build in
make release-binary(#13499) - Runtime SDK: Do not follow redirects when calling runtime extensions (#13763)
- Runtime SDK: Surface Runtime Extension errors in conditions (#13813)
- Security: Updated gitignore (#13799)
- Testing/Documentation/e2e: Improve support for OwnerReferencesPermissionEnforcement admission controller (#13805)
- Testing: Add a test case to confirm that kcp can safely remove a member when it doesn't have a corresponding machine but it has no alarm (#13772)
- Testing: Improve KCP remediation ack signal diagnostics and reset handling (#13736)
- Testing: Make the clusterctl upgrade management cluster control plane count configurable (#13766)
- Testing: Update version matrix for GitHub workflows for release 1.13 (#13578)
- util: Refactor consistency store to allow defer without previous store registration (#13751)
- util: Remove deprecated code (#13749)
- util: Switch CRD migrator to use merge patch (#13792)
📖 Additionally, there have been 20 contributions to our documentation and book. (#13419, #13559, #13566, #13568, #13574, #13589, #13592, #13603, #13615, #13620, #13624, #13637, #13645, #13683, #13684, #13696, #13699, #13704, #13718, #13777)
Dependencies
Added
- github.com/clipperhouse/displaywidth: v0.10.0
- github.com/clipperhouse/stringish: v0.1.1
- github.com/clipperhouse/uax29/v2: v2.6.0
- k8s.io/streaming: v0.36.2
Changed
- github.com/alecthomas/units: b94a6e3 → 0f3dac3
- github.com/coredns/corefile-migration: v1.0.31 → v1.0.33
- github.com/coreos/go-oidc: v2.3.0+incompatible → v2.5.0+incompatible
- github.com/coreos/go-systemd/v22: v22.5.0 → v22.7.0
- github.com/godbus/dbus/v5: v5.0.4 → v5.1.0
- github.com/golang-jwt/jwt/v5: v5.2.2 → v5.3.0
- github.com/google/pprof: 294ebfa → 545e8a4
- github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus: v1.0.1 → v1.1.0
- github.com/grpc-ecosystem/go-grpc-middleware/v2: v2.3.0 → v2.3.3
- github.com/mattn/go-runewidth: v0.0.16 → v0.0.19
- github.com/moby/spdystream: v0.5.0 → v0.5.1
- github.com/olekukonko/errors: v1.1.0 → v1.2.0
- github.com/olekukonko/ll: v0.1.1 → v0.1.6
- github.com/olekukonko/tablewriter: v1.0.9 → v1.1.4
- github.com/onsi/ginkgo/v2: v2.28.1 → v2.31.0
- github.com/onsi/gomega: v1.39.1 → v1.42.0
- github.com/pmezard/go-difflib: v1.0.0 → 5d4384e
- github.com/prometheus/common: v0.66.1 → v0.67.5
- github.com/prometheus/procfs: v0.16.1 → v0.19.2
- go.etcd.io/etcd/api/v3: v3.6.10 → v3.6.12
- go.etcd.io/etcd/client/pkg/v3: v3.6.10 → v3.6.12
- go.etcd.io/etcd/client/v3: v3.6.10 → v3.6.12
- go.etcd.io/etcd/pkg/v3: v3.6.5 → v3.6.8
- go.etcd.io/etcd/server/v3: v3.6.5 → v3.6.8
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.60.0 → v0.65.0
- go.uber.org/zap: v1.27.1 → v1.28.0
- golang.org/x/crypto: v0.50.0 → v0.51.0
- golang.org/x/exp: 8a7402a → 944ab1f
- golang.org/x/mod: v0.34.0 → v0.36.0
- golang.org/x/net: v0.53.0 → v0.55.0
- golang.org/x/sync: v0.20.0 → v0.21.0
- golang.org/x/sys: v0.43.0 → v0.45.0
- golang.org/x/telemetry: 579e4da → 42602be
- golang.org/x/term: v0.42.0 → v0.43.0
- golang.org/x/text: v0.36.0 → v0.38.0
- golang.org/x/time: v0.9.0 → v0.14.0
- golang.org/x/tools/go/expect: v0.1.0-deprecated → v0.1.1-deprecated
- golang.org/x/tools: v0.43.0 → v0.45.0
- google.golang.org/protobuf: v1.36.11 → f2248ac
- k8s.io/api: v0.35.3 → v0.36.2
- k8s.io/apiextensions-apiserver: v0.35.3 → v0.36.2
- k8s.io/apimachinery: v0.35.3 → v0.36.2
- k8s.io/apiserver: v0.35.3 → v0.36.2
- k8s.io/client-go: v0.35.3 → v0.36.2
- k8s.io/cluster-bootstrap: v0.35.3 → v0.36.2
- k8s.io/code-generator: v0.35.3 → v0.36.2
- k8s.io/component-base: v0.35.3 → v0.36.2
- k8s.io/klog/v2: v2.130.1 → v2.140.0
- k8s.io/kms: v0.35.3 → v0.36.2
- k8s.io/kube-openapi: 589584f → 43fb72c
- k8s.io/utils: bc988d5 → b8788ab
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.31.2 → v0.34.0
- sigs.k8s.io/controller-runtime: v0.23.3 → v0.24.1
- sigs.k8s.io/structured-merge-diff/v6: v6.3.2 → v6.4.0
Removed
_Thanks to all our contributors!_ 😊