Skip to content
Open
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
215 changes: 215 additions & 0 deletions releasenotes/v0.14.0-beta.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, file an [issue](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/issues/new).
<details>
<summary>More details about the release</summary>

:warning: **BETA RELEASE NOTES** :warning:

## Deprecation Warning

The following fields are deprecated and will be removed in a future release:
- OpenStackMachine and OpenStackCluster `status.ready`.
- OpenStackMachine and OpenStackCluster `status.failureReason` and `status.failureMessage`.

See these issues for more information:
- https://github.com/kubernetes-sigs/cluster-api-provider-openstack/issues/2374
- https://github.com/kubernetes-sigs/cluster-api-provider-openstack/issues/2375

## Changes since v0.13.2
## :chart_with_upwards_trend: Overview
- 111 new commits merged
- 7 feature additions ✨
- 9 bugs fixed 🐛

## :sparkles: New Features
- Add OpenStackClusterIdentity for centralized credential management (#2682)
- Add PriorityQueue feature flag (#2823)
- CAPI v1beta2 conditions and deprecations for OSC (#2832)
- CAPI v1beta2 conditions and deprecations for OSM (#2872)
- Implement CRD migration (#2810)
- Switch to CAPI v1beta2 for manifests (#2717)
- Update Cluster API to v1.12.0 (#2873)

## :bug: Bug Fixes
- Allow setting disablePortSecurity on OSM port (#2784)
- Correction of issue #2617 selected fixed subnet not applied (#2639)
- Define subnetID on LB member when networks differ (#2799)
- Ensure pool member reach active state (#2815)
- Fixes out-of-range bug when multiple ports are passed to getSGControlPlaneAdditionalPorts (#2677)
- Handle SOFT_DELETED and DELETED states in server deletion (#2834)
- Remove invalid kustomizeconfig from config/webhook (#2850)
- Revert v1beta2 contract (#2883)
- Uplift go 1.24.8 to address security issue (#2764)

## :seedling: Others
- Add AGENTS.md (#2807)
- Add bastion and allowedCIDR to dev-test clusterclass (#2725)
- Add bnallapeta to reviewers (#2794)
- Add entry of new release branch for security scan (#2703)
- Add entry of new release branch to depandabot (#2692)
- Add github workflow for pull request to have github approval (#2743)
- Add link check in PR to improve docs (#2741)
- Add missing hash in github workflow (#2731)
- Add Moshiur as reviewer (#2768)
- Add new config to pr-link check (#2876)
- Add PR title verify workflow for CAPO (#2728)
- Add yamlling workflow to check yaml files in pull request (#2845)
- Bump cloudbuild image (#2691)
- Bump e2e to use k8s v1.34.2 (#2836)
- Bump go to 1.24.9 (#2787)
- Bump go version to 1.24.11 (#2877)
- Bump go version to 1.24.7 (#2718)
- Bump golanci-lint to v2.7.2 (#2894)
- Bump golangci-lint to v2.6.1 (#2825)
- Bump golangci-lint to v2.6.2 (#2858)
- Cmd: strip out symbol table & DWARF debugging info (#2750)
- Dependabot: Hold crypto on release-0.12, unify spacing (#2709)
- Dockerfile: add the ARG defaulting within the Dockerfile (#2751)
- Don't run golanci-lint update on PRs (#2659)
- E2E: Add quick-start test using ClusterClass (#2793)
- E2e: bump ORC to v2.4.0 (#2925)
- E2E: Cleanup upgrade patches (#2831)
- E2E: Fix log collection for machines (#2795)
- E2E: Fix the CCM patch for the v1beta1 cluster-template (#2766)
- E2E: Run clusterctl upgrade from v0.13 (#2714)
- E2E: Use bucket for flatcar production image (#2923)
- E2E: Use kind cluster for clusterctl upgrade tests (#2792)
- E2E: Use Kubernetes v1.35.0 in tests (#2929)
- E2E: Use secret instead of host path for CCM config (#2744)
- Exclude `openshift` dir from boilerplate (#2901)
- Fix calcualtion of previous tag for release note generation (#2860)
- Fix DWARF debugging info (#2915)
- Fix release note generation (#2688)
- Fix release notes generation (#2846)
- Fix update-golangci-lint permissions (#2748)
- Fix URL for downloading gotestsum based on OS (#2684)
- Hold x/text since it requires go1.24 (#2740)
- Ignore ORC major/minor bumps on release branches (#2930)
- Migrate CI to stable/2025.2 (#2809)
- Pin kustomize on release-0.12 (#2772)
- Refactor generate-codegen (#2761)
- Release automation workflow (#2791)
- Remove dependabot config and workflows for release-0.11 (#2779)
- Remove mdbooth as a maintainer (#2727)
- Set osc lb status when default networks are used (#2798)
- Update depandabot ignore list for release-0.12 (#2882)
- Update golangci lint v2.5.0 (#2752)
- Update issue template for new release (#2919)
- Update log verbosity level according to CAPI (#2785)
- Update metadata for v0.14 (#2917)
- Uplift go 1.24.6 to address security issue (#2708)
- :rocket: Release v0.13.1 (#2871)

:book: Additionally, there have been 6 contributions to our documentation and book. (#2720, #2802, #2874, #2878, #2906, #2908)

## Dependencies

### Added
- github.com/go-jose/go-jose/v4: [v4.0.4](https://github.com/go-jose/go-jose/tree/v4.0.4)
- github.com/golang-jwt/jwt/v5: [v5.2.2](https://github.com/golang-jwt/jwt/tree/v5.2.2)
- github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus: [v1.0.1](https://github.com/grpc-ecosystem/go-grpc-middleware/tree/providers/prometheus/v1.0.1)
- github.com/grpc-ecosystem/go-grpc-middleware/v2: [v2.3.0](https://github.com/grpc-ecosystem/go-grpc-middleware/tree/v2.3.0)
- github.com/olekukonko/cat: [50322a0](https://github.com/olekukonko/cat/tree/50322a0)
- github.com/olekukonko/errors: [v1.1.0](https://github.com/olekukonko/errors/tree/v1.1.0)
- github.com/olekukonko/ll: [v0.1.1](https://github.com/olekukonko/ll/tree/v0.1.1)
- github.com/olekukonko/ts: [78ecb04](https://github.com/olekukonko/ts/tree/78ecb04)
- github.com/spiffe/go-spiffe/v2: [v2.5.0](https://github.com/spiffe/go-spiffe/tree/v2.5.0)
- github.com/zeebo/errs: [v1.4.0](https://github.com/zeebo/errs/tree/v1.4.0)
- go.etcd.io/raft/v3: v3.6.0
- sigs.k8s.io/structured-merge-diff/v6: v6.3.1

### Changed
- cel.dev/expr: v0.19.1 → v0.24.0
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp: [v1.25.0 → v1.26.0](https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/compare/detectors/gcp/v1.25.0...detectors/gcp/v1.26.0)
- github.com/cncf/xds/go: [cff3c89 → 2f00578](https://github.com/cncf/xds/compare/cff3c89...2f00578)
- github.com/docker/docker: [v28.3.3+incompatible → v28.5.2+incompatible](https://github.com/docker/docker/compare/v28.3.3...v28.5.2)
- github.com/docker/go-connections: [v0.5.0 → v0.6.0](https://github.com/docker/go-connections/compare/v0.5.0...v0.6.0)
- github.com/emicklei/go-restful/v3: [v3.12.2 → v3.13.0](https://github.com/emicklei/go-restful/compare/v3.12.2...v3.13.0)
- github.com/fsnotify/fsnotify: [v1.8.0 → v1.9.0](https://github.com/fsnotify/fsnotify/compare/v1.8.0...v1.9.0)
- github.com/fxamacker/cbor/v2: [v2.7.0 → v2.9.0](https://github.com/fxamacker/cbor/compare/v2.7.0...v2.9.0)
- github.com/google/cel-go: [v0.23.2 → v0.26.0](https://github.com/google/cel-go/compare/v0.23.2...v0.26.0)
- github.com/google/gnostic-models: [v0.6.9 → v0.7.0](https://github.com/google/gnostic-models/compare/v0.6.9...v0.7.0)
- github.com/google/pprof: [27863c8 → f64d9cf](https://github.com/google/pprof/compare/27863c8...f64d9cf)
- github.com/gophercloud/gophercloud/v2: [v2.9.0 → v2.10.0](https://github.com/gophercloud/gophercloud/compare/v2.9.0...v2.10.0)
- github.com/grpc-ecosystem/grpc-gateway/v2: [v2.24.0 → v2.26.3](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.24.0...v2.26.3)
- github.com/ianlancetaylor/demangle: [bd984b5 → f615e6b](https://github.com/ianlancetaylor/demangle/compare/bd984b5...f615e6b)
- github.com/jonboulle/clockwork: [v0.4.0 → v0.5.0](https://github.com/jonboulle/clockwork/compare/v0.4.0...v0.5.0)
- github.com/k-orc/openstack-resource-controller/v2: [v2.3.0 → v2.4.0](https://github.com/k-orc/openstack-resource-controller/compare/v2.3.0...v2.4.0)
- github.com/mattn/go-colorable: [v0.1.13 → v0.1.14](https://github.com/mattn/go-colorable/compare/v0.1.13...v0.1.14)
- github.com/mattn/go-runewidth: [v0.0.14 → v0.0.16](https://github.com/mattn/go-runewidth/compare/v0.0.14...v0.0.16)
- github.com/modern-go/reflect2: [v1.0.2 → 35a7c28](https://github.com/modern-go/reflect2/compare/v1.0.2...35a7c28)
- github.com/olekukonko/tablewriter: [v0.0.5 → v1.0.9](https://github.com/olekukonko/tablewriter/compare/v0.0.5...v1.0.9)
- github.com/pelletier/go-toml/v2: [v2.2.3 → v2.2.4](https://github.com/pelletier/go-toml/compare/v2.2.3...v2.2.4)
- github.com/pmezard/go-difflib: [v1.0.0 → 5d4384e](https://github.com/pmezard/go-difflib/compare/v1.0.0...5d4384e)
- github.com/rivo/uniseg: [v0.4.2 → v0.4.7](https://github.com/rivo/uniseg/compare/v0.4.2...v0.4.7)
- github.com/rogpeppe/go-internal: [v1.13.1 → v1.14.1](https://github.com/rogpeppe/go-internal/compare/v1.13.1...v1.14.1)
- github.com/sagikazarmark/locafero: [v0.7.0 → v0.11.0](https://github.com/sagikazarmark/locafero/compare/v0.7.0...v0.11.0)
- github.com/sourcegraph/conc: [v0.3.0 → 5f936ab](https://github.com/sourcegraph/conc/compare/v0.3.0...5f936ab)
- github.com/spf13/afero: [v1.12.0 → v1.15.0](https://github.com/spf13/afero/compare/v1.12.0...v1.15.0)
- github.com/spf13/cast: [v1.7.1 → v1.10.0](https://github.com/spf13/cast/compare/v1.7.1...v1.10.0)
- github.com/spf13/cobra: [v1.9.1 → v1.10.1](https://github.com/spf13/cobra/compare/v1.9.1...v1.10.1)
- github.com/spf13/viper: [v1.20.1 → v1.21.0](https://github.com/spf13/viper/compare/v1.20.1...v1.21.0)
- go.etcd.io/bbolt: v1.3.11 → v1.4.2
- go.etcd.io/etcd/api/v3: v3.5.22 → v3.6.6
- go.etcd.io/etcd/client/pkg/v3: v3.5.22 → v3.6.6
- go.etcd.io/etcd/client/v3: v3.5.22 → v3.6.6
- go.etcd.io/etcd/pkg/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/server/v3: v3.5.21 → v3.6.4
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.58.0 → v0.60.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.33.0 → v1.34.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.33.0 → v1.34.0
- go.opentelemetry.io/otel/metric: v1.34.0 → v1.35.0
- go.opentelemetry.io/otel/trace: v1.34.0 → v1.35.0
- go.opentelemetry.io/otel: v1.34.0 → v1.35.0
- go.opentelemetry.io/proto/otlp: v1.4.0 → v1.5.0
- go.uber.org/zap: v1.27.0 → v1.27.1
- golang.org/x/oauth2: v0.30.0 → v0.33.0
- google.golang.org/genproto/googleapis/api: 5f5ef82 → a0af3ef
- google.golang.org/genproto/googleapis/rpc: 1a7da9e → a0af3ef
- google.golang.org/grpc: v1.71.3 → v1.72.3
- k8s.io/api: v0.33.7 → v0.34.3
- k8s.io/apiextensions-apiserver: v0.33.7 → v0.34.3
- k8s.io/apimachinery: v0.33.7 → v0.34.3
- k8s.io/apiserver: v0.33.7 → v0.34.3
- k8s.io/client-go: v0.33.7 → v0.34.3
- k8s.io/cluster-bootstrap: v0.33.3 → v0.34.2
- k8s.io/code-generator: v0.33.7 → v0.34.3
- k8s.io/component-base: v0.33.7 → v0.34.3
- k8s.io/gengo/v2: 1244d31 → 85fd79d
- k8s.io/kms: v0.33.7 → v0.34.3
- k8s.io/kube-openapi: 8b98d1e → f3f2b99
- sigs.k8s.io/cluster-api/test: v1.11.4 → v1.12.0
- sigs.k8s.io/cluster-api: v1.11.4 → v1.12.1
- sigs.k8s.io/controller-runtime: v0.21.0 → v0.22.4
- sigs.k8s.io/json: 9aa6b5e → cfa47c3

### Removed
- cloud.google.com/go/auth/oauth2adapt: v0.2.6
- cloud.google.com/go/auth: v0.13.0
- cloud.google.com/go/iam: v1.2.2
- cloud.google.com/go/monitoring: v1.21.2
- cloud.google.com/go/storage: v1.49.0
- cloud.google.com/go: v0.116.0
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric: [v0.48.1](https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/tree/exporter/metric/v0.48.1)
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping: [v0.48.1](https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/tree/internal/resourcemapping/v0.48.1)
- github.com/asaskevich/govalidator: [f61b66f](https://github.com/asaskevich/govalidator/tree/f61b66f)
- github.com/census-instrumentation/opencensus-proto: [v0.4.1](https://github.com/census-instrumentation/opencensus-proto/tree/v0.4.1)
- github.com/golang-jwt/jwt/v4: [v4.5.2](https://github.com/golang-jwt/jwt/tree/v4.5.2)
- github.com/golang/groupcache: [41bb18b](https://github.com/golang/groupcache/tree/41bb18b)
- github.com/google/s2a-go: [v0.1.8](https://github.com/google/s2a-go/tree/v0.1.8)
- github.com/googleapis/enterprise-certificate-proxy: [v0.3.4](https://github.com/googleapis/enterprise-certificate-proxy/tree/v0.3.4)
- github.com/googleapis/gax-go/v2: [v2.14.1](https://github.com/googleapis/gax-go/tree/v2.14.1)
- github.com/grpc-ecosystem/go-grpc-middleware: [v1.3.0](https://github.com/grpc-ecosystem/go-grpc-middleware/tree/v1.3.0)
- github.com/grpc-ecosystem/grpc-gateway: [v1.16.0](https://github.com/grpc-ecosystem/grpc-gateway/tree/v1.16.0)
- github.com/kr/fs: [v0.1.0](https://github.com/kr/fs/tree/v0.1.0)
- github.com/pkg/sftp: [v1.13.7](https://github.com/pkg/sftp/tree/v1.13.7)
- go.etcd.io/etcd/client/v2: v2.305.21
- go.etcd.io/etcd/raft/v3: v3.5.21
- go.opencensus.io: v0.24.0
- go.uber.org/atomic: v1.9.0
- google.golang.org/api: v0.215.0
- google.golang.org/genproto: e639e21
- sigs.k8s.io/structured-merge-diff/v4: v4.7.0

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