|
| 1 | +## Changes by Kind |
| 2 | + |
| 3 | +### Feature |
| 4 | + |
| 5 | +- Add new flavor `flatcar-sysext` for Flatcar Container Linux cluster deployments. ([#4575](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/4575), [@sayanchowdhury](https://github.com/sayanchowdhury)) |
| 6 | +- Allows Service Principal with Certificate authentication to work with a path to the certificate. ([#5200](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5200), [@bryan-cox](https://github.com/bryan-cox)) |
| 7 | +- CAPZ now caches credentials to reduce the number of authentication requests it makes to Entra ([#5283](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5283), [@nojnhuh](https://github.com/nojnhuh)) |
| 8 | +- Enable Tilt development for apiserver-ilb templates ([#5288](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5288), [@nawazkh](https://github.com/nawazkh)) |
| 9 | +- Enable the use of an external control plane ([#4611](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/4611), [@rpahli](https://github.com/rpahli)) |
| 10 | +- Feat APIServerILB: create ILB when feature flag APIServerILB is enabled ([#5311](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5311), [@nawazkh](https://github.com/nawazkh)) |
| 11 | +- Feat APIServerILB: private IP of the internal LB can be customized ([#5332](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5332), [@nawazkh](https://github.com/nawazkh)) |
| 12 | +- Private IP of the Internal LB of the API Server will be configurable ([#5274](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5274), [@nawazkh](https://github.com/nawazkh)) |
| 13 | +- Use community gallery for default VM images ([#5167](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5167), [@mboersma](https://github.com/mboersma)) |
| 14 | +- Use internal LB's IP for intra-node communication ([#5209](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5209), [@nawazkh](https://github.com/nawazkh)) |
| 15 | + |
| 16 | +### Documentation |
| 17 | + |
| 18 | +- Added docs describing how to migrate existing AKS clusters managed by CAPZ to the new ASO-based API ([#5305](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5305), [@nojnhuh](https://github.com/nojnhuh)) |
| 19 | +- Overhaul Quickstart UX using AzureASOManagedCluster ([#5319](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5319), [@willie-yao](https://github.com/willie-yao)) |
| 20 | + |
| 21 | +### Failing Test |
| 22 | + |
| 23 | +- Bump CAPI to v1.8.8 ([#5371](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5371), [@willie-yao](https://github.com/willie-yao)) |
| 24 | +- Custom build templates to use curl when az login fails ([#5109](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5109), [@nawazkh](https://github.com/nawazkh)) |
| 25 | +- Default to Marketplace images for old Kubernetes versions ([#5266](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5266), [@mboersma](https://github.com/mboersma)) |
| 26 | + |
| 27 | +### Bug or Regression |
| 28 | + |
| 29 | +- Refactor(manager): set machinepool true as default ([#5146](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5146), [@KOREAN139](https://github.com/KOREAN139)) |
| 30 | +- AKS extensions removed from an AzureManagedControlPlane's `spec.extensions` will now be deleted. ([#5139](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5139), [@nojnhuh](https://github.com/nojnhuh)) |
| 31 | +- Fixed a bug preventing Cluster API from authenticating to ASOAPI Managed Clusters with local accounts disabled. ([#5211](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5211), [@nojnhuh](https://github.com/nojnhuh)) |
| 32 | +- Fixed an issue where CAPZ was accumulating memory over time that could never be garbage collected. ([#5284](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5284), [@nojnhuh](https://github.com/nojnhuh)) |
| 33 | +- Improves MachinePool scale up/down to avoid unnecessary VMSS VM model updates ([#5164](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5164), [@mweibel](https://github.com/mweibel)) |
| 34 | +- Improves state update handling when running long operations on VMSS ([#5292](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5292), [@mweibel](https://github.com/mweibel)) |
| 35 | +- Moves webhook registration behind feature gate flags like controller registration already does. ([#5099](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5099), [@bryan-cox](https://github.com/bryan-cox)) |
| 36 | +- Perform nil check on private lb ([#5378](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5378), [@nawazkh](https://github.com/nawazkh)) |
| 37 | + |
| 38 | +### Other (Cleanup or Flake) |
| 39 | + |
| 40 | +- Bump CAPI to v1.8.4 ([#5186](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5186), [@mboersma](https://github.com/mboersma)) |
| 41 | +- Bump CAPI to v1.8.5 ([#5255](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5255), [@mboersma](https://github.com/mboersma)) |
| 42 | +- Bump CAPI to v1.9.4 ([#5316](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5316), [@mboersma](https://github.com/mboersma)) |
| 43 | +- CAPZ now installs Azure Service Operator v2.9.0. ([#5170](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5170), [@nojnhuh](https://github.com/nojnhuh)) |
| 44 | +- Removes default values previously set in webhooks and adds the default values directly in the API through the kubebuilder annotation, `kubebuilder:default`. ([#5111](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5111), [@bryan-cox](https://github.com/bryan-cox)) |
| 45 | +- Update Golangci-lint to v1.60.2 and add golangci-lint PR GitHub workflow ([#5158](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5158), [@nawazkh](https://github.com/nawazkh)) |
| 46 | +- Update pre-commit hooks ([#5213](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5213), [@nawazkh](https://github.com/nawazkh)) |
| 47 | +- Update self-managed templates to use internal LB for node-to-node communication ([#5210](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5210), [@nawazkh](https://github.com/nawazkh)) |
| 48 | +- Use regular Flatcar images from Azure marketplace for flatcar-sysext template ([#5263](https://github.com/kubernetes-sigs/cluster-api-provider-azure/pull/5263), [@tormath1](https://github.com/tormath1)) |
| 49 | + |
| 50 | +## Dependencies |
| 51 | + |
| 52 | +### Added |
| 53 | +- cel.dev/expr: v0.16.1 |
| 54 | +- dario.cat/mergo: v1.0.1 |
| 55 | +- github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache: [v0.3.1](https://github.com/Azure/azure-sdk-for-go/tree/sdk/azidentity/cache/v0.3.1) |
| 56 | +- github.com/Azure/azure-sdk-for-go/sdk/tracing/azotel: [v0.4.0](https://github.com/Azure/azure-sdk-for-go/tree/sdk/tracing/azotel/v0.4.0) |
| 57 | +- github.com/AzureAD/microsoft-authentication-extensions-for-go/cache: [v0.1.1](https://github.com/AzureAD/microsoft-authentication-extensions-for-go/tree/cache/v0.1.1) |
| 58 | +- github.com/antlr4-go/antlr/v4: [v4.13.0](https://github.com/antlr4-go/antlr/tree/v4.13.0) |
| 59 | +- github.com/dgryski/go-rendezvous: [9f7001d](https://github.com/dgryski/go-rendezvous/tree/9f7001d) |
| 60 | +- github.com/keybase/go-keychain: [57a3676](https://github.com/keybase/go-keychain/tree/57a3676) |
| 61 | +- github.com/planetscale/vtprotobuf: [0393e58](https://github.com/planetscale/vtprotobuf/tree/0393e58) |
| 62 | +- github.com/redis/go-redis/v9: [v9.7.0](https://github.com/redis/go-redis/tree/v9.7.0) |
| 63 | +- go.opentelemetry.io/auto/sdk: v1.1.0 |
| 64 | +- go.opentelemetry.io/otel/exporters/jaeger: v1.16.0 |
| 65 | +- gopkg.in/evanphx/json-patch.v4: v4.12.0 |
| 66 | + |
| 67 | +### Changed |
| 68 | +- cloud.google.com/go/compute/metadata: v0.3.0 → v0.5.0 |
| 69 | +- cloud.google.com/go/compute: v1.25.1 → v1.24.0 |
| 70 | +- github.com/Azure/azure-sdk-for-go/sdk/azcore: [v1.14.0 → v1.17.0](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.14.0...sdk/azcore/v1.17.0) |
| 71 | +- github.com/Azure/azure-sdk-for-go/sdk/azidentity: [v1.7.0 → v1.8.1](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azidentity/v1.7.0...sdk/azidentity/v1.8.1) |
| 72 | +- github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dataprotection/armdataprotection/v3: [v3.0.0 → v3.1.0](https://github.com/Azure/azure-sdk-for-go/compare/sdk/resourcemanager/dataprotection/armdataprotection/v3/v3.0.0...sdk/resourcemanager/dataprotection/armdataprotection/v3/v3.1.0) |
| 73 | +- github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v3: [v3.0.0 → v3.1.0](https://github.com/Azure/azure-sdk-for-go/compare/sdk/resourcemanager/internal/v3/v3.0.0...sdk/resourcemanager/internal/v3/v3.1.0) |
| 74 | +- github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns: [v1.2.0 → v1.3.0](https://github.com/Azure/azure-sdk-for-go/compare/sdk/resourcemanager/privatedns/armprivatedns/v1.2.0...sdk/resourcemanager/privatedns/armprivatedns/v1.3.0) |
| 75 | +- github.com/Azure/azure-service-operator/v2: [v2.8.0 → v2.9.0](https://github.com/Azure/azure-service-operator/compare/v2.8.0...v2.9.0) |
| 76 | +- github.com/AzureAD/microsoft-authentication-library-for-go: [v1.2.2 → v1.3.2](https://github.com/AzureAD/microsoft-authentication-library-for-go/compare/v1.2.2...v1.3.2) |
| 77 | +- github.com/Masterminds/semver/v3: [v3.2.1 → v3.3.0](https://github.com/Masterminds/semver/compare/v3.2.1...v3.3.0) |
| 78 | +- github.com/Masterminds/sprig/v3: [v3.2.3 → v3.3.0](https://github.com/Masterminds/sprig/compare/v3.2.3...v3.3.0) |
| 79 | +- github.com/adrg/xdg: [v0.5.0 → v0.5.3](https://github.com/adrg/xdg/compare/v0.5.0...v0.5.3) |
| 80 | +- github.com/cncf/xds/go: [8a4994d → b4127c9](https://github.com/cncf/xds/compare/8a4994d...b4127c9) |
| 81 | +- github.com/coredns/corefile-migration: [v1.0.23 → v1.0.25](https://github.com/coredns/corefile-migration/compare/v1.0.23...v1.0.25) |
| 82 | +- github.com/docker/docker: [v27.1.1+incompatible → v27.3.1+incompatible](https://github.com/docker/docker/compare/v27.1.1...v27.3.1) |
| 83 | +- github.com/envoyproxy/go-control-plane: [v0.12.0 → v0.13.0](https://github.com/envoyproxy/go-control-plane/compare/v0.12.0...v0.13.0) |
| 84 | +- github.com/envoyproxy/protoc-gen-validate: [v1.0.4 → v1.1.0](https://github.com/envoyproxy/protoc-gen-validate/compare/v1.0.4...v1.1.0) |
| 85 | +- github.com/fatih/color: [v1.17.0 → v1.18.0](https://github.com/fatih/color/compare/v1.17.0...v1.18.0) |
| 86 | +- github.com/fxamacker/cbor/v2: [v2.6.0 → v2.7.0](https://github.com/fxamacker/cbor/compare/v2.6.0...v2.7.0) |
| 87 | +- github.com/gobuffalo/flect: [v1.0.2 → v1.0.3](https://github.com/gobuffalo/flect/compare/v1.0.2...v1.0.3) |
| 88 | +- github.com/golang-jwt/jwt/v4: [v4.5.0 → v4.5.1](https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1) |
| 89 | +- github.com/golang/glog: [v1.2.0 → v1.2.2](https://github.com/golang/glog/compare/v1.2.0...v1.2.2) |
| 90 | +- github.com/google/cel-go: [v0.17.8 → v0.20.1](https://github.com/google/cel-go/compare/v0.17.8...v0.20.1) |
| 91 | +- github.com/google/pprof: [fa2c70b → 40e02aa](https://github.com/google/pprof/compare/fa2c70b...40e02aa) |
| 92 | +- 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) |
| 93 | +- github.com/huandu/xstrings: [v1.4.0 → v1.5.0](https://github.com/huandu/xstrings/compare/v1.4.0...v1.5.0) |
| 94 | +- github.com/klauspost/compress: [v1.17.2 → v1.17.9](https://github.com/klauspost/compress/compare/v1.17.2...v1.17.9) |
| 95 | +- github.com/leanovate/gopter: [v0.2.9 → v0.2.11](https://github.com/leanovate/gopter/compare/v0.2.9...v0.2.11) |
| 96 | +- github.com/magiconair/properties: [v1.8.7 → v1.8.8](https://github.com/magiconair/properties/compare/v1.8.7...v1.8.8) |
| 97 | +- github.com/moby/spdystream: [v0.2.0 → v0.4.0](https://github.com/moby/spdystream/compare/v0.2.0...v0.4.0) |
| 98 | +- github.com/moby/term: [1aeaba8 → v0.5.0](https://github.com/moby/term/compare/1aeaba8...v0.5.0) |
| 99 | +- github.com/onsi/ginkgo/v2: [v2.20.2 → v2.22.2](https://github.com/onsi/ginkgo/compare/v2.20.2...v2.22.2) |
| 100 | +- github.com/onsi/gomega: [v1.34.2 → v1.36.2](https://github.com/onsi/gomega/compare/v1.34.2...v1.36.2) |
| 101 | +- github.com/pkg/sftp: [v1.13.6 → v1.13.7](https://github.com/pkg/sftp/compare/v1.13.6...v1.13.7) |
| 102 | +- github.com/prometheus/client_golang: [v1.18.0 → v1.20.5](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.20.5) |
| 103 | +- github.com/prometheus/common: [v0.46.0 → v0.61.0](https://github.com/prometheus/common/compare/v0.46.0...v0.61.0) |
| 104 | +- github.com/rogpeppe/go-internal: [v1.12.0 → v1.13.1](https://github.com/rogpeppe/go-internal/compare/v1.12.0...v1.13.1) |
| 105 | +- github.com/shopspring/decimal: [v1.3.1 → v1.4.0](https://github.com/shopspring/decimal/compare/v1.3.1...v1.4.0) |
| 106 | +- github.com/sirupsen/logrus: [v1.9.0 → v1.9.3](https://github.com/sirupsen/logrus/compare/v1.9.0...v1.9.3) |
| 107 | +- github.com/spf13/cast: [v1.6.0 → v1.7.0](https://github.com/spf13/cast/compare/v1.6.0...v1.7.0) |
| 108 | +- github.com/stretchr/testify: [v1.9.0 → v1.10.0](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0) |
| 109 | +- go.etcd.io/bbolt: v1.3.8 → v1.3.9 |
| 110 | +- go.etcd.io/etcd/api/v3: v3.5.15 → v3.5.17 |
| 111 | +- go.etcd.io/etcd/client/pkg/v3: v3.5.15 → v3.5.17 |
| 112 | +- go.etcd.io/etcd/client/v2: v2.305.12 → v2.305.13 |
| 113 | +- go.etcd.io/etcd/client/v3: v3.5.15 → v3.5.17 |
| 114 | +- go.etcd.io/etcd/pkg/v3: v3.5.10 → v3.5.13 |
| 115 | +- go.etcd.io/etcd/raft/v3: v3.5.10 → v3.5.13 |
| 116 | +- go.etcd.io/etcd/server/v3: v3.5.10 → v3.5.13 |
| 117 | +- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.49.0 → v0.53.0 |
| 118 | +- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.52.0 → v0.53.0 |
| 119 | +- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.27.0 → v1.33.0 |
| 120 | +- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.27.0 → v1.33.0 |
| 121 | +- go.opentelemetry.io/otel/exporters/prometheus: v0.46.0 → v0.55.0 |
| 122 | +- go.opentelemetry.io/otel/metric: v1.27.0 → v1.33.0 |
| 123 | +- go.opentelemetry.io/otel/sdk/metric: v1.27.0 → v1.33.0 |
| 124 | +- go.opentelemetry.io/otel/sdk: v1.27.0 → v1.33.0 |
| 125 | +- go.opentelemetry.io/otel/trace: v1.27.0 → v1.33.0 |
| 126 | +- go.opentelemetry.io/otel: v1.27.0 → v1.33.0 |
| 127 | +- go.opentelemetry.io/proto/otlp: v1.3.1 → v1.4.0 |
| 128 | +- go.uber.org/mock: v0.4.0 → v0.5.0 |
| 129 | +- golang.org/x/crypto: v0.27.0 → v0.32.0 |
| 130 | +- golang.org/x/mod: v0.21.0 → v0.22.0 |
| 131 | +- golang.org/x/net: v0.28.0 → v0.34.0 |
| 132 | +- golang.org/x/oauth2: v0.21.0 → v0.24.0 |
| 133 | +- golang.org/x/sync: v0.8.0 → v0.10.0 |
| 134 | +- golang.org/x/sys: v0.25.0 → v0.29.0 |
| 135 | +- golang.org/x/term: v0.24.0 → v0.28.0 |
| 136 | +- golang.org/x/text: v0.18.0 → v0.21.0 |
| 137 | +- golang.org/x/time: v0.5.0 → v0.6.0 |
| 138 | +- golang.org/x/tools: v0.24.0 → v0.28.0 |
| 139 | +- google.golang.org/genproto/googleapis/api: a8a6208 → e6fa225 |
| 140 | +- google.golang.org/genproto/googleapis/rpc: a8a6208 → e6fa225 |
| 141 | +- google.golang.org/grpc: v1.64.1 → v1.68.1 |
| 142 | +- google.golang.org/protobuf: v1.34.2 → v1.36.1 |
| 143 | +- k8s.io/api: v0.30.3 → v0.31.3 |
| 144 | +- k8s.io/apiextensions-apiserver: v0.30.3 → v0.31.3 |
| 145 | +- k8s.io/apimachinery: v0.30.3 → v0.31.3 |
| 146 | +- k8s.io/apiserver: v0.30.3 → v0.31.3 |
| 147 | +- k8s.io/client-go: v0.30.3 → v0.31.3 |
| 148 | +- k8s.io/cluster-bootstrap: v0.30.3 → v0.31.3 |
| 149 | +- k8s.io/code-generator: v0.30.3 → v0.31.3 |
| 150 | +- k8s.io/component-base: v0.30.3 → v0.31.3 |
| 151 | +- k8s.io/kms: v0.30.3 → v0.31.3 |
| 152 | +- k8s.io/utils: fe8a2dd → 18e509b |
| 153 | +- sigs.k8s.io/cluster-api/test: v1.8.3 → v1.9.4 |
| 154 | +- sigs.k8s.io/cluster-api: v1.8.3 → v1.9.4 |
| 155 | +- sigs.k8s.io/controller-runtime: v0.18.5 → v0.19.4 |
| 156 | +- sigs.k8s.io/kind: v0.24.0 → v0.26.0 |
| 157 | + |
| 158 | +### Removed |
| 159 | +- github.com/matttproud/golang_protobuf_extensions/v2: [v2.0.0](https://github.com/matttproud/golang_protobuf_extensions/tree/v2.0.0) |
| 160 | + |
| 161 | +## Details |
| 162 | +<!-- markdown-link-check-disable-next-line --> |
| 163 | +https://github.com/kubernetes-sigs/cluster-api-provider-azure/compare/v1.17.0...v1.18.0 |
0 commit comments