v1.20.0
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)
- 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)
- 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:
- Nick Hill (@njhill) (#5504, #5506, #5492)
- Tim van der Lippe (@TimvdLippe) (#5484)
- Fabio Kung (@fabiokung) (#5443)
- Derek Perez (@perezd) (#5384)
- Brendan Linn (@Ubehebe)(#5456)
- AmiDavidW (@AmiDavidW) (#5358)
- Rodrigo Queiro (@drigz) (#5411, #5410)
- Nguyen Quang Huy (@huynq0911) (#5387, #5388)
- David Hoover (@deadmoose) (#5379)
- Dan (@danfaer) (#5373)
- Dan Torrey (@danotorrey) (#5472)