I am pleased to announce availability of gRPC Java 1.1.1, the next minor 
release of gRPC. This includes several months of changes made since 1.0.3. 
There are many bug fixes, API improvements, and performance changes in this 
release.
Major Changes
   
   - Preview of New Load Balancer API The previous API for implementing a 
   new load balancer had several structural issues (#1600 
   <https://github.com/grpc/grpc-java/issues/1600> #2209 
   <https://github.com/grpc/grpc-java/issues/2209> #2301 
   <https://github.com/grpc/grpc-java/issues/2301> #2302 
   <https://github.com/grpc/grpc-java/issues/2302>) that made it difficult 
   to assign load intelligently to backends. The V2 API 
   
<https://github.com/grpc/grpc-java/blob/v1.1.1/core/src/main/java/io/grpc/LoadBalancer2.java>
 is 
   available for trial use in this release. The classes are suffixed with a 
   "2". They will be renamed in the next release of gRPC, and the the current 
   implementations will be removed. Note that these APIs are still considered 
   experimental and not guaranteed to be stable yet. See the notice 
   <https://groups.google.com/d/msg/grpc-io/Rzr2mQIgHVc/UMkPunYKAAAJ>.
   - Server Reflection It is now possible to enable server side reflection 
   when using Protobuf generated stubs. This allows remote clients to inquire 
   as to which supported services and methods the server can process. It is 
   currently opt in, by adding ProtoReflectionService 
   
<https://github.com/grpc/grpc-java/blob/v1.1.1/services/src/main/java/io/grpc/protobuf/service/ProtoReflectionService.java>
 to 
   an existing server.
   - New Context Artifact Context 
   
<https://github.com/grpc/grpc-java/blob/v1.1.1/context/src/main/java/io/grpc/Context.java>,
 
   the means by which deadlines and cancellation are propagated across API 
   boundaries is now in its own package in grpc-context. It can (and will) 
   be used for implementing cross RPC state, such as for stats and tracing.
   - Wait For Ready Also known as "fail fast", wait for ready 
   
<https://github.com/grpc/grpc-java/blob/v1.1.1/stub/src/main/java/io/grpc/stub/AbstractStub.java#L172>
 has 
   been implemented as an option in gRPC stubs. This can be used to indicate 
   that an RPC should fail immediately if there are no healthy servers 
   available.
   - Proxy Support It is now possible to use basic HTTP CONNECT style proxy 
   support (23f5a6f 
   
<https://github.com/grpc/grpc-java/commit/23f5a6ff2a8bf11b3104834c33a1155bb6145d53>
   )

Minor Changes
   
   - Many classes have been made final. These classes were previously 
   uninstantiable due to having private constructors, but were possible to use 
   with a mocking framework (such as Mockito). These classes have been made 
   final, and special testing utility classes 
   
<https://github.com/grpc/grpc-java/tree/v1.1.1/testing/src/main/java/io/grpc/testing>
 have 
   been provided for use instead.
   - The generated stub classes have several new methods for indicating max 
   message size.
   - Stub classes also lazily load classes whenever possible. If a stub is 
   generated from a very large proto file, or has many dependencies, this 
   avoids loading them all when possible.
   - Many more examples have been added and clarified. See the examples/
    directory.
   - Multiple performance optimizations. gRPC is now more memory efficient, 
   less lock contentious, and less CPU overhead. ( 24de243 
   
<https://github.com/grpc/grpc-java/commit/24de2431c72c0d7e03fed38d1e308a218e144b7b>
   , 35c3f81 
   
<https://github.com/grpc/grpc-java/commit/35c3f8171bdc7f9d3c0c865f1627a63602c8f879>
   , ca5a402 
   
<https://github.com/grpc/grpc-java/commit/ca5a402fe663ec0178c007dfcc3b9f506eac6a3a>
   , f78644d 
   
<https://github.com/grpc/grpc-java/commit/f78644d7620771536428b3bc4c6471a8cba66ca1>
   , 6d28a93 
   
<https://github.com/grpc/grpc-java/commit/6d28a93e210c0a201e5dea6d45bdbfd3678bc0c2>
   , ea3f506 
   
<https://github.com/grpc/grpc-java/commit/ea3f5062491eef8ce6f1dc81b831f97eba43ee6b>
   , 8c18a0d 
   
<https://github.com/grpc/grpc-java/commit/8c18a0d35589f21678f614361a9ec1ba82794e13>
   ,8b745d9 
   
<https://github.com/grpc/grpc-java/commit/8b745d9114fe11b0b9c65b67006a8ad0b7a11325>
   , 6907d81 
   
<https://github.com/grpc/grpc-java/commit/6907d8110985a40269eef72681b7f43f1534773a>
   , 1623063 
   
<https://github.com/grpc/grpc-java/commit/16230631436a72d15a02e887303e97c826efdbee>
   , 141eed5 
   
<https://github.com/grpc/grpc-java/commit/141eed5ed07f3cf969948c5b25a6de01b2bdb3de>
   , ef4e0f4 
   
<https://github.com/grpc/grpc-java/commit/ef4e0f4522a0da7c7c232cf6aeb344c86ffc7c76>
   , 8702185 
   
<https://github.com/grpc/grpc-java/commit/8702185e8c9d3be607f45f406e2f12843feab956>
   , 496a621 
   
<https://github.com/grpc/grpc-java/commit/496a621da7c57a252286f041e9b41e59b722ae9b>
   , cb1ba5b 
   
<https://github.com/grpc/grpc-java/commit/cb1ba5bf39cdedc6064f2793af31609d74284355>
   )
   - Guava collection classes are removed from the library, making it 
   easier for Android users to lower their method count and binary size.
   - Dependencies are upgraded to Guava 20, Netty 4.1.8, and Protobuf 3.1.0
   - Status error messages have been made more clear, and should be easier 
   to diagnose.
   - Numerous small bug fixes
   - Numerous small API changes.

Note that all classes marked @ExperimentalApi and @Internal aren't 
guaranteed to be API stable, and may be changed without notice. Classes and 
methods marked @Deprecated should be avoided and may be removed in a later 
release. Of note is ClientAuthInterceptor, which should be avoided in favor 
of MoreCallCredentials.

-- 
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/1588b63c-2cae-43d7-9da9-35deb9a9da6b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to