API Changes
- Remove unused experimental API ManagedChannelBuilder.enableFullStreamDecompression (#10744)
- api: Deprecate LoadBalancer.EMPTY_PICKER added in 1.58.0 in favor of FixedResultPicker (860b5cb)
New Features
- binder: Experimental support for asynchronous security policies (#10566)
Improvements
- core: reduce CompositeReadableBuffer allocation (#3279)
- core: Improve error message clarity when a channel leak is detected (201893f)
- util: use shared index across
round_robin
pickers (dca89b2). This makes its implementation more similar toweighted_round_robin
. - xds: Implement ADS stream flow control mechanism (#10674). This limits the maximum memory consumed if the control plane sends updates more rapidly than they can be processed.
Bug Fixes
- core: Check outbound maximum message size for the compressed size in addition to the already-checked uncompressed size (#10739). Fixed the status code to be RESOURCE_EXHAUSTED instead of UNKNOWN.
- util: Fix NPE when multiple addresses are in an address group for petiole load balancer policies (#10769)
- util: Disable publishing of fixtures (8ac43dd). The Gradle test fixtures are for use by grpc-java's internal tests.
- okhttp: Ignore known conscrypt socket close issue (#10812). This stops an exception from being thrown when a known Conscrypt synchronization issue happens.
Dependencies
- Drop support for Bazel 5 (55a9c01). Bazel 7 is available, and Protobuf has already dropped support for Bazel 5.
- Change many compile deps to runtime deps (d6830d7). This reduces the transitive classes "leaked" into the compile classpath. In particular, grpc-core (
io.grpc.internal
) will be less frequently included transitively at compile time. - Upgrade dependencies (c985797)
- Protobuf to 3.25.1
- auto-value-annotations to 1.10.4
- error_prone_annotations to 2.23.0
- proto-google-common-protos to 2.29.0
- google-cloud-logging to 3.15.14
- guava to 32.1.3-android
- okio to 3.4.0