🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, file an issue.
Changes since v1.17.0-alpha.0
📈 Overview
- 20 new commits merged
- 3 feature additions ✨
- 6 bugs fixed 🐛
✨ New Features
- Remove YEAR from copyright header boilerplate (#4083)
- Support IPv6 and DualStack for NSX-VPC Network Provider (#4057)
- Support VLAN sub-interface configuration for supervisor VSphereMachine (#3956)
🐛 Bug Fixes
- Align VM interface IPAMModes configuration with capability gating (#4085)
- Fix CAPV e2e test pod CIDRs (#4073)
- Fix clusterctl upgrade resource version stable check (#4074)
- Fix duplicate prometheus port name in generated CSI cluster-template manifests (#4070)
- Fixup e2e tests (#4071)
- Keep IPAddressClaim in the KCP infra adoption e2e test (#4075)
🌱 Others
- Bump to CAPI v1.14.0-beta.0 (#4094)
- Bump to Go v1.26.5 (#4089)
- Cleanup unused hack/boilerplate.go.txt (#4086)
- Migrate from import boss to depguard (#4079)
- Set nodeDeletionTimeoutSeconds: 0 in cluster templates and e2e tests (#4077)
Dependencies
Added
- github.com/go-openapi/swag/cmdutils: v0.26.0
- github.com/go-openapi/swag/conv: v0.26.0
- github.com/go-openapi/swag/fileutils: v0.26.0
- github.com/go-openapi/swag/jsonname: v0.26.0
- github.com/go-openapi/swag/jsonutils/fixtures_test: v0.26.0
- github.com/go-openapi/swag/jsonutils: v0.26.0
- github.com/go-openapi/swag/loading: v0.26.0
- github.com/go-openapi/swag/mangling: v0.26.0
- github.com/go-openapi/swag/netutils: v0.26.0
- github.com/go-openapi/swag/stringutils: v0.26.0
- github.com/go-openapi/swag/typeutils: v0.26.0
- github.com/go-openapi/swag/yamlutils: v0.26.0
- github.com/go-openapi/testify/enable/yaml/v2: v2.4.2
- github.com/go-openapi/testify/v2: v2.4.2
Changed
- github.com/fxamacker/cbor/v2: v2.9.0 → v2.9.1
- github.com/go-openapi/jsonpointer: v0.21.0 → v0.23.1
- github.com/go-openapi/jsonreference: v0.20.2 → v0.21.5
- github.com/go-openapi/swag: v0.23.0 → v0.26.0
- github.com/onsi/gomega: v1.42.0 → v1.42.1
- github.com/prometheus/procfs: v0.19.2 → v0.20.1
- github.com/vmware-tanzu/nsx-operator/pkg/apis: 288a237 → a0f2f0b
- github.com/vmware-tanzu/vm-operator/api: 46e3104 → 46d6f2c
- github.com/vmware-tanzu/vm-operator/external/ncp: 46e3104 → 46d6f2c
- github.com/vmware-tanzu/vm-operator/external/tanzu-topology: 46e3104 → 46d6f2c
- github.com/vmware/govmomi: v0.54.1 → v0.55.1
- go.etcd.io/etcd/api/v3: v3.6.12 → v3.6.13
- go.etcd.io/etcd/client/pkg/v3: v3.6.12 → v3.6.13
- go.etcd.io/etcd/client/v3: v3.6.12 → v3.6.13
- go.yaml.in/yaml/v2: v2.4.3 → v2.4.4
- golang.org/x/crypto: v0.53.0 → v0.54.0
- golang.org/x/mod: v0.37.0 → v0.38.0
- golang.org/x/net: v0.56.0 → v0.57.0
- golang.org/x/sync: v0.21.0 → v0.22.0
- golang.org/x/sys: v0.46.0 → v0.47.0
- golang.org/x/telemetry: fb80ec8 → 49f421f
- golang.org/x/term: v0.44.0 → v0.45.0
- golang.org/x/text: v0.38.0 → v0.40.0
- golang.org/x/tools: v0.46.0 → v0.48.0
- sigs.k8s.io/cluster-api/api: v1.14.0-alpha.0 → v1.14.0-beta.0
- sigs.k8s.io/cluster-api: v1.14.0-alpha.0 → v1.14.0-beta.0
- sigs.k8s.io/structured-merge-diff/v6: v6.4.0 → v6.4.2
Removed
More details about the release
⚠️ BETA RELEASE NOTES ⚠️
Highlights
- REPLACE ME
Changes since v1.16.0
📈 Overview
- 110 new commits merged
- 1 breaking change ⚠️
- 14 feature additions ✨
- 10 bugs fixed 🐛
⚠️ Breaking Changes
- Bump to CAPI main, Go 1.26, CR v0.24, CT v0.21 (#3992)
✨ New Features
- Add control plane zone selection support (#4003)
- Add policies support to supervisor VSphereMachine (#3987)
- Add validation on control plane failure domain selector (#4022)
- Allow to configure crypto (#3749)
- Bump to CAPI main 18.06 (incl. new api Go module) (#4062)
- Bump to CAPI main 26.05.2026 & enable store and fifo informer metrics (#4017)
- Bump vm-operator latest version to introducing v1alpha6 API (#3969)
- Enable in-place updates e2e test (#4019)
- Introduce separate API module (#4054)
- Introduce vm-operator v1alpha6 API (#4020)
- Remove YEAR from copyright header boilerplate (#4083)
- Support IPv6 and DualStack for NSX-VPC Network Provider (#4057)
- Support VLAN sub-interface configuration for supervisor VSphereMachine (#3956)
- Tune controller concurrency and cache timeout for scale (#3893)
🐛 Bug Fixes
- Align VM interface IPAMModes configuration with capability gating (#4085)
- Create VMG when VSphereMachine count greater than MD replicas (#3928)
- Fetch zone info from already-placed VM condition message (#3892)
- Fix CAPV e2e test pod CIDRs (#4073)
- Fix clusterctl upgrade resource version stable check (#4074)
- Fix duplicate prometheus port name in generated CSI cluster-template manifests (#4070)
- Fix immutability validation of VSphereMachineTemplate (#4041)
- Fix release notes for first pre-release (#4021)
- Fixup e2e tests (#4071)
- Keep IPAddressClaim in the KCP infra adoption e2e test (#4075)
🌱 Others
- Add chained upgrade e2e test (#4014)
- Add finalizer only after we got owner/cluster (#4018)
- Add KCP adoption test (#4023)
- Bump actions for v1.16 (#3888)
- Bump CAPI to v1.13.0-beta.1 (#3911)
- Bump CAPI v1.13.0+ (#3957)
- Bump CAPI v1.13.0-rc.0 (#3924)
- Bump CAPI v1.13.0-rc.1 (#3945)
- Bump CAPI v1.13.1 (#3974)
- Bump CAPV to CAPI main (2026.05.05) (#3982)
- Bump CPI to v1.36.0 (#3965)
- Bump CPI to v1.36.0-beta.0 (#3903)
- Bump CPI to v1.36.0-rc.0 (#3938)
- Bump dependencies (#3943)
- Bump envtest to v1.36.0 (#3993)
- Bump go v1.25.9 (#3920)
- Bump google.golang.org/grpc to fix CVE (#3899)
- Bump to CAPI main 15.05.2026 (#4007)
- Bump to CAPI v1.14.0-beta.0 (#4094)
- Bump to Cluster API v1.14.0-alpha.0 (#4068)
- Bump to Go 1.26.4 (#4044)
- Bump to Go v1.26.5 (#4089)
- Bump to kind v0.32.0 (#4032)
- Bump vm-operator to latest vc-9.1.0 (#3984)
- Cleanup unused hack/boilerplate.go.txt (#4086)
- Complete bump to CAPI v1.13.0-beta.1 (#3912)
- Declare contents: read permissions for pr-verify action (#4005)
- Drop local copy of topologyv1 (#4010)
- Fix CVE-2026-39883 (#3932)
- Fix link in cloudbuild.yaml's (#4048)
- Fix workflows (#4013)
- Improve image pre-loading via DaemonSet (#4058)
- Improve vm-operator versioning semantic (#3918)
- Make it possible to exclude CVEs with govulncheck (#3995)
- Migrate away from custom GitHub action approval workflow (#3917)
- Migrate from import boss to depguard (#4079)
- Only add finalizer after VSphereMachine has owner (#4008)
- Prepare main for 1.17 (#3979)
- Remove kube-rbac-proxy from vm-op 9.2 deployment (#4043)
- Revert "Migrate away from custom GitHub action approval workflow" (#4055)
- Set nodeDeletionTimeoutSeconds: 0 in cluster templates and e2e tests (#4077)
- Skip 9.2 e2e tests (#3986)
- Split supervisor and govmomi feature gates, add support for gates depending on vm-operator-version (#4009)
- Start testing against Kubernetes v1.37 (#3964)
- Start testing with Kubernetes v1.36.0 (#3959)
- Start testing with Kubernetes v1.36.0-beta.0 (#3904)
- Start testing with Kubernetes v1.36.0-rc.0 (#3929)
- Start testing with Kubernetes v1.36.0-rc.1 (#3947)
- Start using 1.36 OVA (#3970)
- Stop running make lint-api multiple times in GitHub action + align to CAPI (#4061)
- Stop using Cluster API v1beta1 APIs in test/ (#4056)
- Sync ci-e2e-lib.sh (#4037)
- Sync vm-op conversion code (#4052)
- Update naming template for CP / VSphereCluster / MD in supervisor e2e tests (#4069)
- Update readme for release-1.16 (#3968)
- Use v1.13 release artifacts instead of staging (#3976)
- Validate supervisor endpoint host is IP in service discovery (#4024)
📖 Additionally, there has been 1 contribution to our documentation and book. (#3953)
Dependencies
Added
- github.com/clipperhouse/displaywidth: v0.10.0
- github.com/clipperhouse/uax29/v2: v2.6.0
- github.com/go-openapi/swag/cmdutils: v0.26.0
- github.com/go-openapi/swag/conv: v0.26.0
- github.com/go-openapi/swag/fileutils: v0.26.0
- github.com/go-openapi/swag/jsonname: v0.26.0
- github.com/go-openapi/swag/jsonutils/fixtures_test: v0.26.0
- github.com/go-openapi/swag/jsonutils: v0.26.0
- github.com/go-openapi/swag/loading: v0.26.0
- github.com/go-openapi/swag/mangling: v0.26.0
- github.com/go-openapi/swag/netutils: v0.26.0
- github.com/go-openapi/swag/stringutils: v0.26.0
- github.com/go-openapi/swag/typeutils: v0.26.0
- github.com/go-openapi/swag/yamlutils: v0.26.0
- github.com/go-openapi/testify/enable/yaml/v2: v2.4.2
- github.com/go-openapi/testify/v2: v2.4.2
- github.com/vmware-tanzu/vm-operator/external/tanzu-topology: 46d6f2c
- k8s.io/streaming: v0.36.2
- sigs.k8s.io/cluster-api/api: v1.14.0-beta.0
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/fxamacker/cbor/v2: v2.9.0 → v2.9.1
- github.com/go-openapi/jsonpointer: v0.21.0 → v0.23.1
- github.com/go-openapi/jsonreference: v0.20.2 → v0.21.5
- github.com/go-openapi/swag: v0.23.0 → v0.26.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/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.32.0
- github.com/onsi/gomega: v1.39.1 → v1.42.1
- github.com/prometheus/common: v0.66.1 → v0.67.5
- github.com/prometheus/procfs: v0.16.1 → v0.20.1
- github.com/vmware-tanzu/nsx-operator/pkg/apis: 288a237 → a0f2f0b
- github.com/vmware-tanzu/vm-operator/api: 93918c5 → 46d6f2c
- github.com/vmware-tanzu/vm-operator/external/ncp: 93918c5 → 46d6f2c
- github.com/vmware/govmomi: v0.53.0 → v0.55.1
- go.etcd.io/etcd/api/v3: v3.6.10 → v3.6.13
- go.etcd.io/etcd/client/pkg/v3: v3.6.10 → v3.6.13
- go.etcd.io/etcd/client/v3: v3.6.10 → v3.6.13
- 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
- go.yaml.in/yaml/v2: v2.4.3 → v2.4.4
- golang.org/x/crypto: v0.50.0 → v0.54.0
- golang.org/x/exp: 8a7402a → 944ab1f
- golang.org/x/mod: v0.35.0 → v0.38.0
- golang.org/x/net: v0.53.0 → v0.57.0
- golang.org/x/sync: v0.20.0 → v0.22.0
- golang.org/x/sys: v0.43.0 → v0.47.0
- golang.org/x/telemetry: be6f6cb → 49f421f
- golang.org/x/term: v0.42.0 → v0.45.0
- golang.org/x/text: v0.36.0 → v0.40.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.44.0 → v0.48.0
- google.golang.org/protobuf: v1.36.11 → f2248ac
- k8s.io/api: v0.35.4 → v0.36.2
- k8s.io/apiextensions-apiserver: v0.35.4 → v0.36.2
- k8s.io/apimachinery: v0.35.4 → v0.36.2
- k8s.io/apiserver: v0.35.4 → v0.36.2
- k8s.io/client-go: v0.35.4 → v0.36.2
- k8s.io/cluster-bootstrap: v0.35.4 → v0.36.2
- k8s.io/code-generator: v0.35.4 → v0.36.2
- k8s.io/component-base: v0.35.4 → v0.36.2
- k8s.io/klog/v2: v2.130.1 → v2.140.0
- k8s.io/kms: v0.35.4 → 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/cluster-api: v1.13.1 → v1.14.0-beta.0
- sigs.k8s.io/controller-runtime: v0.23.3 → v0.24.1
- sigs.k8s.io/structured-merge-diff/v6: v6.4.0 → v6.4.2
Removed
_Thanks to all our contributors!_ 😊