This PR contains the following updates:
Release Notes
grpc/grpc-java
Compare Source
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) - netty: fixed the bug that users using proxy may experience hang when starting channel (#6159)
- alts: fixed potential memory leak when alts negotiation is aborted (#6186)
- alts: fixed wrong
ComputeEngineChannelBuilder class signature (#6367) - bom: now specifying pom type for
protoc-gen-grpc-java (#6247) - netty: Check for
TE: trailers header after checkingContent-Type. This prevents confusing warnings when a non-grpc client contacts a grpc server - bazel: Fixed typo in
repositories.bzl formaven_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). OkHttp users using plaintext may experience errors when communicating with dotnet gRPC server is fixed.
API Changes
- api:
MethodDescriptor’ssafe andidempotent methods are now considered stable and set appropriately by the generated code when the proto contains the RPC optionoption idempotency_level = NO_SIDE_EFFECTS; oroption 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). Previously it returnednull - bazel: Removed deps from
grpc_java_repositories() thatprotobuf_deps() provides ManageChannelBuilder.usePlaintext() (with no argument) is now stabilized.
New Features
- okhttp: add full implementation of HPACK header compression (#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). Note that NameResolversmust receive the authority names from a trusted source (e.g., local file, remote server with TLS) - core: Propagate
EquivalentAddressGroup Attributes inRoundRobinLoadBalancer. This allowsNameResolvers to set attributes likeATTR_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 toNameResolvers viaArgs.getOffloadExecutor() - grpclb: Add dns NameResolver to
io.grpc.grpclb that has SRV record lookup enabled by default (#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; seegRFC A26
Acknowledgements
Compare Source
Dependencies
- Bumped
perfmark to 0.19.0 - Bumped
error_prone_annotations to 2.3.3
Bug Fixes
- alts: fixed wrong
ComputeEngineChannelBuilder class signature (#6381)
New Features
- grpclb: Add dns NameResolver to
io.grpc.grpclb that has SRV record lookup enabled by default (#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; seegRFC A26
Renovate configuration
📅Schedule: At any time (no schedule defined).
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻️Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
🔕Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated byRenovate Bot. View repository job loghere.
Uh oh!
There was an error while loading.Please reload this page.
This PR contains the following updates:
1.24.1->1.25.0Release Notes
grpc/grpc-java
v1.25.0Compare Source
Dependencies
nettyto 4.1.42error_prone_annotationsto 2.3.3perfmarkto 0.19.0guavato 28.1gsonto 2.8.5protobufto 3.10.0truthto 1.0Bug Fixes
ClientCall.Listener.onClosenever called when the call is interrupted” (#6255)ComputeEngineChannelBuilderclass signature (#6367)protoc-gen-grpc-java(#6247)TE: trailersheader after checkingContent-Type. This prevents confusing warnings when a non-grpc client contacts a grpc serverrepositories.bzlformaven_install override_targets;io.grpc:grpc-corewas pointing to a non-existent target nameAPI Changes
MethodDescriptor’ssafeandidempotentmethods are now considered stable and set appropriately by the generated code when the proto contains the RPC optionoption idempotency_level = NO_SIDE_EFFECTS;oroption idempotency_level = IDEMPOTENT;. grpc-java is not using these values directly, but interceptors are free to observe themStatusProto.fromStatusAndTrailersfall-back to status if trailers are not available (#6278). Previously it returnednullgrpc_java_repositories()thatprotobuf_deps()providesManageChannelBuilder.usePlaintext()(with no argument) is now stabilized.New Features
--incompatible_load_cc_rules_from_bzland--incompatible_load_proto_rules_from_bzlEquivalentAddressGroup.ATTR_AUTHORITY_OVERRIDEwhich allows NameResolvers to specify different names for different backends within one Channel which may be especially useful for certain TLS deployments (#6126). Note that NameResolversmust receive the authority names from a trusted source (e.g., local file, remote server with TLS)EquivalentAddressGroupAttributes inRoundRobinLoadBalancer. This allowsNameResolvers to set attributes likeATTR_AUTHORITY_OVERRIDEwith round robinManagedChannelBuilder.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 toNameResolvers viaArgs.getOffloadExecutor()io.grpc.grpclbthat has SRV record lookup enabled by default (#6298). This allows using grpclb without the-Dio.grpc.internal.DnsNameResolverProvider.enable_grpclb=truesystem 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; seegRFC A26Acknowledgements
v1.24.2Compare Source
Dependencies
perfmarkto 0.19.0error_prone_annotationsto 2.3.3Bug Fixes
ComputeEngineChannelBuilderclass signature (#6381)New Features
io.grpc.grpclbthat has SRV record lookup enabled by default (#6298). This allows using grpclb without the-Dio.grpc.internal.DnsNameResolverProvider.enable_grpclb=truesystem 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; seegRFC A26Renovate configuration
📅Schedule: At any time (no schedule defined).
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻️Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "
rebase!".🔕Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated byRenovate Bot. View repository job loghere.