Skip to content

Releases: grpc/grpc-java

v1.51.0

19 Nov 00:25
Compare
Choose a tag to compare

grpc-xds starting with 1.51.0 had a regression where resources might stop receiving updates. The trigger could happen hours or days after the binary had started. xDS users should avoid this release and use 1.50.x until patch releases with the fix are available. #9809

Bug Fixes

  • grpclb: Fix a debug logging message which incorrectly logged loadbalancer addresses under backend addresses. (#9602)

New Features

  • okhttp: okhttp server now supports maxConnectionAge and maxConnectionAgeGrace configuration for improved connection management. (#9649)

Behavior Changes

  • netty: switch default cumulation strategy from MERGE to ADAPTIVE. When accumulating incoming network data, Adaptive cumulator dynamically switches between MERGE and COMPOSE strategies to minimize the amount of copying while also limiting per-buffer overhead. (#9558)

Acknowledgements

@TrevorEdwards

v1.50.2

21 Oct 05:23
Compare
Choose a tag to compare

Bug fixes

gcp-observability: Supports period(.) in the service name part of regular expression for a fully-qualified method to accept "package.service"

v1.50.1

21 Oct 05:23
Compare
Choose a tag to compare

gcp-observability: support new configuration defined in grpc-gcp-observability public preview user guide

v1.50.0

12 Oct 15:34
Compare
Choose a tag to compare

New Features

  • okhttp: Added connection management features to okhttp server, including maxConnectionIdle(), permitKeepAliveTime(), and permitKeepAliveWithoutCalls() (#9494, #9544)
  • binder: Add SecurityPolicies for checking device owner/profile owner (#9428)

API Changes

  • api: Add LoadBalancer.acceptResolvedAddresses() (#9498). The method is like handleResolvedAddresses() but returns a boolean of whether the addresses and configuration were accepted. Not accepting the update triggers the NameResolver to retry after a delay. We are not yet encouraging migration to this method, as there is still a second future API change
  • core: add CallOptions to CallCredentials.RequestInfo (#9538)

Bug Fixes

  • auth: Fix AppEngine failing while retrieving access token when instantiating a blocking stub using AppEngineCredentials (#9504)
  • core: Ensure that context cancellationCause is set (#9501)
  • core: Update outlier detection max ejection logic to allow exceeding the limit by one, to match Envoy. (#9489, #9492)
  • core: outlier detection to honor min host request volume (#9490)
  • okhttp: Add timeout for HTTP CONNECT proxy handshake (#9586)
  • xds: ringhash policy in TRANSIENT_FAILURE should not attempt connecting when already in connecting (#9535). With workloads where most requests have the same hash, ring hash should behave more like pick-first of slowly trying backends

Dependencies

  • netty: upgrade netty from 4.1.77.Final to 4.1.79.Final and tcnative from 2.0.53 to 2.0.54 (#9451)

Acknowledgements

@cpovirk
@prateek-0
@sai-sunder-s

v1.47.1

07 Oct 18:07
Compare
Choose a tag to compare

Bug Fixes

  • core: Fix retry causing memory leak for canceled RPCs. (#9416)

Behavior Changes

  • xds: Remove permanent error handling in LDS update in XdsServerWrapper. Also notify OnNotServing on StatusListener when the delegated server initial start fails. (#9276, #9279)

Dependencies

  • Bump protobuf to 3.19.6

v1.46.1

07 Oct 17:57
Compare
Choose a tag to compare

Behavior Changes

  • xds: Remove permanent error handling in LDS update in XdsServerWrapper. Also notify OnNotServing on StatusListener when the delegated server initial start fails. (#9278, #9280)
  • xds: Protect xdstp processing with federation env var. If the xds server uses xdstp:// resource names it was possible for federation code paths to be entered even without enabling the experimental federation support. This is now fixed and it is safe for xds servers to use xdstp:// resource names. (#9190)

Dependencies

  • Bump protobuf to 3.19.6

v1.45.2

07 Oct 18:55
Compare
Choose a tag to compare

Bug Fixes

  • xds: fix bugs in ring-hash load balancer picking subchannel behavior per gRFC. The bug may cause connection not failing over from TRANSIENT_FAILURE status. (#9085)
  • xds: Protect xdstp processing with federation env var. If the xds server uses xdstp:// resource names it was possible for federation code paths to be entered even without enabling the experimental federation support. This is now fixed and it is safe for xds servers to use xdstp:// resource names. (#9190)

Behavior Changes

  • xds: change ring_hash LB aggregation rule to better handle transient_failure channel status (#9084)

Dependencies

  • Bump protobuf to 3.19.6
  • bom: Exclude grpc-observability. The module does not exist in 1.45.x. Should be a noop (#9122)

v1.44.2

07 Oct 18:55
Compare
Choose a tag to compare

Bug Fixes

  • netty: Fixed incompatibility with Netty 4.1.75.Final that caused COMPRESSION_ERROR (#9004)
  • xds: Fix LBs blindly propagating control plane errors (#9012). This change forces the use of UNAVAILABLE for any xDS communication failures, which otherwise could greatly confuse an application. This is essentially a continuation of the fix in 1.45.0 for XdsNameResolver, but for other similar cases
  • xds: Fix XdsNameResolver blindly propagates control plane errors (#8953). This change forces the use of UNAVAILABLE for any xDS communication failures, which otherwise could greatly confuse an application
  • xds: fix bugs in ring-hash load balancer picking subchannel behavior per gRFC. The bug may cause connection not failing over from TRANSIENT_FAILURE status. (#9085)

Behavior Changes

  • xds: change ring_hash LB aggregation rule to better handle transient_failure channel status (#9084)

Dependencies

  • Bump protobuf to 3.19.6

v1.43.3

07 Oct 15:46
Compare
Choose a tag to compare

Bugfixes

  • android: fix for app coming to foreground #8850
  • xds: fix the validation code to accept new-style CertificateProviderPluginInstance wherever used

Dependencies

  • Bump protobuf to 3.19.6

v1.42.3

06 Oct 18:18
Compare
Choose a tag to compare

Dependencies

  • Bump protobuf to 3.19.6