github grpc/grpc-go v1.71.0
Release 1.71.0

one day ago

API Changes

  • balancer: Custom LB policies that record metrics must use the new MetricsRecorder method on Balancer.ClientConn instead of the removed Balancer.BuildOptions.MetricsRecorder field to obtain a metrics recorder. (#8027)
  • balancer: balancer.ClientConn implementations 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 DisableAutoReconnect option will not attempt to call ExitIdle automatically on their children when the children report idle. (#8052)

Bug Fixes

  • client: Fix support for proxies when using grpc.NewClient so the target is resolved by the proxy as expected. (#7881)
    • Added WithLocalDNSResolution() dial option to explicitly force target resolution on the client instead. (#7881)
  • weightedtarget: Return erroring picker when no targets are configured. (#8070)
  • xds: Fail RPCs with UNAVAILABLE when 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 maxReceiveMessageSize is MaxInt (#7918)

Documentation

  • client: Improve documentation of grpc.NewClient and ClientConn.CanonicalTarget by providing examples. (#8078)
  • examples/features/dualstack: New example demonstrating usage of endpoints and dualstack functionality. (#8098)

Don't miss a new grpc-go release

NewReleases is sending notifications on new releases.