gRPC Java 1.21.0 is released and available on Maven Central. Much of it is
available on JCenter, but some artifacts are still missing
<https://github.com/grpc/grpc-java/issues/5782>.

https://github.com/grpc/grpc-java/releases/tag/v1.21.0

Dependencies

   - context: Removed unnecessary deps from Bazel target. gRPC depends on
   these deps elsewhere, so it only benefits Bazel users using context by
   itself
   - core: Upgraded to OpenCensus 0.21.0 (#5657
   <https://github.com/grpc/grpc-java/pull/5657>)
   - services: Removed dependency on re2j. Re2j is no longer used by grpc

Bug Fixes

   - stub: release server-streaming reference on request after method call (
   #5638 <https://github.com/grpc/grpc-java/pull/5638>). This allows the
   request to be garbage collected much sooner for a long-lived RPC
   - netty: ALPN negotiation failure is now properly reported as
   UNAVAILABLE, not UNKNOWN
   - okhttp: Deadlock during transport start when network became
   unavailable during the start up is fixed (#5567
   <https://github.com/grpc/grpc-java/pull/5567>)

API Changes

   - api: The classes in io.grpc (not subpackages) were moved to a new
   artifact “grpc-api”, from grpc-core (#5590
   <https://github.com/grpc/grpc-java/pull/5590>). This allows using the
   API without bringing in as many dependencies, and makes it easier for
   libraries to have an optional dependency on the rest of grpc. grpc-core now
   depends on grpc-api. Many users should be able to depend on grpc-api
   instead of grpc-core if they wish. grpc-core still contains the in-process
   transport, io.grpc.util, and internal classes used elsewhere in grpc.
   Most users should still expect to have at least a transitive dependency on
   grpc-core.
   - api: Stabilized MethodDescriptor.Marshaller
   - api: Added NameResolverRegistry (#5586
   <https://github.com/grpc/grpc-java/pull/5586>). It is now possible to
   construct a NameResolverProvider and register it into the global map
   manually. This is useful to inject dependencies into the name resolver.
   - api: add a convenience getService() method on MethodDescriptor (#5633
   <https://github.com/grpc/grpc-java/pull/5633>)
   - api: added a new LoadBalancer.handleResolvedAddresses() API for
   handling resolved addresses which includes service config explicitly (
   #5499 <https://github.com/grpc/grpc-java/pull/5499>).
   LoadBalancer.handleResolvedAddressGroups() is deprecated
   - api: introduced NameResolver.Args that deprecates NameResolver.Helper.
   (#5664 <https://github.com/grpc/grpc-java/pull/5664>)
   - api: make LoadBalancer.Helper and Subchannel further non-thread-safe (
   #5718 <https://github.com/grpc/grpc-java/pull/5718>)
   - api: augment LoadBalancer.CreateSubchannelArgs with custom options (
   #5640 <https://github.com/grpc/grpc-java/pull/5640>)
   - api: deleted ManagedChannelBuilder.loadBalancerFactory() and all
   deprecated factories (#5480 <https://github.com/grpc/grpc-java/pull/5480>).
   Use LoadBalancerRegistry and
   ManagedChannelBuilder.defaultLoadBalancingPolicy() instead
   - api: changed ClientStreamTracer.StreamInfo to a final class with a
   builder (#5648 <https://github.com/grpc/grpc-java/pull/5648>)
   - core/util: create a ForwardingClientStreamTracer class for delegation
   use (#5589 <https://github.com/grpc/grpc-java/pull/5589>)
   - netty: Netty server sets default socket options for all socket-based
   transports. Not just NIO

New Features

   - stub: optimized CPU and memory usage of the internal
   ThreadlessExecutor used for blocking calls (#5516
   <https://github.com/grpc/grpc-java/pull/5516>)
   - stub: Improved error message on client and server when
   StreamObserver.onNext() is called after onCompleted() (#5656
   <https://github.com/grpc/grpc-java/pull/5656>)
   - netty: Netty channel / server will now default to using Netty’s Epoll
   transport when able, otherwise uses Nio like before. To use epoll, it
   requires to have a runtime dependency netty-transport-native-epoll and
   epoll supported OS (linux) (#5581
   <https://github.com/grpc/grpc-java/pull/5581>)
   - netty: now defers to netty for the default number of event loops, if
   unspecified (#5585 <https://github.com/grpc/grpc-java/pull/5585>). This
   should only matter when using system properties to override Netty’s defaults
   - netty: TCP_USER_TIMEOUT is now enabled and set to the keepalive
   timeout if keepalive is enabled and if using the netty epoll transport (
   #5599 <https://github.com/grpc/grpc-java/pull/5599>). This can reduce
   the failure detection delay without a network cost
   - okhttp: add verbose logging for OkHttp HTTP/2 frame content (#5488
   <https://github.com/grpc/grpc-java/pull/5488>)
   - auth: MoreCallCredentials now uses Credentials Builder instead of
   deprecated constructor to create the ServiceAccountJwtAccessCredentials
   used internally. This means JWT will continue to be used when the
   constructor is removed. Before this change the code would fall back to
   exchanging OAuth tokens if the constructor was not available
   - examples/android: add example for grpc running under StrictMode (#5527
   <https://github.com/grpc/grpc-java/pull/5527>)

Documentation

   - api: add note about retrying UNAVAILABLE for non-idempotent RPCs in
   Status documentation (#5595 <https://github.com/grpc/grpc-java/pull/5595>
   )

Acknowledgements

Thanks to all of our contributors:

   - Nick Hill @njhill <https://github.com/njhill>
   - Akim239 @Akim239 <https://github.com/Akim239>
   - Jean de Klerk @jadekler <https://github.com/jadekler>
   - Kislay Kishore @kislaykishore <https://github.com/kislaykishore>
   - NickUfer @NickUfer <https://github.com/NickUfer>
   - Solomon Duskis @sduskis <https://github.com/sduskis>
   - Vladimir Gordiychuk @Gordiychuk <https://github.com/Gordiychuk>
   - Yang Song @songy23 <https://github.com/songy23>

-- 
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 grpc-io+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oNjrgBLQFnaSgr3kbFCjH%3DqgsfsDs65yjb0PmEjUmhG%2BA%40mail.gmail.com.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to