From 86bdf2b6937e7d5b10b46e2a72ec2a4617c4517e Mon Sep 17 00:00:00 2001 From: chandankumar4 Date: Tue, 27 May 2025 21:14:35 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Release=20v1.11.0-alpha.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chandankumar4 --- CHANGELOG/v1.11.0-alpha.0.md | 210 +++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 CHANGELOG/v1.11.0-alpha.0.md diff --git a/CHANGELOG/v1.11.0-alpha.0.md b/CHANGELOG/v1.11.0-alpha.0.md new file mode 100644 index 000000000000..10029a4e9b6a --- /dev/null +++ b/CHANGELOG/v1.11.0-alpha.0.md @@ -0,0 +1,210 @@ +🚨 This is a ALPHA RELEASE. Use it only for testing purposes. If you find any bugs, file an [issue](https://github.com/kubernetes-sigs/cluster-api/issues/new). +
+More details about the release + +:warning: **ALPHA RELEASE NOTES** :warning: + +## Changes since v1.10.0 +## :chart_with_upwards_trend: Overview +- 149 new commits merged +- 35 breaking changes :warning: +- 9 feature additions ✨ +- 19 bugs fixed 🐛 + +## :warning: Breaking Changes +- API: Add v1beta2 types (#12037) +- API: Change .status.replicas fields to pointer + omitempty (#12250) +- API: add V1Beta1 suffix and remove V1Beta2 suffix from condition types and reasons in v1beta2 packages (#12091) +- API: Move APIs to ./api (#12262) +- API: Remove DefaulterRemoveUnknownOrOmitableFields mutating webhook option (#12290) +- API: Promote v1beta2 conditions (#12066) +- API: Remove DefaulterRemoveUnknownOrOmitableFields mutating webhook option (#12231) +- API: Remove IPFamily from public APIs (move to CAPD/kind util) (#12215) +- CABPK: Align KubeadmConfig to kubeadm v1beta4 types (#12282) +- Cluster: Remove deprecated index ByClusterClassName, ClusterByClusterClassClassName and ClusterClassNameField (#12269) +- ClusterClass: Move infrastructure namingStrategy field in ClusterClass (#12216) +- ClusterClass: Remove ClusterVariable.DefinitionFrom field (#12202) +- ClusterClass: Remove deprecated Cluster.spec.topology.rolloutAfter field (#12268) +- ClusterClass: Remove deprecated ClusterCacheTracker and corresponding types (#12270) +- ClusterClass: Rename deprecated ClusterClass Metadata fields to DeprecatedV1Beta1Metadata (#12273) +- ClusterClass: Rename runtime extension fields in ClusterClass ExternalPatchDefinition (#12281) +- ClusterClass: Restructure classRef field in Cluster.spec.topology (#12235) +- clusterctl: Remove clusterctl alpha topology plan (#12283) +- ClusterResourceSet: Make clusterName field in ClusterResourceSetBinding required (#12276) +- ClusterResourceSet: Remove deprecated ClusterResourceSetBinding.DeleteBinding method (#12267) +- Conditions: Swap condition packages (#12086) +- Dependency: Bump to controller-runtime v0.21 / controller-tools v0.18 / k8s.io/* v0.33 / move to randfill (#12191) +- MachineDeployment: Drop revisionHistory in MachineDeployment (#12274) +- MachineDeployment: Remove MD spec.progressDeadlineSeconds (#12232) +- MachineHealthCheck: Rename MHC unhealthyConditions to unhealthyNodeConditions (#12245) +- API/Cluster: Add initialization to Cluster status (#12098) +- API/Control-plane/Bootstrap/KCP/CABPK/Cluster: Implement v1beta2 contract in cluster controller, KCP, CABPK (#12094) +- API/Machine: Add initialization to Machine Status (#12101) +- API/MachinePool: Add initialization to MachinePool Status (#12102) +- clusterctl/Documentation: Remove reference and configurations for Packet (Equinix Metal) (#12143) +- KCP/CABPK: Remove KubeadmConfig UseExperimentalRetryJoin (#12234) +- Machine/Cluster: Stop using FailureReason and FailureMessage in controllers (#12148) +- Machine/MachinePool/MachineSet/MachineDeployment: Add MinReadySeconds to Machine and remove it from MachineDeployment, MachineSet, MachinePool. (#12153) +- Machine/MachineSet/MachineDeployment/Cluster: Stop using deprecated replica counters in controllers (#12149) +- Runtime SDK: Add v1beta2 API for ExtensionConfig (#12197) + +## :sparkles: New Features +- API: Deprecate v1alpha1 & v1beta1 API packages (#12254) +- Dependency: Bump controller-tools v0.17.3, conversion-gen v0.33.0 (#12129) +- Dependency: Complete bump to Kubernetes v1.33 (#12206) +- Dependency: Update KUBEBUILDER_ENVTEST_KUBERNETES_VERSION (#12130) +- e2e: From 1.10 use GetStableReleaseOfMinor instead of GetLatestReleaseOfMinor (#12118) +- Machine: Implement v1beta2 contract in Machine controller (#12038) +- Runtime SDK/ClusterClass: Extend Cluster builtin to include metadata (#12014) +- Runtime SDK: Extend cluster builtin to include classNamespace (#12050) +- Testing: Bump Kubernetes in tests to v1.33.0 and claim support for v1.33 (#12104) + +## :bug: Bug Fixes +- Bootstrap: Make joinConfiguration.discovery.bootstrapToken.token optional (#12107) +- Bootstrap: Relax minLength for bootstrap.dataSecretName to 0 (#12164) +- CABPK: Increase ignition additionalConfig maxSize from 10 to 32 KB (#12222) +- CABPK: Make KubeadmConfig FileSystem.Label optional (#12019) +- CAPD: Fix worker machine count in CAPD template (#12028) +- CAPIM: Fix CAPD in-memory templates (#12013) +- CAPIM: fix error check (#12230) +- clusterctl: Add missing API version to NS object (#12200) +- clusterctl: Clusterctl upgrade hangs for a time on CRD migration when new version contains a number of new CRDs (#11984) +- e2e: Stop overwriting ExtraPortMappings if WithDockerSockMount option is used (#12012) +- IPAM: Enable conversion in CRDs (#12198) +- IPAM: Revert condition func changes for IPAddressClaim v1beta1 (#12223) +- KCP: Fix nil pointer in conversion (#12292) +- Machine: fallback to InfraMachine providerID if Machine providerID is not set (#11985) +- API/ClusterClass: Fix MaxLength of worker topology Name fields (#12072) +- Dependency/CI: Upgrade golangci-lint to v2.1.0 (#12170) +- Testing/CI: Fix the condition to check whether cluster has v1beta2 conditions (#12100) +- util: Fix cases where update validation fails (#11991) +- util: Fix typo for WithOwnedV1beta1Conditions to WithOwnedV1Beta1Conditions (#12218) + +## :seedling: Others +- API: Drop hardcoded v1beta1 references (#12027) +- API: Remove unused List conversion funcs (#12054) +- CAPIM: Ignore net.ErrClosed error during listener close & server shutdown (#12212) +- CI: Add govulncheck to ensure vulnerability (#12108) +- CI: Bump E2E to Kubernetes v1.33.0-rc.1 (#12099) +- CI: Bump golangci-lint v2 (#12088) +- CI: Enable duplicatemarkers linter (#12228) +- CI: Switch plugin to kube-api-linter (#12089) +- CI: Update version matrix for github workflows for release-1.10 (#11992) +- CI: Use release artifacts for CAPI v1.10 (#12147) +- ClusterClass: Improve webhook output to include the names of the clusters blocking a deletion (#12060) +- clusterctl: Add filename to clusterctl error about bad YAML (#12189) +- clusterctl: Add support for compatible contracts to clusterctl (#12018) +- clusterctl: Bump cert-manager to v1.17.1 (#12044) +- clusterctl: Bump cert-manager to v1.17.2 (#12210) +- clusterctl: Change k0smotron repo location (#12225) +- clusterctl: Enforce skip upgrade policy in clusterctl (#12017) +- Community meeting: Add JoelSpeed to approvers (#12204) +- Conditions: Cleanup v1beta1 updateStatus functions (#12190) +- Conditions: Drop usage of v1beta1 conditions (#12109) +- Dependency: Bump Go 1.24 (#12128) +- Dependency: Bump go to v1.23.8 (#12052) +- Dependency: Bump sigs.k8s.io/kind to v0.28.0 (#12243) +- Dependency: Bump sigs.k8s.io/kind to v0.29.0 (#12257) +- Devtools: Add KubeVirt support to Tilt dev workflow (#11697) +- Devtools: use v1beta2 for condition metrics and add metrics for dockercluster devcluster dockermachine devmachine extensionconfig ipaddressclaim and crs (#12006) +- e2e: Add an option to override custom node image name for kind cluster (#12186) +- e2e: Add retry for SSA requests against Kubernetes < v1.29 in clusterctl upgrade tests (#12067) +- e2e: Bump clusterctl_upgrade_test.go main and 1.10 tests to k8s v1.33.0 (#12193) +- e2e: Bump Kubernetes version used for testing to v1.33.0-rc.0 (#12073) +- e2e: Only run DescribeCluster if v1beta2 Cluster CRD is there (#12279) +- KCP: Allow unsetting etcd.local, etcd.external and dns (#12065) +- KCP: Bump corefile-migration library to v1.0.26 (#12058) +- KCP: Fix typo in forward etcd leadership error message (#12056) +- Misc: Remove jackfrancis from reviewers (#12134) +- Release: Prepare main for v1.11 development (#12000) +- Release: Use github.base_ref in markdown-link-check (#12034) +- Runtime SDK: Block dependencies to internal packages for the RX implementation (#12297) +- Runtime SDK: Stop registering API types in the runtime extension scheme (#12042) +- Testing: Watch logs from init containers (#12208) +- Testing: Release Notes Generator - Test cases for main.go and ref.go (#11882) +- util: Move contract version & GetCompatibleVersions to contract package (#12032) +- util: Recover v1.10 util packages for conditions, patch and paused to util/deprecated/v1beta1 for provider migrations (#12224) + +:book: Additionally, there have been 25 contributions to our documentation and book. (#11029, #11998, #12004, #12057, #12074, #12093, #12117, #12120, #12122, #12125, #12126, #12131, #12139, #12140, #12145, #12150, #12163, #12165, #12188, #12201, #12205, #12236, #12246, #12266, #12284) + +## Dependencies + +### Added +- github.com/klauspost/compress: [v1.18.0](https://github.com/klauspost/compress/tree/v1.18.0) +- github.com/kylelemons/godebug: [v1.1.0](https://github.com/kylelemons/godebug/tree/v1.1.0) +- github.com/prashantv/gostub: [v1.1.0](https://github.com/prashantv/gostub/tree/v1.1.0) +- go.opentelemetry.io/auto/sdk: v1.1.0 +- go.uber.org/automaxprocs: v1.6.0 +- gopkg.in/go-jose/go-jose.v2: v2.6.3 +- sigs.k8s.io/randfill: v1.0.0 + +### Changed +- cel.dev/expr: v0.18.0 → v0.19.1 +- github.com/coreos/go-oidc: [v2.2.1+incompatible → v2.3.0+incompatible](https://github.com/coreos/go-oidc/compare/v2.2.1...v2.3.0) +- github.com/golang-jwt/jwt/v4: [v4.5.0 → v4.5.2](https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.2) +- github.com/google/cel-go: [v0.22.0 → v0.23.2](https://github.com/google/cel-go/compare/v0.22.0...v0.23.2) +- github.com/google/gnostic-models: [v0.6.8 → v0.6.9](https://github.com/google/gnostic-models/compare/v0.6.8...v0.6.9) +- github.com/google/pprof: [40e02aa → 27863c8](https://github.com/google/pprof/compare/40e02aa...27863c8) +- github.com/gorilla/websocket: [v1.5.3 → e064f32](https://github.com/gorilla/websocket/compare/v1.5.3...e064f32) +- github.com/grpc-ecosystem/grpc-gateway/v2: [v2.20.0 → v2.24.0](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.20.0...v2.24.0) +- github.com/onsi/ginkgo/v2: [v2.23.3 → v2.23.4](https://github.com/onsi/ginkgo/compare/v2.23.3...v2.23.4) +- github.com/onsi/gomega: [v1.36.3 → v1.37.0](https://github.com/onsi/gomega/compare/v1.36.3...v1.37.0) +- github.com/pmezard/go-difflib: [5d4384e → v1.0.0](https://github.com/pmezard/go-difflib/compare/5d4384e...v1.0.0) +- github.com/prometheus/client_golang: [v1.19.1 → v1.22.0](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.22.0) +- github.com/prometheus/common: [v0.55.0 → v0.62.0](https://github.com/prometheus/common/compare/v0.55.0...v0.62.0) +- github.com/rogpeppe/go-internal: [v1.12.0 → v1.13.1](https://github.com/rogpeppe/go-internal/compare/v1.12.0...v1.13.1) +- github.com/spf13/viper: [v1.20.0 → v1.20.1](https://github.com/spf13/viper/compare/v1.20.0...v1.20.1) +- github.com/stretchr/objx: [v0.5.0 → v0.5.2](https://github.com/stretchr/objx/compare/v0.5.0...v0.5.2) +- go.etcd.io/etcd/api/v3: v3.5.20 → v3.5.21 +- go.etcd.io/etcd/client/pkg/v3: v3.5.20 → v3.5.21 +- go.etcd.io/etcd/client/v2: v2.305.16 → v2.305.21 +- go.etcd.io/etcd/client/v3: v3.5.20 → v3.5.21 +- go.etcd.io/etcd/pkg/v3: v3.5.16 → v3.5.21 +- go.etcd.io/etcd/raft/v3: v3.5.16 → v3.5.21 +- go.etcd.io/etcd/server/v3: v3.5.16 → v3.5.21 +- go.opentelemetry.io/contrib/detectors/gcp: v1.29.0 → v1.30.0 +- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.54.0 → v0.58.0 +- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.54.0 → v0.58.0 +- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.27.0 → v1.33.0 +- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.28.0 → v1.33.0 +- go.opentelemetry.io/otel/metric: v1.29.0 → v1.33.0 +- go.opentelemetry.io/otel/sdk/metric: v1.29.0 → v1.30.0 +- go.opentelemetry.io/otel/sdk: v1.29.0 → v1.33.0 +- go.opentelemetry.io/otel/trace: v1.29.0 → v1.33.0 +- go.opentelemetry.io/otel: v1.29.0 → v1.33.0 +- go.opentelemetry.io/proto/otlp: v1.3.1 → v1.4.0 +- golang.org/x/crypto: v0.36.0 → v0.38.0 +- golang.org/x/mod: v0.23.0 → v0.24.0 +- golang.org/x/net: v0.37.0 → v0.40.0 +- golang.org/x/oauth2: v0.28.0 → v0.30.0 +- golang.org/x/sync: v0.12.0 → v0.14.0 +- golang.org/x/sys: v0.31.0 → v0.33.0 +- golang.org/x/term: v0.30.0 → v0.32.0 +- golang.org/x/text: v0.23.0 → v0.25.0 +- golang.org/x/time: v0.8.0 → v0.9.0 +- golang.org/x/tools: v0.30.0 → v0.31.0 +- google.golang.org/grpc: v1.67.3 → v1.68.2 +- k8s.io/api: v0.32.3 → v0.33.1 +- k8s.io/apiextensions-apiserver: v0.32.3 → v0.33.1 +- k8s.io/apimachinery: v0.32.3 → v0.33.1 +- k8s.io/apiserver: v0.32.3 → v0.33.1 +- k8s.io/client-go: v0.32.3 → v0.33.1 +- k8s.io/cluster-bootstrap: v0.32.3 → v0.33.1 +- k8s.io/code-generator: v0.32.3 → v0.33.1 +- k8s.io/component-base: v0.32.3 → v0.33.1 +- k8s.io/gengo/v2: 2b36238 → 1244d31 +- k8s.io/kms: v0.32.3 → v0.33.1 +- k8s.io/kube-openapi: 32ad38e → c8a335a +- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.31.0 → v0.31.2 +- sigs.k8s.io/controller-runtime: v0.20.4 → v0.21.0 +- sigs.k8s.io/structured-merge-diff/v4: v4.4.2 → v4.6.0 + +### Removed +- github.com/asaskevich/govalidator: [f61b66f](https://github.com/asaskevich/govalidator/tree/f61b66f) +- github.com/go-kit/log: [v0.2.1](https://github.com/go-kit/log/tree/v0.2.1) +- github.com/go-logfmt/logfmt: [v0.5.1](https://github.com/go-logfmt/logfmt/tree/v0.5.1) +- gopkg.in/square/go-jose.v2: v2.6.0 + +
+
+_Thanks to all our contributors!_ 😊