|
| 1 | +π¨ 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). |
| 2 | +<details> |
| 3 | +<summary>More details about the release</summary> |
| 4 | + |
| 5 | +:warning: **BETA RELEASE NOTES** :warning: |
| 6 | + |
| 7 | +## Deprecation Warning |
| 8 | + |
| 9 | +The following fields are deprecated and will be removed in a future release: |
| 10 | +- OpenStackMachine and OpenStackCluster `status.ready`. |
| 11 | +- OpenStackMachine and OpenStackCluster `status.failureReason` and `status.failureMessage`. |
| 12 | + |
| 13 | +See these issues for more information: |
| 14 | +- https://github.com/kubernetes-sigs/cluster-api-provider-openstack/issues/2374 |
| 15 | +- https://github.com/kubernetes-sigs/cluster-api-provider-openstack/issues/2375 |
| 16 | + |
| 17 | +## Changes since v0.13.2 |
| 18 | +## :chart_with_upwards_trend: Overview |
| 19 | +- 111 new commits merged |
| 20 | +- 7 feature additions β¨ |
| 21 | +- 9 bugs fixed π |
| 22 | + |
| 23 | +## :sparkles: New Features |
| 24 | +- Add OpenStackClusterIdentity for centralized credential management (#2682) |
| 25 | +- Add PriorityQueue feature flag (#2823) |
| 26 | +- CAPI v1beta2 conditions and deprecations for OSC (#2832) |
| 27 | +- CAPI v1beta2 conditions and deprecations for OSM (#2872) |
| 28 | +- Implement CRD migration (#2810) |
| 29 | +- Switch to CAPI v1beta2 for manifests (#2717) |
| 30 | +- Update Cluster API to v1.12.0 (#2873) |
| 31 | + |
| 32 | +## :bug: Bug Fixes |
| 33 | +- Allow setting disablePortSecurity on OSM port (#2784) |
| 34 | +- Correction of issue #2617 selected fixed subnet not applied (#2639) |
| 35 | +- Define subnetID on LB member when networks differ (#2799) |
| 36 | +- Ensure pool member reach active state (#2815) |
| 37 | +- Fixes out-of-range bug when multiple ports are passed to getSGControlPlaneAdditionalPorts (#2677) |
| 38 | +- Handle SOFT_DELETED and DELETED states in server deletion (#2834) |
| 39 | +- Remove invalid kustomizeconfig from config/webhook (#2850) |
| 40 | +- Revert v1beta2 contract (#2883) |
| 41 | +- Uplift go 1.24.8 to address security issue (#2764) |
| 42 | + |
| 43 | +## :seedling: Others |
| 44 | +- Add AGENTS.md (#2807) |
| 45 | +- Add bastion and allowedCIDR to dev-test clusterclass (#2725) |
| 46 | +- Add bnallapeta to reviewers (#2794) |
| 47 | +- Add entry of new release branch for security scan (#2703) |
| 48 | +- Add entry of new release branch to depandabot (#2692) |
| 49 | +- Add github workflow for pull request to have github approval (#2743) |
| 50 | +- Add link check in PR to improve docs (#2741) |
| 51 | +- Add missing hash in github workflow (#2731) |
| 52 | +- Add Moshiur as reviewer (#2768) |
| 53 | +- Add new config to pr-link check (#2876) |
| 54 | +- Add PR title verify workflow for CAPO (#2728) |
| 55 | +- Add yamlling workflow to check yaml files in pull request (#2845) |
| 56 | +- Bump cloudbuild image (#2691) |
| 57 | +- Bump e2e to use k8s v1.34.2 (#2836) |
| 58 | +- Bump go to 1.24.9 (#2787) |
| 59 | +- Bump go version to 1.24.11 (#2877) |
| 60 | +- Bump go version to 1.24.7 (#2718) |
| 61 | +- Bump golanci-lint to v2.7.2 (#2894) |
| 62 | +- Bump golangci-lint to v2.6.1 (#2825) |
| 63 | +- Bump golangci-lint to v2.6.2 (#2858) |
| 64 | +- Cmd: strip out symbol table & DWARF debugging info (#2750) |
| 65 | +- Dependabot: Hold crypto on release-0.12, unify spacing (#2709) |
| 66 | +- Dockerfile: add the ARG defaulting within the Dockerfile (#2751) |
| 67 | +- Don't run golanci-lint update on PRs (#2659) |
| 68 | +- E2E: Add quick-start test using ClusterClass (#2793) |
| 69 | +- E2e: bump ORC to v2.4.0 (#2925) |
| 70 | +- E2E: Cleanup upgrade patches (#2831) |
| 71 | +- E2E: Fix log collection for machines (#2795) |
| 72 | +- E2E: Fix the CCM patch for the v1beta1 cluster-template (#2766) |
| 73 | +- E2E: Run clusterctl upgrade from v0.13 (#2714) |
| 74 | +- E2E: Use bucket for flatcar production image (#2923) |
| 75 | +- E2E: Use kind cluster for clusterctl upgrade tests (#2792) |
| 76 | +- E2E: Use Kubernetes v1.35.0 in tests (#2929) |
| 77 | +- E2E: Use secret instead of host path for CCM config (#2744) |
| 78 | +- Exclude `openshift` dir from boilerplate (#2901) |
| 79 | +- Fix calcualtion of previous tag for release note generation (#2860) |
| 80 | +- Fix DWARF debugging info (#2915) |
| 81 | +- Fix release note generation (#2688) |
| 82 | +- Fix release notes generation (#2846) |
| 83 | +- Fix update-golangci-lint permissions (#2748) |
| 84 | +- Fix URL for downloading gotestsum based on OS (#2684) |
| 85 | +- Hold x/text since it requires go1.24 (#2740) |
| 86 | +- Ignore ORC major/minor bumps on release branches (#2930) |
| 87 | +- Migrate CI to stable/2025.2 (#2809) |
| 88 | +- Pin kustomize on release-0.12 (#2772) |
| 89 | +- Refactor generate-codegen (#2761) |
| 90 | +- Release automation workflow (#2791) |
| 91 | +- Remove dependabot config and workflows for release-0.11 (#2779) |
| 92 | +- Remove mdbooth as a maintainer (#2727) |
| 93 | +- Set osc lb status when default networks are used (#2798) |
| 94 | +- Update depandabot ignore list for release-0.12 (#2882) |
| 95 | +- Update golangci lint v2.5.0 (#2752) |
| 96 | +- Update issue template for new release (#2919) |
| 97 | +- Update log verbosity level according to CAPI (#2785) |
| 98 | +- Update metadata for v0.14 (#2917) |
| 99 | +- Uplift go 1.24.6 to address security issue (#2708) |
| 100 | +- :rocket: Release v0.13.1 (#2871) |
| 101 | + |
| 102 | +:book: Additionally, there have been 6 contributions to our documentation and book. (#2720, #2802, #2874, #2878, #2906, #2908) |
| 103 | + |
| 104 | +## Dependencies |
| 105 | + |
| 106 | +### Added |
| 107 | +- github.com/go-jose/go-jose/v4: [v4.0.4](https://github.com/go-jose/go-jose/tree/v4.0.4) |
| 108 | +- github.com/golang-jwt/jwt/v5: [v5.2.2](https://github.com/golang-jwt/jwt/tree/v5.2.2) |
| 109 | +- 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) |
| 110 | +- github.com/grpc-ecosystem/go-grpc-middleware/v2: [v2.3.0](https://github.com/grpc-ecosystem/go-grpc-middleware/tree/v2.3.0) |
| 111 | +- github.com/olekukonko/cat: [50322a0](https://github.com/olekukonko/cat/tree/50322a0) |
| 112 | +- github.com/olekukonko/errors: [v1.1.0](https://github.com/olekukonko/errors/tree/v1.1.0) |
| 113 | +- github.com/olekukonko/ll: [v0.1.1](https://github.com/olekukonko/ll/tree/v0.1.1) |
| 114 | +- github.com/olekukonko/ts: [78ecb04](https://github.com/olekukonko/ts/tree/78ecb04) |
| 115 | +- github.com/spiffe/go-spiffe/v2: [v2.5.0](https://github.com/spiffe/go-spiffe/tree/v2.5.0) |
| 116 | +- github.com/zeebo/errs: [v1.4.0](https://github.com/zeebo/errs/tree/v1.4.0) |
| 117 | +- go.etcd.io/raft/v3: v3.6.0 |
| 118 | +- sigs.k8s.io/structured-merge-diff/v6: v6.3.1 |
| 119 | + |
| 120 | +### Changed |
| 121 | +- cel.dev/expr: v0.19.1 β v0.24.0 |
| 122 | +- 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) |
| 123 | +- github.com/cncf/xds/go: [cff3c89 β 2f00578](https://github.com/cncf/xds/compare/cff3c89...2f00578) |
| 124 | +- github.com/docker/docker: [v28.3.3+incompatible β v28.5.2+incompatible](https://github.com/docker/docker/compare/v28.3.3...v28.5.2) |
| 125 | +- github.com/docker/go-connections: [v0.5.0 β v0.6.0](https://github.com/docker/go-connections/compare/v0.5.0...v0.6.0) |
| 126 | +- 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) |
| 127 | +- github.com/fsnotify/fsnotify: [v1.8.0 β v1.9.0](https://github.com/fsnotify/fsnotify/compare/v1.8.0...v1.9.0) |
| 128 | +- github.com/fxamacker/cbor/v2: [v2.7.0 β v2.9.0](https://github.com/fxamacker/cbor/compare/v2.7.0...v2.9.0) |
| 129 | +- github.com/google/cel-go: [v0.23.2 β v0.26.0](https://github.com/google/cel-go/compare/v0.23.2...v0.26.0) |
| 130 | +- github.com/google/gnostic-models: [v0.6.9 β v0.7.0](https://github.com/google/gnostic-models/compare/v0.6.9...v0.7.0) |
| 131 | +- github.com/google/pprof: [27863c8 β f64d9cf](https://github.com/google/pprof/compare/27863c8...f64d9cf) |
| 132 | +- github.com/gophercloud/gophercloud/v2: [v2.9.0 β v2.10.0](https://github.com/gophercloud/gophercloud/compare/v2.9.0...v2.10.0) |
| 133 | +- 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) |
| 134 | +- github.com/ianlancetaylor/demangle: [bd984b5 β f615e6b](https://github.com/ianlancetaylor/demangle/compare/bd984b5...f615e6b) |
| 135 | +- github.com/jonboulle/clockwork: [v0.4.0 β v0.5.0](https://github.com/jonboulle/clockwork/compare/v0.4.0...v0.5.0) |
| 136 | +- 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) |
| 137 | +- github.com/mattn/go-colorable: [v0.1.13 β v0.1.14](https://github.com/mattn/go-colorable/compare/v0.1.13...v0.1.14) |
| 138 | +- github.com/mattn/go-runewidth: [v0.0.14 β v0.0.16](https://github.com/mattn/go-runewidth/compare/v0.0.14...v0.0.16) |
| 139 | +- github.com/modern-go/reflect2: [v1.0.2 β 35a7c28](https://github.com/modern-go/reflect2/compare/v1.0.2...35a7c28) |
| 140 | +- github.com/olekukonko/tablewriter: [v0.0.5 β v1.0.9](https://github.com/olekukonko/tablewriter/compare/v0.0.5...v1.0.9) |
| 141 | +- 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) |
| 142 | +- github.com/pmezard/go-difflib: [v1.0.0 β 5d4384e](https://github.com/pmezard/go-difflib/compare/v1.0.0...5d4384e) |
| 143 | +- github.com/rivo/uniseg: [v0.4.2 β v0.4.7](https://github.com/rivo/uniseg/compare/v0.4.2...v0.4.7) |
| 144 | +- github.com/rogpeppe/go-internal: [v1.13.1 β v1.14.1](https://github.com/rogpeppe/go-internal/compare/v1.13.1...v1.14.1) |
| 145 | +- github.com/sagikazarmark/locafero: [v0.7.0 β v0.11.0](https://github.com/sagikazarmark/locafero/compare/v0.7.0...v0.11.0) |
| 146 | +- github.com/sourcegraph/conc: [v0.3.0 β 5f936ab](https://github.com/sourcegraph/conc/compare/v0.3.0...5f936ab) |
| 147 | +- github.com/spf13/afero: [v1.12.0 β v1.15.0](https://github.com/spf13/afero/compare/v1.12.0...v1.15.0) |
| 148 | +- github.com/spf13/cast: [v1.7.1 β v1.10.0](https://github.com/spf13/cast/compare/v1.7.1...v1.10.0) |
| 149 | +- github.com/spf13/cobra: [v1.9.1 β v1.10.1](https://github.com/spf13/cobra/compare/v1.9.1...v1.10.1) |
| 150 | +- github.com/spf13/viper: [v1.20.1 β v1.21.0](https://github.com/spf13/viper/compare/v1.20.1...v1.21.0) |
| 151 | +- go.etcd.io/bbolt: v1.3.11 β v1.4.2 |
| 152 | +- go.etcd.io/etcd/api/v3: v3.5.22 β v3.6.6 |
| 153 | +- go.etcd.io/etcd/client/pkg/v3: v3.5.22 β v3.6.6 |
| 154 | +- go.etcd.io/etcd/client/v3: v3.5.22 β v3.6.6 |
| 155 | +- go.etcd.io/etcd/pkg/v3: v3.5.21 β v3.6.4 |
| 156 | +- go.etcd.io/etcd/server/v3: v3.5.21 β v3.6.4 |
| 157 | +- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.58.0 β v0.60.0 |
| 158 | +- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.33.0 β v1.34.0 |
| 159 | +- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.33.0 β v1.34.0 |
| 160 | +- go.opentelemetry.io/otel/metric: v1.34.0 β v1.35.0 |
| 161 | +- go.opentelemetry.io/otel/trace: v1.34.0 β v1.35.0 |
| 162 | +- go.opentelemetry.io/otel: v1.34.0 β v1.35.0 |
| 163 | +- go.opentelemetry.io/proto/otlp: v1.4.0 β v1.5.0 |
| 164 | +- go.uber.org/zap: v1.27.0 β v1.27.1 |
| 165 | +- golang.org/x/oauth2: v0.30.0 β v0.33.0 |
| 166 | +- google.golang.org/genproto/googleapis/api: 5f5ef82 β a0af3ef |
| 167 | +- google.golang.org/genproto/googleapis/rpc: 1a7da9e β a0af3ef |
| 168 | +- google.golang.org/grpc: v1.71.3 β v1.72.3 |
| 169 | +- k8s.io/api: v0.33.7 β v0.34.3 |
| 170 | +- k8s.io/apiextensions-apiserver: v0.33.7 β v0.34.3 |
| 171 | +- k8s.io/apimachinery: v0.33.7 β v0.34.3 |
| 172 | +- k8s.io/apiserver: v0.33.7 β v0.34.3 |
| 173 | +- k8s.io/client-go: v0.33.7 β v0.34.3 |
| 174 | +- k8s.io/cluster-bootstrap: v0.33.3 β v0.34.2 |
| 175 | +- k8s.io/code-generator: v0.33.7 β v0.34.3 |
| 176 | +- k8s.io/component-base: v0.33.7 β v0.34.3 |
| 177 | +- k8s.io/gengo/v2: 1244d31 β 85fd79d |
| 178 | +- k8s.io/kms: v0.33.7 β v0.34.3 |
| 179 | +- k8s.io/kube-openapi: 8b98d1e β f3f2b99 |
| 180 | +- sigs.k8s.io/cluster-api/test: v1.11.4 β v1.12.0 |
| 181 | +- sigs.k8s.io/cluster-api: v1.11.4 β v1.12.1 |
| 182 | +- sigs.k8s.io/controller-runtime: v0.21.0 β v0.22.4 |
| 183 | +- sigs.k8s.io/json: 9aa6b5e β cfa47c3 |
| 184 | + |
| 185 | +### Removed |
| 186 | +- cloud.google.com/go/auth/oauth2adapt: v0.2.6 |
| 187 | +- cloud.google.com/go/auth: v0.13.0 |
| 188 | +- cloud.google.com/go/iam: v1.2.2 |
| 189 | +- cloud.google.com/go/monitoring: v1.21.2 |
| 190 | +- cloud.google.com/go/storage: v1.49.0 |
| 191 | +- cloud.google.com/go: v0.116.0 |
| 192 | +- github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric: [v0.48.1](https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/tree/exporter/metric/v0.48.1) |
| 193 | +- github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping: [v0.48.1](https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/tree/internal/resourcemapping/v0.48.1) |
| 194 | +- github.com/asaskevich/govalidator: [f61b66f](https://github.com/asaskevich/govalidator/tree/f61b66f) |
| 195 | +- github.com/census-instrumentation/opencensus-proto: [v0.4.1](https://github.com/census-instrumentation/opencensus-proto/tree/v0.4.1) |
| 196 | +- github.com/golang-jwt/jwt/v4: [v4.5.2](https://github.com/golang-jwt/jwt/tree/v4.5.2) |
| 197 | +- github.com/golang/groupcache: [41bb18b](https://github.com/golang/groupcache/tree/41bb18b) |
| 198 | +- github.com/google/s2a-go: [v0.1.8](https://github.com/google/s2a-go/tree/v0.1.8) |
| 199 | +- github.com/googleapis/enterprise-certificate-proxy: [v0.3.4](https://github.com/googleapis/enterprise-certificate-proxy/tree/v0.3.4) |
| 200 | +- github.com/googleapis/gax-go/v2: [v2.14.1](https://github.com/googleapis/gax-go/tree/v2.14.1) |
| 201 | +- github.com/grpc-ecosystem/go-grpc-middleware: [v1.3.0](https://github.com/grpc-ecosystem/go-grpc-middleware/tree/v1.3.0) |
| 202 | +- github.com/grpc-ecosystem/grpc-gateway: [v1.16.0](https://github.com/grpc-ecosystem/grpc-gateway/tree/v1.16.0) |
| 203 | +- github.com/kr/fs: [v0.1.0](https://github.com/kr/fs/tree/v0.1.0) |
| 204 | +- github.com/pkg/sftp: [v1.13.7](https://github.com/pkg/sftp/tree/v1.13.7) |
| 205 | +- go.etcd.io/etcd/client/v2: v2.305.21 |
| 206 | +- go.etcd.io/etcd/raft/v3: v3.5.21 |
| 207 | +- go.opencensus.io: v0.24.0 |
| 208 | +- go.uber.org/atomic: v1.9.0 |
| 209 | +- google.golang.org/api: v0.215.0 |
| 210 | +- google.golang.org/genproto: e639e21 |
| 211 | +- sigs.k8s.io/structured-merge-diff/v4: v4.7.0 |
| 212 | + |
| 213 | +</details> |
| 214 | +<br/> |
| 215 | +_Thanks to all our contributors!_ π |
0 commit comments