kmgm
kmgm copied to clipboard
fix(deps): update module google.golang.org/grpc to v1.77.0
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| google.golang.org/grpc | v1.67.1 -> v1.77.0 |
Release Notes
grpc/grpc-go (google.golang.org/grpc)
v1.77.0: Release 1.77.0
API Changes
- mem: Replace the
Readerinterface with a struct for better performance and maintainability. (#8669)
Behavior Changes
- balancer/pickfirst: Remove support for the old
pick_firstLB policy via the environment variableGRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST=false. The newpick_firsthas been the default sincev1.71.0. (#8672)
Bug Fixes
- xdsclient: Fix a race condition in the ADS stream implementation that could result in
resource-not-founderrors, causing the gRPC client channel to move toTransientFailure. (#8605) - client: Ignore HTTP status header for gRPC streams. (#8548)
- client: Set a read deadline when closing a transport to prevent it from blocking indefinitely on a broken connection. (#8534)
- Special Thanks: @jgold2-stripe
- client: Fix a bug where default port 443 was not automatically added to addresses without a specified port when sent to a proxy.
- Setting environment variable
GRPC_EXPERIMENTAL_ENABLE_DEFAULT_PORT_FOR_PROXY_TARGET=falsedisables this change; please file a bug if any problems are encountered as we will remove this option soon. (#8613)
- Setting environment variable
- balancer/pickfirst: Fix a bug where duplicate addresses were not being ignored as intended. (#8611)
- server: Fix a bug that caused overcounting of channelz metrics for successful and failed streams. (#8573)
- Special Thanks: @hugehoo
- balancer/pickfirst: When configured, shuffle addresses in resolver updates that lack endpoints. Since gRPC automatically adds endpoints to resolver updates, this bug only affects custom LB policies that delegate to
pick_firstbut don't set endpoints. (#8610) - mem: Clear large buffers before re-using. (#8670)
Performance Improvements
- transport: Reduce heap allocations to reduce time spent in garbage collection. (#8624, #8630, #8639, #8668)
- transport: Avoid copies when reading and writing Data frames. (#8657, #8667)
- mem: Avoid clearing newly allocated buffers. (#8670)
New Features
- outlierdetection: Add metrics specified in gRFC A91. (#8644)
- Special Thanks: @davinci26, @PardhuKonakanchi
- stats/opentelemetry: Add support for optional label
grpc.lb.backend_servicein per-call metrics (#8637) - xds: Add support for JWT Call Credentials as specified in gRFC A97. Set environment variable
GRPC_EXPERIMENTAL_XDS_BOOTSTRAP_CALL_CREDS=trueto enable this feature. (#8536)- Special Thanks: @dimpavloff
- experimental/stats: Add support for up/down counters. (#8581)
v1.76.0: Release 1.76.0
Dependencies
Bug Fixes
- client: Return status
INTERNALwhen a server sends zero response messages for a unary or client-streaming RPC. (#8523) - client: Fail RPCs with status
INTERNALinstead ofUNKNOWNupon receiving http headers with status 1xx andEND_STREAMflag set. (#8518)- Special Thanks: @vinothkumarr227
- pick_first: Fix race condition that could cause pick_first to get stuck in
IDLEstate on backend address change. (#8615)
New Features
- credentials: Add
credentials/jwtpackage providing file-based JWT PerRPCCredentials (A97). (#8431)- Special Thanks: @dimpavloff
Performance Improvements
- client: Improve HTTP/2 header size estimate to reduce re-allocations. (#8547)
- encoding/proto: Avoid redundant message size calculation when marshaling. (#8569)
- Special Thanks: @rs-unity
v1.75.1: Release 1.75.1
Bug Fixes
- transport: Fix a data race while copying headers for stats handlers in the std lib http2 server transport. (#8519)
- xdsclient:
- server: Fix a regression preventing streams from being cancelled or timed out when blocked on flow control. (#8528)
v1.75.0: Release 1.75.0
Behavior Changes
- xds: Remove support for GRPC_EXPERIMENTAL_XDS_FALLBACK environment variable. Fallback support can no longer be disabled. (#8482)
- stats: Introduce
DelayedPickCompleteevent, a type alias ofPickerUpdated. (#8465)- This (combined) event will now be emitted only once per call, when a transport is successfully selected for the attempt.
- OpenTelemetry metrics will no longer have multiple "Delayed LB pick complete" events in Go, matching other gRPC languages.
- A future release will delete the
PickerUpdatedsymbol.
- credentials: Properly apply
grpc.WithAuthorityas the highest-priority option for setting authority, above the setting in the credentials themselves. (#8488)- Now that this
WithAuthorityis available, the credentials should not be used to override the authority.
- Now that this
- round_robin: Randomize the order in which addresses are connected to in order to spread out initial RPC load between clients. (#8438)
- server: Return status code INTERNAL when a client sends more than one request in unary and server streaming RPC. (#8385)
- This is a behavior change but also a bug fix to bring gRPC-Go in line with the gRPC spec.
New Features
- dns: Add an environment variable (
GRPC_ENABLE_TXT_SERVICE_CONFIG) to provide a way to disable TXT lookups in the DNS resolver (by setting it tofalse). By default, TXT lookups are enabled, as they were previously. (#8377)
Bug Fixes
- xds: Fix regression preventing empty node IDs in xDS bootstrap configuration. (#8476)
- Special Thanks: @davinci26
- xds: Fix possible panic when certain invalid resources are encountered. (#8412)
- Special Thanks: @wooffie
- xdsclient: Fix a rare panic caused by processing a response from a closed server. (#8389)
- stats: Fix metric unit formatting by enclosing non-standard units like
callandendpointin curly braces to comply with UCUM and gRPC OpenTelemetry guidelines. (#8481) - xds: Fix possible panic when clusters are removed from the xds configuration. (#8428)
- xdsclient: Fix a race causing "resource doesn not exist" when rapidly subscribing and unsubscribing to the same resource. (#8369)
- client: When determining the authority, properly percent-encode (if needed, which is unlikely) when the target string omits the hostname and only specifies a port (
grpc.NewClient(":<port-number-or-name>")). (#8488)
v1.74.3: Release 1.74.3
Bug Fixes
- xds: Fix a regression preventing empty node IDs in the bootstrap configuration. (#8476 , #8483)
- xdsclient: Fix a data race caused while reporting load to LRS. (#8483)
- server: Fix a regression preventing streams from being cancelled or timed out when blocked on flow control. (#8528)
v1.74.2: Release 1.74.2
New Features
- grpc: introduce new
DialOptionsandServerOptions(WithStaticStreamWindowSize,WithStaticConnWindowSize,StaticStreamWindowSize,StaticConnWindowSize) that force fixed window sizes for all HTTP/2 connections. By default, gRPC uses dynamic sizing of these windows based upon a BDP estimation algorithm. The existing options (WithInitialWindowSize, etc) also disable BDP estimation, but this behavior will be changed in a following release. (#8283)
API Changes
- balancer: add
ExitIdlemethod toBalancerinterface. Earlier, implementing this method was optional. (#8367)
Behavior Changes
- xds: Remove the
GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUESTenvironment variable that allows disabling the least request balancer with xDS. Least request was made available by default with xDS in v1.72.0. (#8248)- Special Thanks: @atollena
- server: allow 0s grpc-timeout header values, which older gRPC-Java versions could send. This restores the behavior of grpc-go before v1.73.0. (#8439)
Bug Fixes
- googledirectpath: avoid logging the error message
Attempt to set a bootstrap configuration...when creating multiple directpath channels. (#8419)
Performance Improvements
- transport: reduce heap allocations by pooling objects and avoiding method-to-closure conversions. (#8361)
- transport: reduce heap allocations by re-using
mem.Readerobjects. (#8360)
Documentation
- examples: add examples to demonstrate enabling experimental metrics using the OpenTelemetry plugin. (#8388)
- Special Thanks: @vinothkumarr227
v1.74.1: Release 1.74.1
Version 1.74.1 retracts release v1.74.0 and itself. Release 1.74.0 was accidentally tagged on the wrong commit and should not be used. Version 1.73.0 should be used until 1.74.2 is released.
v1.74.0: Release 1.74.0
Release 1.74.0 was accidentally tagged on the wrong commit and should not be used. Version 1.73.0 should be used until 1.74.1 is released.
v1.73.1: Release 1.73.1
Bug Fixes
- server: Fix a regression preventing streams from being cancelled or timed out when blocked on flow control. (#8528)
v1.73.0: Release 1.73.0
New Features
- balancer/ringhash: move LB policy from xds/internal to exported path to facilitate use without xds (#8249)
- xds: enable least request LB policy by default. It can be disabled by setting
GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=falsein your environment. (#8253) - grpc: add a
CallAuthorityCall Option that can be used to overwrite the http:authorityheader on per-RPC basis. (#8068) - stats/opentelemetry: add trace event for name resolution delay. (#8074)
- health: added
Listmethod to gRPC Health service. (#8155)- Special Thanks: @marcoshuck
- ringhash: implement features from gRFC A76. (#8159)
- xds: add functionality to support SPIFFE Bundle Maps as roots of trust in XDS which can be enabled by setting
GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE=true. (#8167, #8180, #8229, #8343)
Bug Fixes
- xds: locality ID metric label is changed to make it consistent with gRFC A78. (#8256)
- client: fail RPCs on the client when using extremely short contexts that expire before the
grpc-timeoutheader is created. (#8312) - server: non-positive
grpc-timeoutheader values are now rejected. This is consistent with the gRPC protocol spec. (#8290)- Special Thanks: @evanj
- xds: fix reported error string when LRS load reporting interval is invalid. (#8224)
- Special Thanks: @alingse
Performance Improvements
- credentials/alts: improve read performance by optimizing buffer copies and allocations. (#8271)
- server: improve performance of RPC handling by avoid a status proto copy (#8282)
- Special Thanks: @evanj
Documentation
- examples/features/opentelemetry: modify example to demonstrate tracing using OpenTelemtry plugin. (#8056)
v1.72.3: Release 1.72.3
Bug Fixes
- server: Fix a regression preventing streams from being cancelled or timed out when blocked on flow control. (#8528)
v1.72.2: Release 1.72.2
Bug Fixes
- client: restore support for
NO_PROXYenvironment variable when connecting to locally-resolved addresses (case 2 from gRFC A1). (#8329) - balancer/least_request: fix panic on resolver errors. (#8333)
v1.72.1: Release 1.72.1
Bug Fixes
- client: HTTP Proxy connections are no longer attempted for addresses with non-TCP network types. (#8215)
- client: Fix bug that causes RPCs to fail with status INTERNAL instead of CANCELLED or DEADLINE_EXCEEDED when receiving a RST_STREAM frame in the middle of the gRPC message. (#8289)
v1.72.0: Release 1.72.0
Dependencies
- Minimum supported Go version is now 1.23 (#8108)
API Changes
- resolver: add experimental
AddressMapV2with generics to ultimately replaceAddressMap. DeprecateAddressMapfor deletion (#8187) - resolver: convert EndpointMap in place to use generics (#8189)
New Features
- xds: add
grpc.xds_client.server_failurecounter metric on xDS client to record connectivity errors (#8203) - balancer/rls: allow
maxAgeto exceed 5 minutes ifstaleAgeis set in the LB policy configuration (#8137) - ringhash: implement gRFC A76 improvements. (#8159)
- pickfirst: The new pick first LB policy is made the default. The new LB policy implements the Happy Eyeballs algorithm. To disable the new policy set the environment variable
GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRSTtofalse(case insensitive).
Bug Fixes
- xds: fix support for circuit breakers and load reporting in LOGICAL_DNS clusters (#8169, #8170)
- xds/cds: improve RPC error messages when resources are not found (#8122)
- balancer/priority: fix race that could leak balancers and goroutines during shutdown (#8095)
- stats/opentelemetry: fix trace attributes message sequence numbers to start from 0 (#8237)
- balancer/pickfirstleaf: fix panic if deprecated Address.Metadata field is set to a non-comparable value by ignoring the field (#8227)
Behavior Changes
- transport: make servers send an HTTP/2 RST_STREAM frame to cancel a stream when the deadline expires (#8071)
Documentation
- stats: clarify the expected sequence of events on a stats handler (#7885)
- Special Thanks: @RyanBlaney
v1.71.3: Release 1.71.3
Bug Fixes
- client: restore support for
NO_PROXYenvironment variable when connecting to locally-resolved addresses (case 2 from gRFC A1). (#8329) - balancer/least_request: fix panic on resolver errors. (#8333)
v1.71.2: Release 1.71.2
Bug Fixes
- client: HTTP Proxy connections are no longer attempted for addresses with non-TCP network types. (#8215)
v1.71.1: Release 1.71.1
Bug Fixes
- grpc: fix a bug causing an extra Read from the compressor if a compressed message is the same size as the limit. This could result in a panic with the built-in gzip compressor (#8178)
- xds: restore the behavior of reading the bootstrap config before creating the first xDS client instead of at package init time (#8164)
- stats/opentelemetry: use
TextMapPropagatorandTracerProviderfromTraceOptionsinstead of OpenTelemetry globals (#8166) - client: fix races when an http proxy is configured that could lead to deadlocks or panics (#8195)
- client: fix bug causing RPC failures with message "no children to pick from" when using a custom resolver that calls the deprecated
NewAddressAPI (#8149) - wrr: fix slow processing of address updates that could result in problems including RPC failures for servers with a large number of backends (#8179)
v1.71.0: Release 1.71.0
API Changes
- balancer: Custom LB policies that record metrics must use the new
MetricsRecordermethod onBalancer.ClientConninstead of the removedBalancer.BuildOptions.MetricsRecorderfield to obtain a metrics recorder. (#8027) - balancer:
balancer.ClientConnimplementations must now embed a delegate implementation. This allows grpc-go to add new methods to the interface and remain backward compatible. (#8026) - balancer/endpointsharding: The constructor accepts the child balancer's builder and a struct with optional configuration. (#8052)
New Features
- xds: Add support for dualstack via the additional_addresses field in the Endpoint resource. To disable this feature, set the environment variable
GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS=false. (#8134) - stats/opentelemetry: Add experimental support for OpenTelemetry tracing. (#7852)
- xds/internal/xdsclient: Add counter metrics for valid and invalid resource updates. (#8038)
- balancer/leastrequest, roundrobin: Add dualstack support. (#7969, #7966)
- balancer/endpointsharding: Balancers created with the new
DisableAutoReconnectoption will not attempt to callExitIdleautomatically on their children when the children report idle. (#8052)
Bug Fixes
- client: Fix support for proxies when using
grpc.NewClientso the target is resolved by the proxy as expected. (#7881)- Added
WithLocalDNSResolution()dial option to explicitly force target resolution on the client instead. (#7881)
- Added
- weightedtarget: Return erroring picker when no targets are configured. (#8070)
- xds: Fail RPCs with
UNAVAILABLEwhen the EDS resource is missing or contains no endpoints (#8070) - xdsclient: Fix a bug where connectivity failures were reported to resource watchers before trying all listed servers. (#8075)
- grpc: Fix the number of bytes reported in the error message when encoded messages are larger than 4GB. (#8033)
- xds: Fixed a bug preventing tests from creating multiple servers or channels with different bootstrap configs. (#8050)
- grpc: Fix message length checks when compression is enabled and
maxReceiveMessageSizeisMaxInt(#7918)- Special Thanks: @vinothkumarr227
Documentation
- client: Improve documentation of
grpc.NewClientandClientConn.CanonicalTargetby providing examples. (#8078) - examples/features/dualstack: New example demonstrating usage of endpoints and dualstack functionality. (#8098)
v1.70.0: Release 1.70.0
Behavior Changes
- client: reject service configs containing an invalid retryPolicy in accordance with gRFCs A21 and A6. (#7905)
- Note that this is a potential breaking change for some users using an invalid configuration, but continuing to allow this behavior would violate our cross-language compatibility requirements.
New Features
- xdsclient: fallback to a secondary management server (if specified in the bootstrap configuration) when the primary is down is enabled by default. Can be disabled by setting the environment variable
GRPC_EXPERIMENTAL_XDS_FALLBACKtofalse. (#7949) - experimental/credentials: experimental transport credentials are added which don't enforce ALPN. (#7980)
- These credentials will be removed in an upcoming grpc-go release. Users must not rely on these credentials directly. Instead, they should either vendor a specific version of gRPC or copy the relevant credentials into their own codebase if absolutely necessary.
Bug Fixes
- xds: fix a possible deadlock that happens when both the client application and the xDS management server (responsible for configuring the client) are using the xds:/// scheme in their target URIs. (#8011)
Performance
- server: for unary requests, free raw request message data as soon as parsing is finished instead of waiting until the method handler returns. (#7998)
- Special Thanks: @lqs
Documentation
- examples/features/gracefulstop: add example to demonstrate server graceful stop. (#7865)
v1.69.4: Release 1.69.4
Bug Fixes
- rbac: fix support for :path header matchers, which would previously never successfully match (#7965).
Documentation
- examples/features/csm_observability: update example client and server to use the helloworld service instead of echo service (#7945).
v1.69.2: Release 1.69.2
Bug Fixes
- stats/experimental: add type aliases for symbols (
Metrics/etc) that were moved to the stats package (#7929). - client: set user-agent string to the correct version.
v1.69.0: Release 1.69.0
Known Issues
- The recently added
grpc.NewClientfunction is incompatible with forward proxies, because it resolves the target hostname on the client instead of passing the hostname to the proxy. A fix is expected to be a part of grpc-go v1.70. (#7556)
New Features
- stats/opentelemetry: Introduce new APIs to enable OpenTelemetry instrumentation for metrics on servers and clients (#7874)
- xdsclient: add support to fallback to lower priority servers when higher priority ones are down (#7701)
- dns: Add support for link local IPv6 addresses (#7889)
- The new experimental
pickfirstLB policy (disabled by default) supports Happy Eyeballs, interleaving IPv4 and IPv6 address as described in RFC-8305 section 4, to attempt connections to multiple backends concurrently. The experimentalpickfirstpolicy can be enabled by setting the environment variableGRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRSTtotrue. (#7725, #7742) - balancer/pickfirst: Emit metrics from the
pick_firstload balancing policy (#7839) - grpc: export
MethodHandler, which is the type of an already-exported field inMethodDesc(#7796)- Special Thanks: @mohdjishin
Bug Fixes
- credentials/google: set scope for application default credentials (#7887)
- Special Thanks: @halvards
- xds: fix edge-case issues where some clients or servers would not initialize correctly or would not receive errors when resources are invalid or unavailable if another channel or server with the same target was already in use . (#7851, #7853)
- examples: fix the debugging example, which was broken by a recent change (#7833)
Behavior Changes
- client: update retry attempt backoff to apply jitter per updates to gRFC A6. (#7869)
- Special Thanks: @isgj
- balancer/weightedroundrobin: use the
pick_firstLB policy to manage connections (#7826)
API Changes
- balancer: An internal method is added to the
balancer.SubConninterface to force implementors to embed a delegate implementation. This requirement is present in the interface documentation, but wasn't enforced earlier. (#7840)
Performance Improvements
- mem: implement a
ReadAll()method for more efficientio.Readerconsumption (#7653)- Special Thanks: @ash2k
- mem: use slice capacity instead of length to determine whether to pool buffers or directly allocate them (#7702)
- Special Thanks: @PapaCharlie
Documentation
- examples/csm_observability: Add xDS Credentials and switch server to be xDS enabled (#7875)
v1.68.2: Release 1.68.2
Dependencies
- Remove the experimental
stats/opentelemetrymodule and instead add the experimental packages it contains directly into the maingoogle.golang.org/grpcmodule (#7936)
v1.68.1: Release 1.68.1
Bug Fixes
- credentials/alts: avoid SRV and TXT lookups for handshaker service to work around hangs caused by buggy versions of systemd-resolved. (#7861)
Dependencies
- Relax minimum Go version requirement from
go1.22.7togo1.22. (#7831)
v1.68.0: Release 1.68.0
Known Issues
- The recently added
grpc.NewClientfunction is incompatible with forward proxies, because it resolves the target hostname on the client instead of passing the hostname to the proxy. This bug has been present since the introduction ofNewClient. A fix is expected to be a part of grpc-go v1.70. (#7556)
Behavior Changes
- stats/opentelemetry/csm: Get mesh_id local label from "CSM_MESH_ID" environment variable, rather than parsing from bootstrap file (#7740)
- orca (experimental): if using an ORCA listener, it must now be registered only on a READY SubConn, and the listener will automatically be stopped when the connection is lost. (#7663)
- client:
ClientConn.Close()now closes transports simultaneously and waits for transports to be closed before returning. (#7666) - credentials: TLS credentials created via
NewTLSthat usetls.Config.GetConfigForClientwill now have CipherSuites, supported TLS versions and ALPN configured automatically. These were previously only set for configs not using theGetConfigForClientoption. (#7709)
Bug Fixes
- transport: prevent deadlock in client transport shutdown when writing the GOAWAY frame hangs. (#7662)
- mem: reuse buffers more accurately by using slice capacity instead of length (#7702)
- Special Thanks: @PapaCharlie
- status: Fix regression caused by #6919 in status.Details() causing it to return a wrapped type when getting proto messages generated with protoc-gen-go < v1. (#7724)
Dependencies
- Bump minimum supported Go version to
go1.22.7. (#7624)
v1.67.3: Release 1.67.3
Dependencies
- Remove the experimental
stats/opentelemetrymodule and instead add the experimental packages it contains directly into the maingoogle.golang.org/grpcmodule (#7935)
v1.67.2: Release 1.67.2
Bug Fixes
- credentials/alts: avoid SRV and TXT lookups for handshaker service to work around hangs caused by buggy versions of systemd-resolved. (#7861)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: go.sum
Command failed: go get -t ./...
go: module google.golang.org/[email protected] requires go >= 1.24.0; switching to go1.24.10
go: downloading go1.24.10 (linux/amd64)
go: download go1.24.10: golang.org/[email protected]: verifying module: checksum database disabled by GOSUMDB=off