Releases: grpc/grpc-java
Releases · grpc/grpc-java
v1.44.2
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_FAILUREstatus. (#9085)
Behavior Changes
- xds: change
ring_hashLB aggregation rule to better handle transient_failure channel status (#9084)
Dependencies
- Bump protobuf to 3.19.6
v1.43.3
v1.42.3
v1.41.3
v1.36.3
v1.48.2
Bug Fixes
- xds: Fix a bug in ring-hash load balancing policy that, during TRANSIENT_FAILURE state, it might cause unnecessary internal connection requests on subchannels. (#9537)
- auth: Fix AppEngine failing while retrieving access token when instantiating a blocking stub using AppEngineCredentials (#9524)
- xds: channel_id hash policy now uses a random per-channel id instead of an incrementing one. The incrementing id was the same for every process of a binary, which was not the intention (#9453)
- bazel: Use valid target name for services and xds when overriding Maven targets (#9422). This fixes an error of the form no such target '@io_grpc_grpc_java//services:services' for services and missing ORCA classes for xds. The wrong target names were introduced in 1.47.0
Dependencies
- Bump protobuf to 3.21.7
v1.49.2
v1.49.1
Bug Fixes
- xds: Fix a bug in ring-hash load balancing policy that, during
TRANSIENT_FAILUREstate, it might cause unnecessary internal connection requests onsubchannels. (#9537) - auth: Fix AppEngine failing while retrieving access token when instantiating a blocking stub using AppEngineCredentials (#9524)
Behavior Changes
v1.49.0
New Features
- okhttp: Add
OkHttpServerBuilder. The server can be used directly, but is not yet available viaServerBuilder.forPort()andGrpc.newServerBuilderForPort(). It passes our tests, but has seen no real-world use. It is also lacking connection management features - okhttp: Add support for byte-based private keys via TlsChannelCredentials and TlsServerCredentials
- core: New outlier detection load balancer
- googleapis: google-c2p resolver is now stabilized
Bug Fixes
- core: Fix retry causing memory leak for canceled RPCs. (#9360)
- core: Use SyncContext for InProcess transport callbacks to avoid deadlocks. This fixes the long-standing issue #3084 which prevented using directExecutor() in some tests using streaming RPCs
- core: Disable retries with in-process transport by default (#9361). In-process does not compute message sizes so can retain excessive amounts of memory
- bazel: Use valid target name for services and xds when overriding Maven targets (#9422). This fixes an error of the form
no such target '@io_grpc_grpc_java//services:services'for services and missing ORCA classes for xds. The wrong target names were introduced in 1.47.0 - xds: channel_id hash policy now uses a random per-channel id instead of an incrementing one. The incrementing id was the same for every process of a binary, which was not the intention (#9453)
- core: Fix a bug that the server stream should not deliver halfClose() when the call is immediately canceled. The bug causes a bad message INTERNAL, desc: Half-closed without a request at server call. (#9362)
- xds: Remove shaded orca proto dependency in ORCA api. The shading was broken and couldn't really be used. (#9366)
Behavior Changes
- gcp-observability: Interceptors are now injected in more situations, including for non-Netty transports and when using transport-specific APIs like NettyChannelBuilder. (#9309 #9312 #9424)
- gcp-observability: custom tags now extended to metrics and traces (#9402 #9407)
- gcp-observability: excludes RPCs into Google Cloud Ops backend for instrumentation (#9436)
- xds: xdsNameResolver now matches channel overrideAuthority in virtualHost matching (#9405)
Acknowledgement
@benjaminp
@j-min5u
v1.48.1
New Features
ORCA provides APIs to inject custom metrics at a gRPC server, and consume them at a gRPC client. It implements A51: Custom Backend Metrics Support. We changed the ORCA APIs; they had broken shading and couldn't really be used, so we fixed them in the patch release.
Bug Fixes
- core: Fix a bug that the server stream should not deliver halfClose() when the call is immediately canceled. The bug causes a bad message
INTERNAL, desc: Half-closed without a requestat server call. (#9362) - core: Fix retry causing memory leak for cancelled RPCs. (#9415)
- core: Disable retry by default for in-process transport's channel.(#9368)