github grpc/grpc-java v1.15.0

latest releases: v1.63.0, v1.62.2, v1.62.1...
5 years ago

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(), and scheduledExecutorService() are now deprecated in favor of calling the same methods on OkHttpChannelBuilder before passing it to AndroidChannelBuilder.fromBuilder(). While AndroidChannelBuilder still depends on OkHttpChannelBuilder, 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 and StatusRuntimeException’s constructors with trailers are now stabilized (#4686).
  • StatusException and StatusRuntimeException’s getTrailers() are now stabilized (#4697)

Behavior changes

  • Channel tracing:
    • Only logs when number of backends changed between zero and nonzero (#4666)
    • Now logs service config changes (#4675)
  • 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 if option deprecated = true is set from the proto file (#4741)

Acknowledgements

Thanks to all our external contributors:

Don't miss a new grpc-java release

NewReleases is sending notifications on new releases.