Skip to content

🚀 Release v1.11.0-alpha.0 #12300

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
210 changes: 210 additions & 0 deletions CHANGELOG/v1.11.0-alpha.0.md
Original file line number Diff line number Diff line change
@@ -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).
<details>
<summary>More details about the release</summary>

: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

</details>
<br/>
_Thanks to all our contributors!_ 😊
Loading