API Changes
- api: Removed deprecated method
ChannelBuilder.blockingExecutor()
(#7242). There should not be any users as it was deprecated the first release it was available and was renamed offloadExecutor()
.
- grpclb: Make ATTR_LB_ADDRS public (#7230). This is necessary to configure grpclb from a custom NameResolver
New Features
- xds: perform header matching on concatenated multi-valued headers (#7215)
- xds: add header matching special cases for hiding/exposing some gRPC headers (#7224). The only gRPC header available for header matching is “content-type”.
- xds: support load reporting all clusters option and fix actual report interval measurement (#7209). If the LRS response enables send_all_clusters, the client side will report loads for all clusters it is currently using.
Bug Fixes
- core, alts, cronet: Fix ByteBuffer covariant method usages (#7349). When built with Java 9+, internal usages of ByteBuffer APIs may cause runtime breakage for dependent applications running with Java 8. This is fixed now.
- core: Fixed a bug that RPC may hang when hedging is enabled with a throttling configuration (#7337)
- netty: The environment variable
GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
will now disable the BDP monitoring introduced in v1.30.0. This is intended to help diagnose a “too_many_pings” compatibility issue and will be removed once it is resolved. If you need to use the variable, please file an issue
- benchmarks: Use correct classpath for scripts (the ones in the bin/ folder of the tar/zip), fixing NoClassDefFoundErrors. The classpath was probably broken starting in v1.30.
- xds: routing policy should immediately update a picker that selects base on updated config (#7233)
Dependencies
- netty: Upgrade to Netty 4.1.51 and tcnative 2.0.31
- android, cronet: Drop support for android SDK versions older than 16 (#7253). The minimum supported Android SDK version is 16.
Acknowledgements
@susinmotion
@trustin
@wanyingd1996