gRPC v1.31.0 Release Notes

Release Date: 2020-07-30 // over 3 years ago
  • 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