Important notice
Java 6 is no longer supported. Java 7 is the oldest supported Java version. Android support is unchanged at API level 14. See the announcement. Contrary to the announcement, grpc-context is requiring Java 7. If any Java 7 requirement is causing you issue, please file a GitHub issue.
Bug fixes
GoogleCallCredentials
can now be sent via ALTS channel (#4657)- Correctly determine
--use_alts default
in the usage printout (#4538) - Fixed NPE in
ProxyDetectorImpl
(#4677)
New Features
- Added
AndroidChannelBuilder.fromBuilder()
(#4723).transportExecutor()
,sslSocketFactory()
, andscheduledExecutorService()
are now deprecated in favor of calling the same methods onOkHttpChannelBuilder
before passing it toAndroidChannelBuilder.fromBuilder()
. WhileAndroidChannelBuilder
still depends onOkHttpChannelBuilder
, it no longer has to duplicate the API. - Implemented flush coalescing in OkHttp (#4763). This can reduce the number of packets sent when multiple RPCs are using the same channel
- Added
GoogleDefaultChannelBuilder
that sets up a secure channel using ALTS if on a properly configured Google Compute Engine instance and using TLS as fallback (#4742). In this release it adds little value unless you enable-Dio.grpc.internal.DnsNameResolverProvider.enable_grpclb=true
and have a GCE environment with ALTS enabled. In the future it will become the expected way to create a connection to googleapis.com.
API Stabilization
StatusException
andStatusRuntimeException
’s constructors with trailers are now stabilized (#4686).StatusException
andStatusRuntimeException
’sgetTrailers()
are now stabilized (#4697)
Behavior changes
- Channel tracing:
- Round-robin load balancer now randomizes the starting index for each new list (#4462)
InProcessSocketAddress
now forbids null names and has better-defined equality. (#4728)- The protoc plugin now generates Java code with
@Deprecated
ifoption deprecated = true
is set from the proto file (#4741)
Acknowledgements
Thanks to all our external contributors: