New Features
- googleapis: Allow user set c2p bootstrap config (#9856)
- xds: Add contain and stringMatcher in
RouteConfiguration
(#9845) - core: Add
grpc-previous-rpc-attempts
to the initial response metadata (#9686) - servlet: Implement gRPC server as a Servlet (#8596)
- authz: Implement static authorization server interceptor (#8934)
Examples
- servlet: Add servlet example (#8596)
Bug Fixes
- xds: Update xds error handling logic. Specifically:
- core: Delay retriable stream master listener close until all sub streams are closed. This fixes the call executor lifecycle and prevents potential
RejectedExecutionException
. (#9754) - core: Free unused
MessageProducer
inRetriableStream
(#9853), fixing a Netty buffer memory leak for cancelled RPCs - api: Fail with
NullPointerException
when a Metadata.Marshaller returns null bytes (#9781). This would previously cause aNullPointerException
later during the RPC. Now the return value of the Marshaller is checked immediately, to help find the broken Marshaller
Behavior Changes
- xds: Disallow duplicate addresses in the RingHashLB. (#9776)
- xds: EDS weight sums are allowed up to max unsigned int (was max signed int) (#9765)
- xds: Drop xds v2 support (#9760)
Dependencies
- JUnit upgraded to 4.13.2
- bazel: Dropped support for Bazel 4. We track the two most recent major versions of Bazel, Bazel 5 and 6. Bazel 4 may still work, but we are no longer testing it
- bazel: Include Tomcat annotations dependency for
@Generated
as used by autovalue (#9762). Necessary for building xds and rls on Java 9+ - bazel: Export deps from Maven Central-specific stand-in targets (#9780). Some Maven Central artifacts are a combination of multiple Bazel targets, like grpc-core is composed of //core:inprocess, //core:internal, //core:util, //api. There is a “//core:core_maven” target used by maven_install that uses the other targets. Previously the target used
runtime_deps
to discourage their use by Bazel users, but that could cause compilation failures from lack of hjars. These targets now useexports
Acknowledgement
@cpovirk
@niloc132
@stephenh
@olderwei
@pandaapo
@Panxuefeng