v1.15.0
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
GoogleCallCredentialscan now be sent via ALTS channel (#4657)- Correctly determine
--use_alts defaultin 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 onOkHttpChannelBuilderbefore passing it toAndroidChannelBuilder.fromBuilder(). WhileAndroidChannelBuilderstill 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
GoogleDefaultChannelBuilderthat 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=trueand 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
StatusExceptionandStatusRuntimeException’s constructors with trailers are now stabilized (#4686).StatusExceptionandStatusRuntimeException’sgetTrailers()are now stabilized (#4697)
Behavior changes
- Channel tracing:
- Round-robin load balancer now randomizes the starting index for each new list (#4462)
InProcessSocketAddressnow forbids null names and has better-defined equality. (#4728)- The protoc plugin now generates Java code with
@Deprecatedifoption deprecated = trueis set from the proto file (#4741)
Acknowledgements
Thanks to all our external contributors: