diff --git a/CHANGELOG/v1.8.0.md b/CHANGELOG/v1.8.0.md new file mode 100644 index 000000000000..57db716105eb --- /dev/null +++ b/CHANGELOG/v1.8.0.md @@ -0,0 +1,521 @@ +## 👌 Kubernetes version support + +- Management Cluster: v1.27.x -> v1.30.x +- Workload Cluster: v1.25.x -> v1.30.x + +[More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html) + +## Highlights + +- Bumped to controller-runtime v0.18, k8s.io/* v0.30, controller-gen v0.15, Go 1.22 +- API: Add support for negative polarity conditions (#10550) +- API: Allow control plane provider to set control plane endpoint (#10667) +- CABPK: Add kubeadm v1beta4 types (including ExtraEnvs and ImagePullSerial) (#10709, #10846) +- CABPK: Allow to generate JoinConfiguration discovery kubeconfig (#10799) +- ClusterClass: Improvements for variables + - CEL support for variables (#9239) + - Metadata for top-level and nested variables (& deprecate previous metadata field) (#10778) + - Support control plane variable overrides (#10682) + - New builtin variables: control plane / MD / MP metadata (#10837), Cluster UID (#10822) +- KCP: Delete out of date machines with unhealthy control plane component conditions during rollout (#10196) +- KCP: Default ControlPlaneKubeletLocalMode kubeadm feature gate to true for Kubernetes >= 1.31.0 +- Logging: Improvements to rollout logs: Cluster topology controller (#10690), KCP controller & webhooks (#10628), MachineDeployment controller (#10688) +- MachineDeployment: Add remediation strategy (#10712) +- MachineSet/Machine: Improvements to Machine deletion + - Machine deletion skips waiting for volumes detached for unreachable Nodes (#10662) + - Machine drain ignores terminating Pods earlier for unreachable Nodes (#10706) + - MachineSet: Fix deletion priority to avoid deleting too many machines (#10087) + - MachineSet: Deprioritize unknown NodeHealthy conditions for deletion (#10763) + - MachineSet: Ensure unhealthy machines get deletion priority (#10755) +- A usual, significantly improved e2e test framework & coverage (#10083, #10216, #10135, #10498, #10639, #10530) +- New providers in clusterctl: IONOS Cloud (#10767), Linode (#10471), Tinkerbell (#10487) + +## Deprecation Warning + +- ClusterClass: Deprecate definitionFrom field (#10841) +- ClusterClass: Deprecate IP Family builtin variable (#10554) +- MachineDeployment: Deprecate revision management (#10855) +- MachineHealthCheck: Deprecate MaxUnhealthy & UnhealthyRange fields (#10853) + +Umbrella issue: API changes: #10852 + +## Changes since v1.7.0 +## :chart_with_upwards_trend: Overview +- 322 new commits merged +- 1 breaking change :warning: +- 23 feature additions ✨ +- 50 bugs fixed 🐛 + +## :warning: Breaking Changes +- ClusterClass: Adjust CC & Cluster controller to block on variable conflicts, deprecate definitionFrom (#10841) + +## :sparkles: New Features +- API: Add support negative polarity conditions (#10550) +- API: Optimize rbac across controllers (#10552) +- Bootstrap: Allow CAPBK to generate JoinConfiguration discovery kubeconfig (#10799) +- CABPK: Add ExtraEnvs and ImagePullSerial to KubeadmConfig (#10846) +- CABPK: Add kubeadm v1beta4 types (#10709) +- ClusterCacheTracker: Add QPS & burst options & flags for ClusterCacheTracker (#10880) +- ClusterClass: Add map key for MD/MP class & topology in ClusterClass & Cluster.spec.topology (#10808) +- ClusterClass: Add metadata for top-level and nested variables & deprecate previous metadata field (#10778) +- ClusterClass: Add variable validation to ClusterClass controller, block Cluster reconcile if variables not reconciled (#10812) +- ClusterClass: Extend ControlPlane/ MD / MP builtin to include metadata (#10837) +- ClusterClass: Introduce CEL for ClusterClass Variables (#9239) +- ClusterClass: Support ControlPlane variable overrides (#10682) +- e2e: Bump Kubernetes to v1.31.0-rc.1 (#11022) +- e2e: Bump Kubernetes version used for testing to v1.30.0-rc.1 (#10384) +- e2e: Bump Kubernetes version used for testing to v1.31.0-beta.0 (#10922) +- e2e: Bump Kubernetes version used for testing to v1.31.0-rc.0 (#10968) +- KCP: Default ControlPlaneKubeletLocalMode feature gate to true for >= 1.31.0 (#10947) +- MachinePool: MachinePools: Use NodeDeletionTimeout and default it to 10s (#10553) +- MachinePool: Set Kubernetes version in machinepool machine Status.Version (#10849) +- MachineSet: Add remediation strategy support in MachineDeployment (#10712) +- Runtime SDK/ClusterClass: Extend cluster builtin to include UID (#10822) +- Runtime SDK/ClusterClass: Fix GetObjectVariableInto util func (#10702) +- Testing: Support e2e for WSL (#10402) + +## :bug: Bug Fixes +- API: Cluster should be provisoned when cpRef and endpoint is set (#10873) +- API: Drop caBundle from CRDs to support Kubernetes 1.31 (#10976) +- API: Re-add patch for events (#10695) +- API: When infrastructureRef is nil, set InfrastructureReadyCondition to true (#10909) +- CABPK: Bootstrap: fix useExperimentalRetryJoin for kubernetes v1.31 (#11000) +- CAPD: Don't add host ports to exposed ports of containers (#10657) +- CAPD: Ensure DockerMachinePool providerIDList is deterministic (#11003) +- CAPD: Fix nil pointer in dockermachinepool controller (#10876) +- CAPD: Verify lb config after writing it (#10453) +- CI: Add for new linters to fix old syntax (#10699) +- CI: Add tenv linter (#10689) +- CI: Fix conversion-gen outside of GOPATH (#10502) +- ClusterClass: Defaulting webhook should check class is set in ClusterClass-based clusters (#10671) +- ClusterClass: Fix indexing in ClusterClass webhook MHC validation (#10672) +- ClusterClass: Fix TestServerSideApplyWithDefaulting flakes (#10905) +- clusterctl: Ensure cert-manager objects get applied before other provider objects (#10469) +- clusterctl: Ensure move uses mutated metadata when updating a target object (#10982) +- clusterctl: Fix log in clusterctl move (#10540) +- clusterctl: Handle a nil mutator by returning an error, not panicking (#10981) +- clusterctl: Verify that there is a release for the tag (#10220) +- ClusterResourceSet: Correctly handle concurrent updates to ClusterResourceSetBinding (#10656) +- ClusterResourceSet: Use separate cache for partial metadata watches on secrets to include all secrets (#10633) +- Dependency: Use k8s.io/utils/ptr instead of k8s.io/utils/pointer (#10700) +- e2e: Ensure all ownerRef assertions for some Kind are evaluated (#10590) +- e2e: Filter cluster-wide objects asserted in ResourceVersion tests to exclude objects of parallel tests (#10560) +- e2e: Fix kubetest to allow parallel execution on different clusters (#10424) +- e2e: Kubetest: also gather junit reports in case of errors observed from ginkgo (#10493) +- KCP: Delete out of date machines with unhealthy control plane component conditions when rolling out KCP (#10196) +- KCP: Fix some KCP unit test flakes (#10711) +- Machine: Machine Controller should try to retrieve node on delete (#11042) +- Machine: Machine deletion skips waiting for volumes detached for unreachable Nodes (#10662) +- Machine: Speed up ignoring terminating Pods when draining unreachable Nodes (#10706) +- MachineHealthCheck: Change MachineHealthCheck.spec.unhealthyConditions to optional (#9774) +- MachineHealthCheck: Skip publishing the `RemediationRestricted` event when there are no unhealthy target (#10591) +- MachinePool: Check that replicas pointer is not nil in machinepool controller (#10632) +- MachineSet: Fix deletion priority to avoid deleting too many machines (#10087) +- MachineSet: MachineSet should allow scale down operations to proceed when templates don't exist (#10913) +- ClusterClass/MachineHealthCheck: Fix default namespace of RemediationTemplate for ClusterClass and Topology (#10843) +- ClusterClass/MachineSet/MachineDeployment: MD/MS topo reconciler: only add finalizer for owned MD/MS (#10780) +- KCP/CAPD: KCPTemplate & DockerClusterTemplate webhook: default before immutability check (#10638) +- Runtime SDK: Topology: use raw input object for patch calculation in WalkTemplates (#10912) +- Security: Also use tls options for metrics/diagnostics server (#10883) +- Testing: Fix CRS test flake (#11011) +- Testing: Fix metadata assert failure in clusterclass rollout test (#10840) +- Testing: Fix race condition in TestPatchHelper test (#10886) +- Testing: Test/framework isDockerCluster should check that infra ref is present (#10973) +- util: Check errors for IsNotFound after patching spec and status (#10787) +- util: Checking cert's keypair for nil before accessing to avoid panics (#10321) +- util: Patch helper should be able to patch non-spec objects (#10824) +- util: SSA: recover gvk after scheme.Convert (#10408) + +## :seedling: Others +- API: Allow control plane provider to set endpoint (#10667) +- API: Allow users to specify webhook server cert and key names (#10551) +- API: Partially revert changes for ":bug: Cluster should be provisoned when cpRef and endpoint is set" (#10903) +- CAPD: Bump github.com/docker/docker to v26.0.2 (#10478) +- CI: Add more templating func to prowjob-gen (#10391) +- CI: Drop pr approver workflow top-level permissions (#10659) +- CI: Optimize dependabot config (#10571) +- CI: Publish nightly manifests to staging bucket (#10489) +- CI: Replace exec kubectl with client CreateOrUpdate (#10442) +- CI: Update base branch for link checker (#10964) +- CI: Update version matrix for github workflows for release-1.7 (#10357) +- CI: Use setup-envtest from CR main (05/2024) to use envtest binaries from CT releases (#10569) +- ClusterCacheTracker: Improve CCT error logging (#10826) +- ClusterCacheTracker: Use indexes field instead of passing it around (#10606) +- ClusterClass: Add Cluster.GetClassKey() to retrieve a NamespacedName for classes (#10703) +- ClusterClass: Add MachinePools to autoscaler e2e test (#10083) +- ClusterClass: Add MachinePools to handler and topology test (#10216) +- ClusterClass: Deprecate IP Family builtin variable (#10554) +- ClusterClass: Improve reconcile state logs (don't log empty diff) (#11015) +- ClusterClass: Log diffs for Cluster topology rollouts/patches (#10690) +- ClusterClass: Separate schema and CEL errors in CC variable validation (#10809) +- ClusterClass: Webhooks: make MDT.replicas and autoscaler mut. exclusive (#10370) +- clusterctl: Add ionoscloud provider (#10767) +- clusterctl: Add support for the linode-linode infrastructure provider to clusterctl (#10471) +- clusterctl: Add Tinkerbell to the providers list (#10487) +- clusterctl: Always run crd migration if possible to reduce conversion webhook usage (#10513) +- clusterctl: Bump cert-manager to 1.14.5 (#10514) +- clusterctl: Bump cert-manager to v1.15.0 (#10727) +- clusterctl: Bump cert-manager to v1.15.1 (#10807) +- clusterctl: Bump cert-manager to v1.15.2 (#10992) +- clusterctl: Improve cert-manager shouldUpgrade (#10407) +- clusterctl: Update Config generation to use inClusterConfig (#11006) +- ClusterResourceSet: Ensure CRS controller always add ownerReference to resources (#10756) +- ClusterResourceSet: Make ClusterResourceSet controller more predictable (#10869) +- Community meeting: Retire the Alternative communication pattern feature group (#10658) +- Control-plane: Improve KCP remediation re-entrancy (#10559) +- Core: Cleanup separate unstructuredCachingClient (#10692) +- Dependency: Bump controller-gen to v0.15 (#10380) +- Dependency: Bump controller-runtime to v0.18.0 (#10383) +- Dependency: Bump conversion-gen to v0.30.0 (#10474) +- Dependency: Bump docker/docker to 26.0.0+incompatible (#10335) +- Dependency: Bump envtest to v1.30.0 (#10477) +- Dependency: Bump github.com/distribution/reference from 0.5.0 to 0.6.0 (#10501) +- Dependency: Bump github.com/docker/docker from 26.1.4+incompatible to 27.0.0+incompatible in /test (#10775) +- Dependency: Bump github.com/docker/docker to v27.0.1 (#10794) +- Dependency: Bump Go to v1.22.2 (#10452) +- Dependency: Bump go version to 1.22.3 (#10586) +- Dependency: Bump golang to v1.21.9 and golang.org/x/net to mitigate CVE-2023-45288 (#10375) +- Dependency: Bump golangci-lint to v1.57.2 (#10398) +- Dependency: Bump the all-go-mod-patch-and-minor group across 3 directories with 3 updates (#11039) +- Dependency: Bump to Go 1.22.4 (#10739) +- Dependency: Bump to Go 1.22.5 (#10828) +- Dependency: Fix loopvar linter issue and usage of deprecated grpc function (#10731) +- Dependency: Fixup patch order in CABPK (#10399) +- Dependency: Stop bumping cel-go via dependabot (#10834) +- Dependency: Update Kustomize deprecated syntax (#10294) +- Devtools: Add triage-party for the Cluster API backlog (#10437) +- Devtools: Bump Cluster API Visualizer to v1.3.0 (#10386) +- Devtools: Bump Cluster API Visualizer to v1.3.1 (#10816) +- Devtools: Improve triage query (#10644) +- Devtools: Tilt: ensure in-tree providers always use start.sh to allow restarts (#10811) +- e2e: Add function to create the ClusterProxy when using a secondary kind-based management cluster (#10804) +- e2e: Add IPAM API to test framework convenience scheme (#10745) +- e2e: Allow setting worker machine count to nil in ApplyClusterTemplateAndWait & ConfigCluster (#10388) +- e2e: Bump autoscaler to v1.30.0 (#10510) +- e2e: Bump kind to v0.23.0 (#10610) +- e2e: Drop support for INIT env variables in clusterctl upgrade test (#10609) +- e2e: Dump cluster resources if deletion times out (#10967) +- e2e: Enable ability to test pre-releases of kubernetes (#10412) +- e2e: Enable kubeadm ControlPlaneKubeletLocalMode feature gate in e2e tests (#10940) +- e2e: Enhance E2E Tests to Filter Out Extra Provider-Specific Metadata (#10715) +- e2e: Ensure resourceVersions are stable (#10530) +- e2e: Export more func in test/e2e/common.go (#10420) +- e2e: Fix finalizers assertions (#10735) +- e2e: Improve E2E tests for finalizers and ownerRefs (#10730) +- e2e: Improve E2E ValidateFinalizers and ValidateOwnerRef (#10693) +- e2e: Improve error output of ValidateResourceVersionStable (#11020) +- e2e: Improve metadata assertions in ClusterClass rollout test (#10851) +- e2e: Test/framework: scale up should use allocatable memory (#11007) +- e2e: Test: add coverage to find issues running on the next kubernetes release as management cluster (#11014) +- e2e: Test: add restConfigModifier Option to clusterProxy (#10832) +- e2e: Test: check for metadata.yaml when resolving releases to not try to use unreleased versions + avoid retry on 404 (also in clusterctl) (#10618) +- e2e: Test: Dump resources before deleting extensionconfig (#10874) +- e2e: Test: fix machinepool test to wait for topology controller to set correct number of replicas first (#10952) +- e2e: Test: improve output for ValidateResourceVersionStable by using BeComparable instead of Equal (#10652) +- e2e: Test: skip cleanup of additional kind cluster if flag is set (#10910) +- e2e: Test: stop using Consistently for rollout checks (#10999) +- e2e: Test: use pause image for autoscaler tests (#10879) +- e2e: Test: use pause instead of nginx (#10887) +- IPAM: Add Ready condition failure reasons (#10660) +- IPAM: Add spec.clusterName to IPAddressClaim (#10182) +- KCP: Add compare util using go-cmp, modify webhooks & KCP controller (#10628) +- KCP: Bump corefile-migration to support CoreDNS v1.11.3 (#10985) +- Logging: Fix log keys, use upper case for logs (#10613) +- Logging: Log error when calling a Runtime Extension gets an error that is ignored because of failure policy (#11031) +- Logging: Set terminationMessagePolicy to FallbackToLogsOnError for all managers (#10580) +- Machine: Improve logs & conditions when machine is waiting for node (#10757) +- Machine: Propagate timeout fields from MachineSet to Machine during Machine deletion (#10589) +- MachineDeployment: Deprecate MachineDeployment revision management (#10855) +- MachineDeployment: Log reason for MachineDeployment rollouts / MachineSet creations (#10688) +- MachineHealthCheck: Deprecate MHC MaxUnhealthy & UnhealthyRange fields (#10853) +- MachineHealthCheck: MachineHealthCheck should take Machine's InfraReady condition (#10718) +- MachineHealthCheck: Reenable 2 MHC unit tests (#10906) +- MachinePool: Improve MP unit test coverage (#10939) +- MachinePool: MinReadySeconds for machinepools (#9837) +- MachineSet: Deprioritize unknown NodeHealthy conditions for deletion (#10763) +- MachineSet: Ensure unhealthy machines get deletion priority (#10755) +- ClusterClass/e2e: Add MP back to dualstack E2E test (#10135) +- KCP/ClusterResourceSet: Do not update observed generation if there are reconcile errors (#10736) +- KCP/MachineSet: Flag for old infra machine naming (#10576) +- Machine/MachineSet: Remove redundant watch event handlers via `Owns()` (#10048) +- MachineSet/MachineDeployment: Preserve finalizers during MS/Machine reconciliation (#10694) +- Release: Prepare main branch for v1.8 development (#10524) +- Release: Push manifests for main & release-.* (#10521) +- Release: Release notes: also detect alpha releases as pre releases (#10369) +- Release: Swap in new 1.8 RT members in OWNERS (#10473) +- Release: Update order of release note generation tasks (#10397) +- Security: Cleanup owner files (#10642) +- Testing: Allow control plane count to be configurable in clusterctl upgrade test. (#10584) +- Testing: Bump Kubernetes in tests to v1.30.0 and claim support for v1.30 (#10454) +- Testing: Envtest: Setup Machine webhook only once (#10506) +- Testing: Export method and types for ClusterUpgradeWithRuntimeSDK (#10788) +- Testing: Improve SSA patch test (#10525) +- Testing: Improve tilt setup for local e2e (#10467) +- Testing: Replace reflect.DeepEqual in tests (#10619) +- Testing: Support MachinePools without MachinePoolMachines in clusterctl upgrade test (#10498) +- Testing: Test/framework: Allow ScaleUp Deployment image to be customized (#10995) +- Testing: Use kind as a secondary management cluster for clusterctl E2E tests (#10639) +- Testing: Use testing.Setenv instead of os.Setenv (#10919) +- Testing: Use testing.TempDir instead of os.MkdirTemp (#10918) +- util: Add test for patchHelper logic around deletionTimestamps/finalizers (#10866) +- util: Allow ClusterCacheTracker to set CacheByObject (#10950) + +:book: Additionally, there have been 49 contributions to our documentation and book. (#10265, #10293, #10310, #10317, #10328, #10346, #10355, #10358, #10366, #10367, #10371, #10385, #10392, #10414, #10418, #10443, #10444, #10449, #10455, #10475, #10480, #10490, #10528, #10529, #10531, #10534, #10549, #10555, #10558, #10561, #10583, #10594, #10630, #10640, #10685, #10719, #10748, #10752, #10777, #10795, #10817, #10825, #10856, #10857, #10861, #10865, #10891, #10930, #10966) + +## Dependencies + +### Added +- github.com/chromedp/cdproto: [3cf4e6d](https://github.com/chromedp/cdproto/tree/3cf4e6d) +- github.com/chromedp/chromedp: [v0.9.2](https://github.com/chromedp/chromedp/tree/v0.9.2) +- github.com/chromedp/sysutil: [v1.0.0](https://github.com/chromedp/sysutil/tree/v1.0.0) +- github.com/fxamacker/cbor/v2: [v2.6.0](https://github.com/fxamacker/cbor/tree/v2.6.0) +- github.com/go-task/slim-sprig/v3: [v3.0.0](https://github.com/go-task/slim-sprig/tree/v3.0.0) +- github.com/gobwas/httphead: [v0.1.0](https://github.com/gobwas/httphead/tree/v0.1.0) +- github.com/gobwas/pool: [v0.2.1](https://github.com/gobwas/pool/tree/v0.2.1) +- github.com/gobwas/ws: [v1.2.1](https://github.com/gobwas/ws/tree/v1.2.1) +- github.com/x448/float16: [v0.8.4](https://github.com/x448/float16/tree/v0.8.4) +- golang.org/x/telemetry: f48c80b +- k8s.io/gengo/v2: 51d4e06 + +### Changed +- cloud.google.com/go/bigquery: v1.57.1 → v1.3.0 +- cloud.google.com/go/compute/metadata: v0.2.3 → v0.3.0 +- cloud.google.com/go/compute: v1.23.3 → v1.24.0 +- cloud.google.com/go/datastore: v1.15.0 → v1.0.0 +- cloud.google.com/go/firestore: v1.14.0 → v1.15.0 +- cloud.google.com/go/longrunning: v0.5.4 → v0.5.5 +- cloud.google.com/go/pubsub: v1.33.0 → v1.1.0 +- cloud.google.com/go: v0.110.10 → v0.112.1 +- github.com/adrg/xdg: [v0.4.0 → v0.5.0](https://github.com/adrg/xdg/compare/v0.4.0...v0.5.0) +- github.com/chzyer/readline: [2972be2 → v1.5.1](https://github.com/chzyer/readline/compare/2972be2...v1.5.1) +- github.com/cncf/xds/go: [e9ce688 → 0fa0005](https://github.com/cncf/xds/compare/e9ce688...0fa0005) +- github.com/coredns/caddy: [v1.1.0 → v1.1.1](https://github.com/coredns/caddy/compare/v1.1.0...v1.1.1) +- github.com/coredns/corefile-migration: [v1.0.21 → v1.0.23](https://github.com/coredns/corefile-migration/compare/v1.0.21...v1.0.23) +- github.com/cpuguy83/go-md2man/v2: [v2.0.3 → v2.0.4](https://github.com/cpuguy83/go-md2man/compare/v2.0.3...v2.0.4) +- github.com/distribution/reference: [v0.5.0 → v0.6.0](https://github.com/distribution/reference/compare/v0.5.0...v0.6.0) +- github.com/emicklei/go-restful/v3: [v3.11.0 → v3.12.1](https://github.com/emicklei/go-restful/compare/v3.11.0...v3.12.1) +- github.com/envoyproxy/go-control-plane: [v0.11.1 → v0.12.0](https://github.com/envoyproxy/go-control-plane/compare/v0.11.1...v0.12.0) +- github.com/envoyproxy/protoc-gen-validate: [v1.0.2 → v1.0.4](https://github.com/envoyproxy/protoc-gen-validate/compare/v1.0.2...v1.0.4) +- github.com/fatih/color: [v1.16.0 → v1.17.0](https://github.com/fatih/color/compare/v1.16.0...v1.17.0) +- github.com/go-logr/logr: [v1.4.1 → v1.4.2](https://github.com/go-logr/logr/compare/v1.4.1...v1.4.2) +- github.com/golang/glog: [v1.1.2 → v1.2.0](https://github.com/golang/glog/compare/v1.1.2...v1.2.0) +- github.com/google/cel-go: [v0.17.7 → v0.17.8](https://github.com/google/cel-go/compare/v0.17.7...v0.17.8) +- github.com/google/pprof: [4bb14d4 → a892ee0](https://github.com/google/pprof/compare/4bb14d4...a892ee0) +- github.com/google/uuid: [v1.4.0 → v1.6.0](https://github.com/google/uuid/compare/v1.4.0...v1.6.0) +- github.com/googleapis/gax-go/v2: [v2.12.0 → v2.12.3](https://github.com/googleapis/gax-go/compare/v2.12.0...v2.12.3) +- github.com/hashicorp/consul/api: [v1.25.1 → v1.28.2](https://github.com/hashicorp/consul/compare/api/v1.25.1...api/v1.28.2) +- github.com/hashicorp/errwrap: [v1.0.0 → v1.1.0](https://github.com/hashicorp/errwrap/compare/v1.0.0...v1.1.0) +- github.com/hashicorp/go-multierror: [v1.0.0 → v1.1.1](https://github.com/hashicorp/go-multierror/compare/v1.0.0...v1.1.1) +- github.com/ianlancetaylor/demangle: [28f6c0f → bd984b5](https://github.com/ianlancetaylor/demangle/compare/28f6c0f...bd984b5) +- github.com/klauspost/compress: [v1.17.0 → v1.17.2](https://github.com/klauspost/compress/compare/v1.17.0...v1.17.2) +- github.com/nats-io/nats.go: [v1.31.0 → v1.34.0](https://github.com/nats-io/nats.go/compare/v1.31.0...v1.34.0) +- github.com/nats-io/nkeys: [v0.4.6 → v0.4.7](https://github.com/nats-io/nkeys/compare/v0.4.6...v0.4.7) +- github.com/onsi/ginkgo/v2: [v2.17.1 → v2.19.1](https://github.com/onsi/ginkgo/compare/v2.17.1...v2.19.1) +- github.com/onsi/gomega: [v1.32.0 → v1.34.0](https://github.com/onsi/gomega/compare/v1.32.0...v1.34.0) +- github.com/pelletier/go-toml/v2: [v2.1.0 → v2.2.2](https://github.com/pelletier/go-toml/compare/v2.1.0...v2.2.2) +- github.com/prometheus/client_model: [v0.5.0 → v0.6.0](https://github.com/prometheus/client_model/compare/v0.5.0...v0.6.0) +- github.com/sagikazarmark/crypt: [v0.17.0 → v0.19.0](https://github.com/sagikazarmark/crypt/compare/v0.17.0...v0.19.0) +- github.com/spf13/cobra: [v1.8.0 → v1.8.1](https://github.com/spf13/cobra/compare/v1.8.0...v1.8.1) +- github.com/spf13/viper: [v1.18.2 → v1.19.0](https://github.com/spf13/viper/compare/v1.18.2...v1.19.0) +- github.com/stretchr/objx: [v0.5.0 → v0.5.2](https://github.com/stretchr/objx/compare/v0.5.0...v0.5.2) +- github.com/stretchr/testify: [v1.8.4 → v1.9.0](https://github.com/stretchr/testify/compare/v1.8.4...v1.9.0) +- go.etcd.io/etcd/api/v3: v3.5.13 → v3.5.15 +- go.etcd.io/etcd/client/pkg/v3: v3.5.13 → v3.5.15 +- go.etcd.io/etcd/client/v2: v2.305.10 → v2.305.12 +- go.etcd.io/etcd/client/v3: v3.5.13 → v3.5.15 +- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.46.0 → v0.49.0 +- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.46.0 → v0.49.0 +- go.opentelemetry.io/otel/metric: v1.20.0 → v1.24.0 +- go.opentelemetry.io/otel/trace: v1.20.0 → v1.24.0 +- go.opentelemetry.io/otel: v1.20.0 → v1.24.0 +- go.uber.org/atomic: v1.10.0 → v1.9.0 +- go.uber.org/zap: v1.26.0 → v1.27.0 +- golang.org/x/crypto: v0.21.0 → v0.25.0 +- golang.org/x/mod: v0.14.0 → v0.17.0 +- golang.org/x/net: v0.23.0 → v0.27.0 +- golang.org/x/oauth2: v0.18.0 → v0.21.0 +- golang.org/x/sync: v0.6.0 → v0.7.0 +- golang.org/x/sys: v0.18.0 → v0.22.0 +- golang.org/x/term: v0.18.0 → v0.22.0 +- golang.org/x/text: v0.14.0 → v0.16.0 +- golang.org/x/tools: v0.17.0 → e35e4cc +- google.golang.org/api: v0.153.0 → v0.171.0 +- google.golang.org/appengine: v1.6.7 → v1.6.8 +- google.golang.org/genproto/googleapis/api: bbf56f3 → a219d84 +- google.golang.org/genproto/googleapis/rpc: 83a465c → 6e1732d +- google.golang.org/genproto: bbf56f3 → 012b6fc +- google.golang.org/grpc: v1.59.0 → v1.62.2 +- google.golang.org/protobuf: v1.33.0 → v1.34.1 +- k8s.io/api: v0.29.3 → v0.30.3 +- k8s.io/apiextensions-apiserver: v0.29.3 → v0.30.3 +- k8s.io/apimachinery: v0.29.3 → v0.30.3 +- k8s.io/apiserver: v0.29.3 → v0.30.3 +- k8s.io/cli-runtime: v0.29.3 → v0.30.3 +- k8s.io/client-go: v0.29.3 → v0.30.3 +- k8s.io/cluster-bootstrap: v0.29.3 → v0.30.3 +- k8s.io/code-generator: v0.29.3 → v0.30.3 +- k8s.io/component-base: v0.29.3 → v0.30.3 +- k8s.io/component-helpers: v0.29.3 → v0.30.3 +- k8s.io/klog/v2: v2.110.1 → v2.120.1 +- k8s.io/kms: v0.29.3 → v0.30.3 +- k8s.io/kube-openapi: 2dd684a → 70dd376 +- k8s.io/kubectl: v0.29.3 → v0.30.3 +- k8s.io/metrics: v0.29.3 → v0.30.3 +- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.28.0 → v0.30.0 +- sigs.k8s.io/controller-runtime: v0.17.3 → v0.18.4 + +### Removed +- cloud.google.com/go/accessapproval: v1.7.4 +- cloud.google.com/go/accesscontextmanager: v1.8.4 +- cloud.google.com/go/aiplatform: v1.52.0 +- cloud.google.com/go/analytics: v0.21.6 +- cloud.google.com/go/apigateway: v1.6.4 +- cloud.google.com/go/apigeeconnect: v1.6.4 +- cloud.google.com/go/apigeeregistry: v0.8.2 +- cloud.google.com/go/appengine: v1.8.4 +- cloud.google.com/go/area120: v0.8.4 +- cloud.google.com/go/artifactregistry: v1.14.6 +- cloud.google.com/go/asset: v1.15.3 +- cloud.google.com/go/assuredworkloads: v1.11.4 +- cloud.google.com/go/automl: v1.13.4 +- cloud.google.com/go/baremetalsolution: v1.2.3 +- cloud.google.com/go/batch: v1.6.3 +- cloud.google.com/go/beyondcorp: v1.0.3 +- cloud.google.com/go/billing: v1.17.4 +- cloud.google.com/go/binaryauthorization: v1.7.3 +- cloud.google.com/go/certificatemanager: v1.7.4 +- cloud.google.com/go/channel: v1.17.3 +- cloud.google.com/go/cloudbuild: v1.14.3 +- cloud.google.com/go/clouddms: v1.7.3 +- cloud.google.com/go/cloudtasks: v1.12.4 +- cloud.google.com/go/contactcenterinsights: v1.11.3 +- cloud.google.com/go/container: v1.27.1 +- cloud.google.com/go/containeranalysis: v0.11.3 +- cloud.google.com/go/datacatalog: v1.18.3 +- cloud.google.com/go/dataflow: v0.9.4 +- cloud.google.com/go/dataform: v0.9.1 +- cloud.google.com/go/datafusion: v1.7.4 +- cloud.google.com/go/datalabeling: v0.8.4 +- cloud.google.com/go/dataplex: v1.11.1 +- cloud.google.com/go/dataproc/v2: v2.2.3 +- cloud.google.com/go/dataqna: v0.8.4 +- cloud.google.com/go/datastream: v1.10.3 +- cloud.google.com/go/deploy: v1.14.2 +- cloud.google.com/go/dialogflow: v1.44.3 +- cloud.google.com/go/dlp: v1.11.1 +- cloud.google.com/go/documentai: v1.23.5 +- cloud.google.com/go/domains: v0.9.4 +- cloud.google.com/go/edgecontainer: v1.1.4 +- cloud.google.com/go/errorreporting: v0.3.0 +- cloud.google.com/go/essentialcontacts: v1.6.5 +- cloud.google.com/go/eventarc: v1.13.3 +- cloud.google.com/go/filestore: v1.7.4 +- cloud.google.com/go/functions: v1.15.4 +- cloud.google.com/go/gkebackup: v1.3.4 +- cloud.google.com/go/gkeconnect: v0.8.4 +- cloud.google.com/go/gkehub: v0.14.4 +- cloud.google.com/go/gkemulticloud: v1.0.3 +- cloud.google.com/go/gsuiteaddons: v1.6.4 +- cloud.google.com/go/iap: v1.9.3 +- cloud.google.com/go/ids: v1.4.4 +- cloud.google.com/go/iot: v1.7.4 +- cloud.google.com/go/kms: v1.15.5 +- cloud.google.com/go/language: v1.12.2 +- cloud.google.com/go/lifesciences: v0.9.4 +- cloud.google.com/go/logging: v1.8.1 +- cloud.google.com/go/managedidentities: v1.6.4 +- cloud.google.com/go/maps: v1.6.1 +- cloud.google.com/go/mediatranslation: v0.8.4 +- cloud.google.com/go/memcache: v1.10.4 +- cloud.google.com/go/metastore: v1.13.3 +- cloud.google.com/go/monitoring: v1.16.3 +- cloud.google.com/go/networkconnectivity: v1.14.3 +- cloud.google.com/go/networkmanagement: v1.9.3 +- cloud.google.com/go/networksecurity: v0.9.4 +- cloud.google.com/go/notebooks: v1.11.2 +- cloud.google.com/go/optimization: v1.6.2 +- cloud.google.com/go/orchestration: v1.8.4 +- cloud.google.com/go/orgpolicy: v1.11.4 +- cloud.google.com/go/osconfig: v1.12.4 +- cloud.google.com/go/oslogin: v1.12.2 +- cloud.google.com/go/phishingprotection: v0.8.4 +- cloud.google.com/go/policytroubleshooter: v1.10.2 +- cloud.google.com/go/privatecatalog: v0.9.4 +- cloud.google.com/go/pubsublite: v1.8.1 +- cloud.google.com/go/recaptchaenterprise/v2: v2.8.3 +- cloud.google.com/go/recommendationengine: v0.8.4 +- cloud.google.com/go/recommender: v1.11.3 +- cloud.google.com/go/redis: v1.14.1 +- cloud.google.com/go/resourcemanager: v1.9.4 +- cloud.google.com/go/resourcesettings: v1.6.4 +- cloud.google.com/go/retail: v1.14.4 +- cloud.google.com/go/run: v1.3.3 +- cloud.google.com/go/scheduler: v1.10.4 +- cloud.google.com/go/secretmanager: v1.11.4 +- cloud.google.com/go/security: v1.15.4 +- cloud.google.com/go/securitycenter: v1.24.2 +- cloud.google.com/go/servicedirectory: v1.11.3 +- cloud.google.com/go/shell: v1.7.4 +- cloud.google.com/go/spanner: v1.51.0 +- cloud.google.com/go/speech: v1.20.1 +- cloud.google.com/go/storagetransfer: v1.10.3 +- cloud.google.com/go/talent: v1.6.5 +- cloud.google.com/go/texttospeech: v1.7.4 +- cloud.google.com/go/tpu: v1.6.4 +- cloud.google.com/go/trace: v1.10.4 +- cloud.google.com/go/translate: v1.9.3 +- cloud.google.com/go/video: v1.20.3 +- cloud.google.com/go/videointelligence: v1.11.4 +- cloud.google.com/go/vision/v2: v2.7.5 +- cloud.google.com/go/vmmigration: v1.7.4 +- cloud.google.com/go/vmwareengine: v1.0.3 +- cloud.google.com/go/vpcaccess: v1.7.4 +- cloud.google.com/go/webrisk: v1.9.4 +- cloud.google.com/go/websecurityscanner: v1.6.4 +- cloud.google.com/go/workflows: v1.12.3 +- github.com/OneOfOne/xxhash: [v1.2.2](https://github.com/OneOfOne/xxhash/tree/v1.2.2) +- github.com/alecthomas/template: [a0175ee](https://github.com/alecthomas/template/tree/a0175ee) +- github.com/armon/circbuf: [bbbad09](https://github.com/armon/circbuf/tree/bbbad09) +- github.com/armon/go-radix: [7fddfc3](https://github.com/armon/go-radix/tree/7fddfc3) +- github.com/bgentry/speakeasy: [v0.1.0](https://github.com/bgentry/speakeasy/tree/v0.1.0) +- github.com/bketelsen/crypt: [5cbc8cc](https://github.com/bketelsen/crypt/tree/5cbc8cc) +- github.com/cespare/xxhash: [v1.1.0](https://github.com/cespare/xxhash/tree/v1.1.0) +- github.com/coreos/bbolt: [v1.3.2](https://github.com/coreos/bbolt/tree/v1.3.2) +- github.com/coreos/etcd: [v3.3.13+incompatible](https://github.com/coreos/etcd/tree/v3.3.13) +- github.com/coreos/pkg: [399ea9e](https://github.com/coreos/pkg/tree/399ea9e) +- github.com/dgrijalva/jwt-go: [v3.2.0+incompatible](https://github.com/dgrijalva/jwt-go/tree/v3.2.0) +- github.com/dgryski/go-sip13: [e10d5fe](https://github.com/dgryski/go-sip13/tree/e10d5fe) +- github.com/ghodss/yaml: [v1.0.0](https://github.com/ghodss/yaml/tree/v1.0.0) +- github.com/go-kit/kit: [v0.8.0](https://github.com/go-kit/kit/tree/v0.8.0) +- github.com/go-stack/stack: [v1.8.0](https://github.com/go-stack/stack/tree/v1.8.0) +- github.com/hashicorp/consul/sdk: [v0.1.1](https://github.com/hashicorp/consul/tree/sdk/v0.1.1) +- github.com/hashicorp/go-msgpack: [v0.5.3](https://github.com/hashicorp/go-msgpack/tree/v0.5.3) +- github.com/hashicorp/go-sockaddr: [v1.0.0](https://github.com/hashicorp/go-sockaddr/tree/v1.0.0) +- github.com/hashicorp/go-syslog: [v1.0.0](https://github.com/hashicorp/go-syslog/tree/v1.0.0) +- github.com/hashicorp/go-uuid: [v1.0.1](https://github.com/hashicorp/go-uuid/tree/v1.0.1) +- github.com/hashicorp/go.net: [v0.0.1](https://github.com/hashicorp/go.net/tree/v0.0.1) +- github.com/hashicorp/logutils: [v1.0.0](https://github.com/hashicorp/logutils/tree/v1.0.0) +- github.com/hashicorp/mdns: [v1.0.0](https://github.com/hashicorp/mdns/tree/v1.0.0) +- github.com/hashicorp/memberlist: [v0.1.3](https://github.com/hashicorp/memberlist/tree/v0.1.3) +- github.com/konsorten/go-windows-terminal-sequences: [v1.0.1](https://github.com/konsorten/go-windows-terminal-sequences/tree/v1.0.1) +- github.com/kr/logfmt: [b84e30a](https://github.com/kr/logfmt/tree/b84e30a) +- github.com/miekg/dns: [v1.0.14](https://github.com/miekg/dns/tree/v1.0.14) +- github.com/mitchellh/cli: [v1.0.0](https://github.com/mitchellh/cli/tree/v1.0.0) +- github.com/mitchellh/go-testing-interface: [v1.0.0](https://github.com/mitchellh/go-testing-interface/tree/v1.0.0) +- github.com/mitchellh/gox: [v0.4.0](https://github.com/mitchellh/gox/tree/v0.4.0) +- github.com/mitchellh/iochan: [v1.0.0](https://github.com/mitchellh/iochan/tree/v1.0.0) +- github.com/oklog/ulid: [v1.3.1](https://github.com/oklog/ulid/tree/v1.3.1) +- github.com/pascaldekloe/goe: [57f6aae](https://github.com/pascaldekloe/goe/tree/57f6aae) +- github.com/pelletier/go-toml: [v1.2.0](https://github.com/pelletier/go-toml/tree/v1.2.0) +- github.com/posener/complete: [v1.1.1](https://github.com/posener/complete/tree/v1.1.1) +- github.com/prometheus/tsdb: [v0.7.1](https://github.com/prometheus/tsdb/tree/v0.7.1) +- github.com/ryanuber/columnize: [9b3edd6](https://github.com/ryanuber/columnize/tree/9b3edd6) +- github.com/sean-/seed: [e2103e2](https://github.com/sean-/seed/tree/e2103e2) +- github.com/shurcooL/sanitized_anchor_name: [v1.0.0](https://github.com/shurcooL/sanitized_anchor_name/tree/v1.0.0) +- github.com/spaolacci/murmur3: [f09979e](https://github.com/spaolacci/murmur3/tree/f09979e) +- github.com/spf13/jwalterweatherman: [v1.0.0](https://github.com/spf13/jwalterweatherman/tree/v1.0.0) +- gopkg.in/alecthomas/kingpin.v2: v2.2.6 +- gopkg.in/resty.v1: v1.12.0 +- k8s.io/gengo: 9cce18d + +_Thanks to all our contributors!_ 😊