gRPC v1.20.0 Release Notes

Release Date: 2019-04-10 // about 5 years ago
  • πŸ— Dependencies and Build Changes

    • ⬆️ Upgraded to Netty 4.1.34 and Netty TCNative 2.0.22
    • ⬆️ Upgraded to Protobuf 3.7.1
    • ⬆️ Test code upgraded to Mockito 2 (fixes #5319)
    • βœ… io.grpc:grpc-testing no longer (transitively) depends on mockito
    • πŸ‘‰ Bazel 0.23 or newer is required. This was required to support --incompatible_use_toolchain_providers_in_java_common . As of Bazel 0.24, grpc is compatible with all incompatible flags marked for migration
    • ⬆️ auth: Upgraded google-auth-library-java to 0.13.0
    • bazel: grpc_java_repositories: fix com_google_protobuf_javalite sha256. (#5456)

    πŸ› Bug Fixes

    • πŸ‘• core: suppress android lint error for javax.naming.*
    • 🚚 bom: added missing artifact (protoc-gen-grpc-java) to bom, removed grpc-compiler.
    • services/grpclb: use Stopwatch to count for LB backoff time.
    • πŸ›  core: fixed an issue that DNS JNDI does not work if there is an unavailability cause (#5500)
    • 0️⃣ netty: fixed a memory leak due to the default grace time (#5443)
    • πŸ›  core: make the newNameResolver() change backward compatible for callers (#5564, fixes #5556)
    • πŸ›  okhttp: fixed a deadlock (#5570)
    • core: corrected config key for hedging max attempts (#5373)
    • ⚑️ grpclb: keep track of state updates for cached Subchannels. (#5441)

    πŸ†• New Features

    • bazel: created bazel targets for grpc-services (#5384)
    • ALTS: added ComputeEngineChannelBuilder (#5473)
    • πŸ— okhttp: add socketFactory method to channel builder (#5378)
    • 0️⃣ grpclb: now supports "pick_first" child policy in addition to the default "round_robin" (#5438)

    Behavior Changes

    • grpclb: use fallback addresses if no balancer address is given (#5445)

    API Changes

    • πŸ—„ core: Deprecated ClientStreamTracer.Factory#newClientStreamTracer is now deleted(#5377)
    • core: NameResolver no longer needs to be thread-safe (#5364)
    • core: Added ManagedChannelBuilder.defaulServiceConfig() and disableServiceConfigLookUp()
    • πŸ—„ core: deprecated LoadBalancer.Helper#getNameResolverFactory (#5418)

    πŸ“š Documentation

    • ⚑️ COMPILING.md: updated document for codegen plugin compilation instruction.
    • πŸ”’ SECURITY.md: document that tcnative/ALPN works on Alpine. It is unclear how long Alpine has been capable of working
    • πŸ‘ examples: add an example of server-side compression support (#5358)

    Acknowledgments

    Thanks to all of our contributors: