diff --git a/CHANGELOG/v1.12.0-beta.0.md b/CHANGELOG/v1.12.0-beta.0.md new file mode 100644 index 000000000000..4568babdf52b --- /dev/null +++ b/CHANGELOG/v1.12.0-beta.0.md @@ -0,0 +1,298 @@ +🚨 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/issues/new). +
+More details about the release + +:warning: **BETA RELEASE NOTES** :warning: + +## Changes since v1.11.0 +## :chart_with_upwards_trend: Overview +- 197 new commits merged +- 3 breaking changes :warning: +- 34 feature additions ✨ +- 26 bugs fixed πŸ› + +## :warning: Breaking Changes +- CI: Improve KAL config docs for forbidding OpenAPI defaulting (#12869) +- clusterctl/Feat(clusterctl): block move when Cluster or ClusterClass is paused (#12786) +- Dependency: Bump to controller-runtime v0.22 & controller-tools v0.19 (#12634) + +## :sparkles: New Features +- CABPK: Add EncryptionAlgorithm to Kubeadmconfig (#12859) +- CAPD: Add scale from/to 0 support for CAPD (#12572) +- CI: Bump autoscaler to a9cb59fdd (#12643) +- CI: Bump Kubernetes in tests to v1.34.0 and claim support for v1.34 (#12699) +- ClusterCache: Add GetUncachedClient() (#12803) +- ClusterClass: Add .spec.upgrade.external.generateUpgradePlanExtension field to ClusterClass (#12809) +- ClusterClass: Add types and hook for GenerateUpgradePlan (#12823) +- ClusterClass: Additional validation in Cluster/ClusterClass webhook for chained upgrades (#12816) +- ClusterClass: Call GenerateUpgradePlanRequest Runtime Extension (#12903) +- ClusterClass: Implement core logic for chained upgrades (#12726) +- Control-plane: Add new control-plane provider HCP (#12800) +- e2e: Bump Kubernetes version used for testing to v1.34.0-rc.1 (#12623) +- e2e: Bump Kubernetes version used for testing to v1.34.0-rc.2 (#12658) +- e2e: Implement e2e test for in-place updates (#12938) +- KCP: Bump coredns/corefile-migration to v1.0.28 (#12748) +- KCP: Bump coredns/corefile-migration to v1.0.29 (#12862) +- KCP: Bump corefile-migration to v1.0.27 (#12636) +- KCP: Compare ClusterConfiguration via KubeadmConfig instead of annotation on Machine (#12758) +- KCP: Extend rollout logic for in-place updates (#12840) +- KCP: Implement CanUpdateMachine (#12857) +- KCP: Implement trigger in-place update (#12897) +- Machine: Add in-place updates support for machine controller (#12831) +- MachineDeployment: Add in-place to rollout planner (#12865) +- MachineHealthCheck: Add support for checking Machine conditions in MachineHealthCheck (#12827) +- Misc: Add inplace updates featuregate (#12755) +- ClusterCache/KCP: Deprecate GetClientCertificatePrivateKey and stop using it in KCP (#12846) +- KCP/CABPK/CI: Bump KAL to pick up latest requiredfields linter, add Min/MaxLength to BootstrapToken (#12563) +- KCP/MachineSet/MS: Refactor BootstrapConfig/InfraMachine managedFields for in-place (#12890) +- Runtime SDK/IPAM/MachinePool: Cleanup exp packages (#12651) +- Runtime SDK: Add in-place update hooks to API (#12343) +- Runtime SDK: Add lifecycle hooks for chained-upgrade (#12878) +- Runtime SDK: Call new lifecycle hooks for chained-upgrades (#12891) +- Runtime SDK: Ensure ExtensionConfig controller can be used outside of the core provider (#12754) +- Runtime SDK: Implement GenerateUpgradePlan handler (#12927) + +## :bug: Bug Fixes +- API: Only try to convert infraRefs if they are set (#12686) +- API: Register conversion funcs in schemes (#12687) +- CABPK: Always use latest apiVersion when getting owner of KubeadmConfig in CABPK (#12685) +- CAPD: Fix the format error of healthCheck in test templates (#12787) +- CAPD: Remove finalizers during deletion if ownerRef was never set (#12675) +- CAPD: Run CAPD conversion tests in CI (#12583) +- CAPIM/Fix(proxy): eliminate data race in DialContext (#12778) +- ClusterClass: Ensure holder field path in GeneratePatchRequest is set based on contract (#12684) +- ClusterClass: Fix field paths in ClusterClass compatibility validation errors (#12660) +- ClusterClass: Stop adding conversion-data annotation to Cluster object (#12719) +- clusterctl: Removing Ready/Available prefix from STATUS Column (#12729) +- clusterctl: Verify providers need upgrade before applying (#12753) +- e2e: Fix autoscaler e2e test flake (#12613) +- e2e: Fix e2e test issues introduced by chained upgrades (#12766) +- e2e: Fix objects with Changed Resource Versions flake (#12848) +- e2e: Fix upgrade runtimesdk test (#12833) +- KCP: Fix ControlPlaneComponentHealthCheckSeconds validation in KubeadmConfigSpec.Validate (#12609) +- KCP: Fix conversion issue in KubeadmControlPlaneTemplate with rolloutStrategy.type (#12608) +- MachineDeployment: Fix race conditions ScaleDownOldMS (#12812) +- MachineDeployment: Fix race conditions ScaleDownOldMS OnDelete (#12830) +- ClusterClass/MachinePool: Fix MP error in desired state calculation during Cluster creation (#12607) +- Runtime SDK: Export ExtensionConfig webhook (#12598) +- Testing: Fix flaky TestFuzzyConversion (Cluster) test (#12618) +- Testing: Fix flaky TestReconcileMachinePhases unit test (#12616) +- Testing: Fix flaky TestReconcileState unit test (#12617) +- Testing: Fix KubeadmConfig fuzz test flake (#12679) + +## :seedling: Others +- Autoscaling: Bump autoscaler in e2e tests to v1.33.1 (#12790) +- CAPD: Cleanup CAPD exp packages (#12672) +- CAPD: Recreate container if we re-enter reconciliation and it exists but is not running (#12923) +- CI: Add OpenAPI defaulting detection for KubeadmConfig by using forbiddenmarkers (#12851) +- CI: Block FIXME comments (#12772) +- CI: Bump KAL & add nodurations linter (#12743) +- CI: Bump KAL & add nonullable and forbiddenmarkers linter (#12724) +- CI: Bump KAL & drop schemaless excludes (#12646) +- CI: Bump KAL, adjust excludes (#12650) +- CI: Bump to golangci-linter version to v2.4.0 (#12703) +- CI: Update metrics configuration to v1beta2 (#12642) +- ClusterClass: Add input validations for desired state generator function (#12655) +- clusterctl: Add Metal3 as an IPAMProvider (#12756) +- clusterctl: Allow metadata.yaml's Kind to be empty (#12714) +- clusterctl: Bump cert-manager to v1.19.0 (#12828) +- clusterctl: Bump cert-manager to v1.19.1 (#12873) +- clusterctl: Bumping tablewriter to v1.0.9 - latest (#12781) +- clusterctl: Show Available condition for CP (#12759) +- Dependency: Bump github.com/go-viper/mapstructure/v2 to fix CVE (#12677) +- Dependency: Bump Go to v1.24.6 (#12611) +- Dependency: Bump go to v1.24.7 (#12733) +- Dependency: Bump Go to v1.24.8 (#12826) +- Dependency: Bump Go to v1.24.9 (#12867) +- Dependency: Bump to envtest v1.34.0 (#12702) +- Devtools: Promtail to alloy migration (#11945) +- e2e: Add quickstart e2e test with v1beta1 with ClusterClass and RuntimeSDK (#12577) +- e2e: Bump autoscaler in e2e tests to v1.34.0 (#12806) +- e2e: Bump pause image in e2e tests to 3.10.1 (default for Kubernetes v1.34) (#12731) +- e2e: Bump to kind v0.30.0 (#12701) +- e2e: Enable IPv6 test again (#12597) +- e2e: Fix self-hosted to actually read DOCKER_PRELOAD_IMAGES from the e2e config (#12907) +- e2e: Get kind mgmt cluster logs in clusterctl upgrade test (#12676) +- e2e: Improve check for Cluster Available condition in e2e tests (#12594) +- e2e/Scripts: fix kind build git commit setting (#12858) +- e2e: Set startup taint for autoscaler in e2e tests (#12736) +- e2e: Start testing against Kubernetes v1.35 (#12709) +- KCP: Add current/desired objects to NotUpToDateResult & refactor object creation (#12817) +- KCP: Check for error before checking reconcile result (#12935) +- KCP/Cleanup KCP code: variable/func renames, func order (#12793) +- KCP: Enable websocket dialer with fallback to spdy (#12902) +- KCP: Simplify cleanupConfigFields in KCP (#12776) +- KCP: Simplify KCP matchesKubeadmConfig (#12813) +- Logging: Reduce noisy logs (#12606) +- Machine: Add DisableCertPrivateKey function for clustercache for test flake (#12921) +- Machine: Consider updating condition when computing Machine's ready condition (#12939) +- Machine: Fix TestReconcileMachinePhases flake (#12818) +- Machine: Implement Updating Machine phase (#12940) +- Machine/TestReconcileMachinePhases: use apireader to directly talk to apiserver (#12819) +- MachineDeployment: Add in-place to machineset controller (#12906) +- MachineDeployment: Add rollout planner (#12804) +- MachineDeployment: Cleanup getMachinesSucceeded flag from MD controller (#12882) +- MachineDeployment: Fix misleading log statements and optimize logic (#12871) +- MachineDeployment: Move compute and create ms to rollout planner (#12841) +- MachineDeployment: Refactor MachineTemplateUpToDate (#12811) +- MachineDeployment: Simplify rollout planner (#12899) +- MachineHealthCheck: No longer requeue when remediation is not allowed (#12924) +- MachineSet: Fix flakes in syncMachines unit test (#12918) +- MachineSet: Fix race conditions with global scheme in TestMachineSetReconciler_reconcileUnhealthyMachines (#12919) +- MachineSet: Refactor BootstrapConfig/InfraMachine creation in MachineSet controller (#12881) +- Misc: Avoid using deprecated client.Patch method (#12737) +- Misc: Consistent webhook file/folder structure (#12791) +- Misc/Feat(Tiltfile): Add Proxy Support to Docker Build-Args (#12669) +- Misc: Log version and git commit on controller start (#12694) +- Misc: Stop setting and relying on TypeMeta in typed objects (#12533) +- Misc: Use errors package of Go (#10875) +- KCP/CABPK: Stop using unsafe for EnvVar conversion (#12619) +- KCP/MachineSet/MachineDeployment: Remove unused CleanUpManagedFieldsForSSAAdoption code (#12788) +- Release/clusterctl: Add CAPRKE2 to release tool’s issue-opening providers list (#12713) +- Release/Testing: Added test cases for list.go and github.go (#11937) +- Release: Prepare main branch for v1.12 development (#12723) +- Runtime SDK: Add defensive response status checking in runtime client (#12898) +- Runtime SDK: Add hint to look into controller logs to runtime client error response (#12849) +- Runtime SDK: Deduplicate extension filtering and response validation logic (#12905) +- Testing: Add clusterapi crd groups to audit logs for envtest (#12883) +- Testing: Enable audit logs for envtest-based unit tests if ARTIFACTS env var is set (#12847) +- Testing: Implement unit-tests for desired state generator (#12656) +- Testing: Update version matrix for GitHub workflows for release 1.11 (#12586) +- util: Add items to cache immediately after apply (#12877) + +:book: Additionally, there have been 30 contributions to our documentation and book. (#12085, #12199, #12562, #12581, #12582, #12593, #12600, #12601, #12647, #12662, #12663, #12673, #12710, #12741, #12761, #12777, #12779, #12797, #12814, #12835, #12836, #12854, #12866, #12880, #12885, #12892, #12893, #12896, #12917, #12942) + +## Dependencies + +### Added +- github.com/gkampitakis/ciinfo: [v0.3.2](https://github.com/gkampitakis/ciinfo/tree/v0.3.2) +- github.com/gkampitakis/go-diff: [v1.3.2](https://github.com/gkampitakis/go-diff/tree/v1.3.2) +- github.com/gkampitakis/go-snaps: [v0.5.15](https://github.com/gkampitakis/go-snaps/tree/v0.5.15) +- github.com/go-jose/go-jose/v4: [v4.0.4](https://github.com/go-jose/go-jose/tree/v4.0.4) +- github.com/goccy/go-yaml: [v1.18.0](https://github.com/goccy/go-yaml/tree/v1.18.0) +- 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/joshdk/go-junit: [v1.0.0](https://github.com/joshdk/go-junit/tree/v1.0.0) +- github.com/maruel/natural: [v1.1.1](https://github.com/maruel/natural/tree/v1.1.1) +- github.com/mfridman/tparse: [v0.18.0](https://github.com/mfridman/tparse/tree/v0.18.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/tidwall/gjson: [v1.18.0](https://github.com/tidwall/gjson/tree/v1.18.0) +- github.com/tidwall/match: [v1.1.1](https://github.com/tidwall/match/tree/v1.1.1) +- github.com/tidwall/pretty: [v1.2.1](https://github.com/tidwall/pretty/tree/v1.2.1) +- github.com/tidwall/sjson: [v1.2.5](https://github.com/tidwall/sjson/tree/v1.2.5) +- 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.0 + +### Changed +- cel.dev/expr: v0.19.1 β†’ v0.24.0 +- cloud.google.com/go/storage: v1.49.0 β†’ v1.5.0 +- cloud.google.com/go: v0.116.0 β†’ v0.53.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/Masterminds/semver/v3: [v3.3.0 β†’ v3.4.0](https://github.com/Masterminds/semver/compare/v3.3.0...v3.4.0) +- github.com/census-instrumentation/opencensus-proto: [v0.4.1 β†’ v0.2.1](https://github.com/census-instrumentation/opencensus-proto/compare/v0.4.1...v0.2.1) +- github.com/cncf/xds/go: [cff3c89 β†’ 2f00578](https://github.com/cncf/xds/compare/cff3c89...2f00578) +- github.com/coredns/corefile-migration: [v1.0.27 β†’ v1.0.29](https://github.com/coredns/corefile-migration/compare/v1.0.27...v1.0.29) +- 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/go-viper/mapstructure/v2: [v2.3.0 β†’ v2.4.0](https://github.com/go-viper/mapstructure/compare/v2.3.0...v2.4.0) +- github.com/golang/groupcache: [41bb18b β†’ 8c9f03a](https://github.com/golang/groupcache/compare/41bb18b...8c9f03a) +- 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/googleapis/gax-go/v2: [v2.14.1 β†’ v2.0.5](https://github.com/googleapis/gax-go/compare/v2.14.1...v2.0.5) +- 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/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/onsi/ginkgo/v2: [v2.23.4 β†’ v2.27.2](https://github.com/onsi/ginkgo/compare/v2.23.4...v2.27.2) +- github.com/onsi/gomega: [v1.38.0 β†’ v1.38.2](https://github.com/onsi/gomega/compare/v1.38.0...v1.38.2) +- 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/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/pflag: [v1.0.7 β†’ v1.0.10](https://github.com/spf13/pflag/compare/v1.0.7...v1.0.10) +- github.com/spf13/viper: [v1.20.1 β†’ v1.21.0](https://github.com/spf13/viper/compare/v1.20.1...v1.21.0) +- github.com/stretchr/testify: [v1.10.0 β†’ v1.11.1](https://github.com/stretchr/testify/compare/v1.10.0...v1.11.1) +- go.etcd.io/bbolt: v1.3.11 β†’ v1.4.2 +- go.etcd.io/etcd/api/v3: v3.5.22 β†’ v3.6.5 +- go.etcd.io/etcd/client/pkg/v3: v3.5.22 β†’ v3.6.5 +- go.etcd.io/etcd/client/v3: v3.5.22 β†’ v3.6.5 +- 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.opencensus.io: v0.24.0 β†’ v0.22.3 +- 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.yaml.in/yaml/v3: v3.0.3 β†’ v3.0.4 +- golang.org/x/crypto: v0.40.0 β†’ v0.43.0 +- golang.org/x/mod: v0.25.0 β†’ v0.28.0 +- golang.org/x/net: v0.42.0 β†’ v0.46.0 +- golang.org/x/oauth2: v0.30.0 β†’ v0.32.0 +- golang.org/x/sync: v0.16.0 β†’ v0.17.0 +- golang.org/x/sys: v0.34.0 β†’ v0.37.0 +- golang.org/x/telemetry: bda5523 β†’ aef8a43 +- golang.org/x/term: v0.33.0 β†’ v0.36.0 +- golang.org/x/text: v0.27.0 β†’ v0.30.0 +- golang.org/x/tools: v0.34.0 β†’ v0.37.0 +- google.golang.org/api: v0.215.0 β†’ v0.17.0 +- google.golang.org/genproto/googleapis/api: 5f5ef82 β†’ a0af3ef +- google.golang.org/genproto/googleapis/rpc: 1a7da9e β†’ a0af3ef +- google.golang.org/genproto: e639e21 β†’ 66ed5ce +- google.golang.org/grpc: v1.71.3 β†’ v1.72.3 +- google.golang.org/protobuf: v1.36.6 β†’ v1.36.7 +- k8s.io/api: v0.33.3 β†’ v0.34.1 +- k8s.io/apiextensions-apiserver: v0.33.3 β†’ v0.34.1 +- k8s.io/apimachinery: v0.33.3 β†’ v0.34.1 +- k8s.io/apiserver: v0.33.3 β†’ v0.34.1 +- k8s.io/client-go: v0.33.3 β†’ v0.34.1 +- k8s.io/cluster-bootstrap: v0.33.3 β†’ v0.34.1 +- k8s.io/code-generator: v0.33.3 β†’ v0.34.1 +- k8s.io/component-base: v0.33.3 β†’ v0.34.1 +- k8s.io/gengo/v2: 1244d31 β†’ 85fd79d +- k8s.io/kms: v0.33.3 β†’ v0.34.1 +- k8s.io/kube-openapi: c8a335a β†’ f3f2b99 +- k8s.io/utils: 3ea5e8c β†’ 4c0f3b2 +- 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 +- 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/golang-jwt/jwt/v4: [v4.5.2](https://github.com/golang-jwt/jwt/tree/v4.5.2) +- 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/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) +- github.com/prashantv/gostub: [v1.1.0](https://github.com/prashantv/gostub/tree/v1.1.0) +- go.etcd.io/etcd/client/v2: v2.305.21 +- go.etcd.io/etcd/raft/v3: v3.5.21 +- go.uber.org/atomic: v1.9.0 +- sigs.k8s.io/structured-merge-diff/v4: v4.6.0 + +
+
+_Thanks to all our contributors!_ 😊