gRPC v1.31.1 Release Notes

Release Date: 2020-08-12 // 3 days ago
  • πŸ› Bug Fixes:

    • 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
    • πŸ— examples: some gRPC artifacts are missing in JCenter causing Android examples to sometimes fail to build. Now we are adding mavenCentral as fallback for the Android examples. See #5782
    • πŸ“¦ xds: meshCA protocol buffers added in v1.31.0 are now properly shaded in an internal package
    • πŸ›  xds: fixed some internal breakage for traffic splitting

Previous changes from v1.31.0

  • API Changes

    • 🚚 api: ManagedChannelBuilder.nameResolverFactory is now marked deprecated. It has long been our plan to remove the function, but was not communicated. Most usages should be able to globally register via the SPI mechanism or NameResolverRegistry.register(). There is a plan to add a method to ManagedChannelBuilder to specify the default target scheme for the channel. If your use-case is not covered, please inform us on #7133

    πŸ†• New Features

    • πŸš€ The following new xDS functionality is added in this release:
      • Requests matching based on path (prefix, full path and safe regex) and headers.
      • Requests routing to multiple clusters based on weights.
      • The xDS features supported in a given release are documented here.
    • πŸ”§ api: Added LoadBalancer.Helper.createResolvingOobChannelBuilder(). It is similar to LoadBalancer.Helper.createResolvingOobChannel() except allows configuring the channel (#7136)

    πŸ› Bug Fixes

    • netty: return status code unavailable when netty channel has unresolved InetSocketAddress (#7023)
    • core: fix a bug that a call may hang when using manual flow control and gRPC retry is enabled (#6817)

    πŸ“š Documentation

    • stub: Documented more behavior of ClientCalls and ServerCalls, with regard to ClientResponseObserver, ClientCallStreamObserver, ServerCallStreamObserver, and exceptions
    • πŸ“š api: Documented how Providers may be used in their respective class documentation. Previously you β€œjust had to know” the SPI mechanism was available

    Dependencies

    • ⚑️ Update guava to 29.0 (#7079)

    Examples

    • examples: Add client/server retrying example via service config #7111

    Acknowledgements

    @alexanderscott
    @AnarSultanov
    @cindyxue
    @d-reidenbach
    @elharo
    @gsharma
    @reggiemcdonald