gRPC Java 1.11.0 is now released and availalbe on Maven Central. v1.12.0 is scheduled for May 7th.
I'd like to thank these contributors to this release: Carmi Grushko, Jiangtao Li, Nicholas DiPiazza, Paul Jensen, Rama Chavali, Ryan Michela, Shohei Kamimori, Snow Pettersen Dependencies - Guava version bumped to 20. It is not possible to use older versions of Guava with this version of gRPC. If this proves difficult to handle, please file an issue - netty: Netty version bumped to 4.1.22-Final. netty-tcnative 2.0.7.Final is still compatible API changes - core: ManagedChannelBuilder.usePlaintext(boolean) is now deprecated. Use usePlaintext(void) instead, which is equivalent to usePlaintext(true) . usePlaintext(false) was almost always a bug, but is still available by specifying NegotiationType.PLAINTEXT_UPGRADE to NettyChannelBuilder - bazel: grpc-java's Bazel workspace name was renamed to io_grpc_grpc_java. This was done to make the name more unique, since Bazel is now enforcing that users use the same name as in our workspace New Features - core: Added ManagedChannel.enterIdle(). It gracefully shuts down any existing connections. This can have multiple uses, but is most immediately useful to allows smooth network interface changes on Android (#3688 <https://github.com/grpc/grpc-java/issues/3688> #4179 <https://github.com/grpc/grpc-java/pull/4179>) - core: Added toString() to MethodDescriptor and ServiceDescriptor (#4013 <https://github.com/grpc/grpc-java/pull/4013>) - inprocess: Added InProcessServerBuilder.generateName(). This is a convenience for making a name instead of manually with UUID or similar - okhttp: Support for Conscrypt security provider. This allows you to include Conscrypt with your app and not depend on the OS nor Google Play Services Dynamic Security Provider for TLS support - inprocess: Added InProcessChannelBuilder.scheduledExecutorService(exec) to override the default timer executor used by gRPC - okhttp: Added OkHttpChannelBuilder.scheduledExecutorService(exec) to override the default timer executor used by gRPC - protobuf: Added StatusProto.fromStatusAndTrailers() to convert to a com.google.rpc.Statusdirectly from a io.grpc.Status (instead of a Status*Exception) - alts: Added ALTS <https://cloud.google.com/security/encryption-in-transit/application-layer-transport-security/> transport for Google Cloud Platform usage. It is similar to mutually authenticated TLS but with different protocol and trust model. ALTS is currently only available for whitelisted projects - cronet: Added API to apply TrafficStats tag and UID to Cronet GRPC channels (#4208 <https://github.com/grpc/grpc-java/pull/4208>) Behavior changes - core: ManagedChannel will now log when orphaned without proper shutdown (#4093 <https://github.com/grpc/grpc-java/pull/4093>) - core: Use exponential backoff for name resolution. After a NameResolver calls onError(), the channel will now automatically call refresh() after a delay. This replaced the hard-coded 60-second retry timer in the DNS name resolver. (#4105 <https://github.com/grpc/grpc-java/pull/4105>) - core: Added an internal panic mode for ManagedChannel. If the channel notices an internal uncaught exception it will attempt to put the channel into a permanent TRANSIENT_FAILURE state instead of hanging (#4023 <https://github.com/grpc/grpc-java/pull/4023>) - core: Servers that send too many or too few responses for a unary call will now properly see ServerCall.Listener.onCancel() called instead of onComplete(). The client will now see a cancellation instead of an explicit status message (#3819 <https://github.com/grpc/grpc-java/issues/3819>) - grpclb: Enter fallback mode immediately when balancer and all backend connections are lost (#4007 <https://github.com/grpc/grpc-java/pull/4007> ) Bug fixes - Reduce false positive results of grpc/grpc-java-api-checker - core: Close InputStream returned by Marshallers for outgoing messages ( #3419 <https://github.com/grpc/grpc-java/pull/3419>) - core: Fixed channel.getState(true) will not reconnect (#4170 <https://github.com/grpc/grpc-java/issues/4170>) - netty: Include more details for closure of unknown reason - netty: Client sends rst stream when server half-closes. This fixes a memory leak when server closes before client half closes (#4275 <https://github.com/grpc/grpc-java/pull/4275>) - netty: Fixed ProxySelector with Netty. This should finally enable the use of forward proxies that require authentication. Users should be able to migrate from GRPC_PROXY_EXP to -Dhttps.proxyHost at this time (#4137 <https://github.com/grpc/grpc-java/pull/4137>) - okhttp: Fixed HPACK reader bug. This resolves an incompatibility with nginx (#4277 <https://github.com/grpc/grpc-java/pull/4277>) Documentation - examples: Added a "hello-world" with TLS configured -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oOiGPzKbLPie%2B27upMWhATR7-Aw6Nz%2BwC2yAqn2_3uLmA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
smime.p7s
Description: S/MIME Cryptographic Signature
