Features
- core: record RPC upstarts to Census. Combined with the number of RPC completions, users can derive count of active RPCs. (#3708)
- core,okhttp: handle unresolved proxy addresses (#3789)
- core: user-agent is now supported in InProcess (#3853)
- netty: server sockets now configurable (#3755)
- netty: grpc-netty-shaded is now available as an alternative to grpc-netty. It shades grpc-netty and netty, so that users can safely depend on a different version of netty. It is safe to have both grpc-netty and grpc-netty-shaded as dependencies (#2485)
- cronet: allow multiple annotation objects attached to stream (#3695)
- compiler: the code-generator is now buildable on aarch64 (#3785)
- core/grpclb: resolve TXT records in DNS name resolver and include balancer addresses. This is part of larger work that’s still in progress, so is disabled by default. It can be enabled via
-Dio.grpc.internal.DnsNameResolverProvider.enable_jndi=true
(#3852)
API changes
Stabilized
New
- Add
useTransportSecurity()
inManagedChannelBuilder
. This can be used to reverse the effects ofusePlaintext()
(#3561)
Deleted
noopMethodDescriptor
,NoopClientCall
,NoopServerCall
, various APIs fromTestUtils
. These were previously marked deprecated (#3790)DeadlineSubject
removed from the testing package to avoid requiring newer Guava versions brought in by the Truth dependency. We anticipate few users will be impacted; if this impacts you please open an issue (#3786)
Behavior changes
- auth: Treat
IOExceptions
asUNAVAILABLE
. Previously they wereUNAUTHENTICATED
. This only applies when retrieving credentials, like OAuth tokens (#3757) - core: Increase server handshake timeout to 120s (#3799)
- grpclb: switch to fallback mode if all connections are lost (#3744)
Performance improvements
- auth: Use async version of
getRequestMetadata()
and avoid usingDelayedStream
and a thread hop when the credentials are known immediately. (#3758)
Dependencies
- Switch from
com.google.instrumentation
toio.opencensus
0.10.0
for stats reporting. (#3647) proto-google-common-protos
upgraded to1.0.0
(#3765)- netty: netty upgraded to
4.1.17-Final
(#3770). Users will need to upgrade to netty-tcnative2.0.7.Final
. - okhttp: okio upgraded to
1.13.0
(#3806) - Protobuf upgraded to
3.5.1
(protoc to3.5.1-1
) (#3921)
Bug fixes
- core: no ProxyDetector for GAE+JDK7 (#3677, fixes #3676)
- netty: fix server keepalive unexpected ping ack (#3730, fixes #3684)
- netty: fix unknown content type handling on server (#3735, fixes #3370)
- core: workaround for
Atomic*FieldUpdater
bug on some Samsung Android 5.0.x devices (#3754) - core: fixed Attributes value equality (#3859, fixes #3857)