diff --git a/releasenotes/v0.14.0-beta.0.md b/releasenotes/v0.14.0-beta.0.md new file mode 100644 index 0000000000..9692aac2ee --- /dev/null +++ b/releasenotes/v0.14.0-beta.0.md @@ -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). +
+More details about the release + +: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 + +
+
+_Thanks to all our contributors!_ 😊