Sourced from google.golang.org/grpc's releases.
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.- 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)
b9788ef
Change version to 1.75.0 (#8493)2bd74b2
credentials: fix behavior of grpc.WithAuthority and credential handshake
prec...9fa3267
xds: remove xds client fallback environment variable (#8482)62ec29f
grpc: Fix cardinality violations in non-client streaming RPCs. (#8385)85240a5
stats: change non-standard units to annotations (#8481)ac13172
update deps (#8478)0a895bc
examples/opentelemetry: use experimental metrics in example (#8441)8b61e8f
xdsclient: do not process updates from closed server channels (#8389)7238ab1
Allow empty nodeID (#8476)9186ebd
cleanup: use slices.Equal to simplify code (#8472)