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.
