Skip to content

v1.53.0

Compare
Choose a tag to compare
@YifeiZhuang YifeiZhuang released this 10 Feb 19:54
· 632 commits to master since this release

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:
    • When the ads stream is closed only send errors to subscribers that haven't yet gotten results
    • Timers to detect missing resources don’t start until the adsStream is ready (#9745)
    • Call subscriber onError callback when xds client fails to connect to server (#9827)
  • 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 in RetriableStream (#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 a NullPointerException 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 use exports

Acknowledgement

@cpovirk
@niloc132
@stephenh
@olderwei
@pandaapo
@Panxuefeng