github grpc/grpc-java v1.14.0

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

Notice: This is expected to be the last version supporting Java 6. Comment on #3961 if this causes you trouble. Android API level 14 support will be unchanged.

Dependencies

  • Updated to Netty 4.1.27 and Netty TCNative 2.0.12

  • gRPC is now regularly tested with JDK 9 and 10

  • Warning, a bug was discovered after this release where using Netty Epoll would increase memory usage. Please avoid this release of gRPC if you know you use Netty Epoll

API Changes

  • OkHttpChannelBuilder#negotiationType is now deprecated
  • Made protobuf, protobuf-lite, and protobuf-nano classes final.

New Features

  • Channel Tracing now record State Changes
  • Stubs now have an RpcMethod annotation for use with annotation processors
  • Added support for providing List<EquivalentAddressGroup> to LoadBalancer Subchannels, in addition to the option of providing a EquivalentAddressGroup (EAG). This prevents the need for LoadBalancers to "flatten" a List<EquivalentAddressGroup> into a single EquivalentAddressGroup which loses/confuses the EAG's Attributes. NameResolvers can now specify Attributes in an EAG and expect that the values are passed to gRPC's core. Future work will add List<EAG> for OobChannels.
  • InProcessSocketAddress now has a useful toString() method
  • AndroidChannelBuilder is now easier to build
  • RoundRobinLoadBalancer now scales better when using stickiness

Behavior Changes

  • gRPCLB no longer depends on having a Service Config

Bug Fixes

  • Fix regression that broke Java 9 ALPN support. This fixes the error "SunJSSE selected, but Jetty NPN/ALPN unavailable" (#4620)
  • Fixed a bug with gRPC LB parsing SRV DNS records ( 6dbe392 )
  • enterIdle() will exit idle mode if channel is still in use (#4665)
  • TransmitStatusRuntimeExceptionInterceptor now avoids accidentally double closing the call.

Documentation

  • Clarified StreamObserver interaction with thread safety

Thanks to all our Contributors:

Don't miss a new grpc-java release

NewReleases is sending notifications on new releases.