gRPC Java 1.25.0 is released and available on Maven Central and JCenter.

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

Dependencies
   
   - Bumped netty to 4.1.42
   - Bumped error_prone_annotations to 2.3.3
   - Bumped perfmark to 0.19.0
   - Bumped guava to 28.1
   - Bumped gson to 2.8.5
   - Bumped protobuf to 3.10.0
   - Tests bumped truth to 1.0

Bug Fixes
   
   - Rolled forward the fix for “ClientCall.Listener.onClose never called 
   when the call is interrupted” (#6255 
   <https://github.com/grpc/grpc-java/pull/6255>)
   - netty: fixed the bug that users using proxy may experience hang when 
   starting channel (#6159 <https://github.com/grpc/grpc-java/pull/6159>)
   - alts: fixed potential memory leak when alts negotiation is aborted (
   #6186 <https://github.com/grpc/grpc-java/pull/6186>)
   - alts: fixed wrong ComputeEngineChannelBuilder class signature (#6367 
   <https://github.com/grpc/grpc-java/issues/6367>)
   - bom: now specifying pom type for protoc-gen-grpc-java (#6247 
   <https://github.com/grpc/grpc-java/pull/6247>)
   - netty: Check for TE: trailers header after checking Content-Type. This 
   prevents confusing warnings when a non-grpc client contacts a grpc server
   - bazel: Fixed typo in repositories.bzl for maven_install 
   override_targets; io.grpc:grpc-core was pointing to a non-existent target 
   name
   - okhttp: fixed header scheme that did not match transport type (#6264 
   <https://github.com/grpc/grpc-java/pull/6264>). OkHttp users using 
   plaintext may experience errors when communicating with dotnet gRPC server 
   is fixed.

API Changes
   
   - api: MethodDescriptor’s safe and idempotent methods are now considered 
   stable and set appropriately by the generated code when the proto contains 
   the RPC option option idempotency_level = NO_SIDE_EFFECTS; or option 
   idempotency_level = IDEMPOTENT;. grpc-java is not using these values 
   directly, but interceptors are free to observe them
   - protobuf: StatusProto.fromStatusAndTrailers fall-back to status if 
   trailers are not available (#6278 
   <https://github.com/grpc/grpc-java/pull/6278>). Previously it 
   returned null
   - bazel: Removed deps 
   from grpc_java_repositories() that protobuf_deps() provides
   - ManageChannelBuilder.usePlaintext() (with no argument) is now 
   stabilized.

New Features
   
   - okhttp: add full implementation of HPACK header compression (#6026 
   <https://github.com/grpc/grpc-java/pull/6026>). Patched HTTP header 
   compression implementation for writer from OkHttp3, which was missing in 
   OkHttp2.
   - bazel: added support 
   for --incompatible_load_cc_rules_from_bzl and 
--incompatible_load_proto_rules_from_bzl
   - netty: Implicitly use Conscrypt when it is available and is necessary. 
   If tcnative is not available and the JVM is Java 7 or 8, then grpc will use 
   Conscrypt if present. This allows using Conscrypt by just adding Conscrypt 
   to the classpath
   - alts: Use Conscrypt when available. This provides Java 7 support and 
   gives a huge performance boost on Java 8. Java 7 update 121 and Java 8 
   update 111 (released three years ago) are required.
   - api: Add EquivalentAddressGroup.ATTR_AUTHORITY_OVERRIDE which allows 
   NameResolvers to specify different names for different backends within one 
   Channel which may be especially useful for certain TLS deployments (#6126 
   <https://github.com/grpc/grpc-java/pull/6126>). Note that NameResolvers 
   *must* receive the authority names from a trusted source (e.g., local 
   file, remote server with TLS)
   - core: Propagate EquivalentAddressGroup Attributes 
   in RoundRobinLoadBalancer. This allows NameResolvers to set attributes 
   like ATTR_AUTHORITY_OVERRIDE with round robin
   - api: Added ManagedChannelBuilder.offloadExecutor() for expensive or 
   blocking operations like DNS resolution. Previously an internal executor 
   was used that couldn’t be overridden. The executor is also passed 
   to NameResolvers via Args.getOffloadExecutor()
   - grpclb: Add dns NameResolver to io.grpc.grpclb that has SRV record 
   lookup enabled by default (#6298 
   <https://github.com/grpc/grpc-java/pull/6298>). This allows using grpclb 
   without 
   the -Dio.grpc.internal.DnsNameResolverProvider.enable_grpclb=true system 
   property. Note that grpclb is still experimental and deprecated. In 
   particular, we plan to change grpclb policy selection which together with 
   this change provides a path forward for grpclb to function without custom 
   support in grpc-core; see gRFC A26 
   <https://github.com/grpc/proposal/pull/164>

Acknowledgements
   
   - Anar Sultanov (@AnarSultanov <https://github.com/AnarSultanov>)
   - Elliotte Rusty Harold (@elharo <https://github.com/elharo>)
   - Grant Oakley (@groakley <https://github.com/groakley>)
   - Przemek Piotrowski (@ppiotrow <https://github.com/ppiotrow>)
   - Steve Rao (@steverao <https://github.com/steverao>)
   - edr (@enguerrand <https://github.com/enguerrand>)

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/65d70e7c-5357-4dbc-91a0-fb228f1fccfc%40googlegroups.com.

Reply via email to