Skip to content

Releases: grpc/grpc-go

Release 1.69.2

18 Dec 18:05
b615b35
Compare
Choose a tag to compare

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.

Release 1.68.2

18 Dec 16:07
c982e40
Compare
Choose a tag to compare

Dependencies

  • Remove the experimental stats/opentelemetry module and instead add the experimental packages it contains directly into the main google.golang.org/grpc module (#7936)

Release 1.67.3

17 Dec 22:33
117cd63
Compare
Choose a tag to compare

Dependencies

  • Remove the experimental stats/opentelemetry module and instead add the experimental packages it contains directly into the main google.golang.org/grpc module (#7935)

Release 1.69.0

12 Dec 18:31
317271b
Compare
Choose a tag to compare

Known Issues

  • The recently added grpc.NewClient function 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 pickfirst LB 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 experimental pickfirst policy can be enabled by setting the environment variable GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST to true. (#7725, #7742)
  • balancer/pickfirst: Emit metrics from the pick_first load balancing policy (#7839)
  • grpc: export MethodHandler, which is the type of an already-exported field in MethodDesc (#7796)

Bug Fixes

  • credentials/google: set scope for application default credentials (#7887)
  • 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)
  • balancer/weightedroundrobin: use the pick_first LB policy to manage connections (#7826)

API Changes

  • balancer: An internal method is added to the balancer.SubConn interface 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 efficient io.Reader consumption (#7653)
  • mem: use slice capacity instead of length to determine whether to pool buffers or directly allocate them (#7702)

Documentation

  • examples/csm_observability: Add xDS Credentials and switch server to be xDS enabled (#7875)

Release 1.68.1

04 Dec 18:59
d6a777f
Compare
Choose a tag to compare

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.7 to go1.22. (#7831)

Release 1.67.2

04 Dec 19:00
b0e0bf0
Compare
Choose a tag to compare

Bug Fixes

  • credentials/alts: avoid SRV and TXT lookups for handshaker service to work around hangs caused by buggy versions of systemd-resolved. (#7861)

Release 1.68.0

07 Nov 16:30
acba4d3
Compare
Choose a tag to compare

Known Issues

  • The recently added grpc.NewClient function 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 of NewClient. 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 NewTLS that use tls.Config.GetConfigForClient will now have CipherSuites, supported TLS versions and ALPN configured automatically. These were previously only set for configs not using the GetConfigForClient option. (#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)
  • 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)

Release 1.65.1

07 Oct 15:57
4caf929
Compare
Choose a tag to compare

Bug Fixes

  • xds/server: Fix xDS Server memory leak. (#7664)

Release 1.67.1

01 Oct 05:17
3f95b38
Compare
Choose a tag to compare

Bug Fixes

  • transport: Fix a bug causing stream failures due to miscalculation of the flow control window in both clients and servers. (#7667)
  • xds/server: Fix xDS Server memory leak. (#7681)

Release 1.66.3

01 Oct 17:13
b48e355
Compare
Choose a tag to compare

Bug Fixes

  • transport: Fix a bug causing stream failures due to miscalculation of the flow control window in both clients and servers. (#7667)
  • xds/server: Fix xDS Server memory leak. (#7681)