Update grpc-java monorepo to v1.68.0 #112
Open
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.47.0
->1.68.0
1.47.0
->1.68.0
1.47.0
->1.68.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
grpc/grpc-java (io.grpc:grpc-stub)
v1.66.0
gRPC Java 1.66.0 Release Notes
API Changes
25a8b7c
)AdvancedTlsX509TrustManager
, anX509ExtendedTrustManager
that allows users to configure advanced TLS features, such as root certificate reloading and peer cert custom verification. (658cbf6
)GracefulSwitchLoadBalancer
config (ebed047
) and mark switchTo() deprecated. (85e0a01
).GracefulSwitchLoadBalancer
now receives its configuration like a regular load balancer.AllowSecurityPolicy
to allow calling code to not have to wait on async/slow implementations.BinderTransport
now submits async implementations to an executor. (#11272) (7fee6a3
)ServerBuilder
for adding a list of service implementations to the handler registry together. (#11285) (85ed053
)Improvements
5ec0187
)36e687f
). There are now examples for both non-bzlmod and bzlmod.PickFirstLeafLoadBalancer
PickFirstLeafLoadBalancer
). (#11348)062ebb4
)NettyAdaptiveCumulator
if Netty is on version 4.1.111 or later. (#11367)21dec30
)BinderServer
ownServerAuthInterceptor
's executor that helps avoid leaks. (#11293) (15ad9f5
)ProtoReflectionServiceV1
for the v1 reflection protocol. The preexistingProtoReflectionService
implements the v1alpha reflection protocol. (#11237) (0aa976c
)Bug Fixes
14fd81f
)AdvancedTlsX509TrustManager
validation on servers when using SSLSocket. Previously it would try to use a null SSLEngine . (dcb1c01
)Dependencies
71eb5fb
). This adds a runtime dependency on libstdc++a977385
)a977385
)a977385
)a977385
)a977385
)a977385
)a977385
)a977385
)a977385
)e7c3803
)@com_github_cncf_udpa
usage with preexisting@com_github_cncf_xds
; delete@com_github_cncf_udpa
repo alias for xds (6dd6ca9
)1611a73
(c540993
). The version used by Gradle had been updated in 1.62.0 (68334a0
), but the bazel version had not7a25e68
). Bazel’s protobuf rules no longer use the old com_google_protobuf_javalite repository named3c2f5a
). Protobuf’s targets are generally just used directly; this fixed the only place that used maven’sartifact()
syntaxThanks to
@hlx502
@erm-g
@jdcormie
@JoaoVitorStein
@cfredri4
v1.65.1
What's Changed
v1.65.0
grpc-netty in this release is compatible with Netty 4.1.111; it fixes the incompatibility that caused data corruption. grpc-netty-shaded is still using Netty 4.1.100.
New Features
df8cfe9
)Improvements
ClientStreamTracer.inboundHeaders(Metadata)
(960012d
). This is the same as the existinginboundHeaders()
, but is provided the Metadata6ec744f
)8844cf7
). This could be viewed as a small performance optimization, but mainly reduces the amount of race-handling code781b4c4
) This change shows@ExperimentalApi
being removed, but it was re-added in3c97245
before the releasec31dbf4
)791f894
)Bug fixes
fea577c
). This was a long-standing race that could cause RPCs to hang, but was very unlikely to be hit. Avoiding the double-picking (8844cf7
) made the race more visible0fea7dd
). The previous behavior easily caused data corruptiona28357e
). Previously, shutting down when a new connection was being established could result in the server never becoming terminatede4e7f3a
). This issue was unlikely to be hit outside of specialized testsd57f271
). This fixes a regression introduced in 1.62.234ee600
)1670e97
)f995c12
)Thanks to
@hakusai22
@firov
@mateusazis
@Mir3605
@niloc132
v1.64.2
What's Changed
v1.64.1
What's Changed
v1.64.0
Avoid upgrading your application to Netty 4.1.111, with this version as there is a possible corruption. For Netty 4.1.111 compatibility, it is best to use 1.63.2, 1.64.2, 1.65.1, and later. See https://github.com/grpc/grpc-java/issues/11284 .
API Changes
jakarta_omit
was renamed@generated=omit
(#11086) (8a21afc
)New Features
4561bb5
)5ba1a55
). The feature is still missing documentation and an example. It only supports metrics; tracing and logs will be future enhancements. See gRFC A66d1890c0
)@maven
targets (0064991
)8050723
)06df25b
,35a171b
,2897b39
), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetry. See gRFC A78a9fb272
,a1d1932
,8133318
), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetryImprovements
58de563
)e036b1b
). This will greatly improve the debuggability of certain server errors in particular cases. Instead of the client seeing “CANCELLED: RST_STREAM closed stream. HTTP/2 error code: CANCEL”, they could see “RESOURCE_EXHAUSTED: gRPC message exceeds maximum size4194304
:6144592
”f7ee5f3
)e36f099
)10cb4a3
)537dbe8
)load()
statements for the Bazel builtin top-level java symbols (#11105) (add8c37
)StatusProto.toStatusException
overload to acceptThrowable
(#11083) (5c9b492
)Bug fixes
bdb6230
)2c5f0c2
). Previously the visible state change fromchannel.getState()
was delayed until the name resolver returned results. This had no impact to RPC behaviore630593
)6e97b18
). These races had not been witnessed in practicef9b6e5f
). This fixes a regression introduced by6e97b18
that could hang RPCs instead of using fallback, but fixes a pre-existing bug that could greatly delay RPCs from using fallback.da619e2
). This could have caused backoff entries to improperly be considered expired097a46b
). The credential does its own verification and the default needs to be disabled for SPIFFEfb9a108
)d21fe32
)Dependencies
5a8da19
)c703a1e
)163efa3
)77e59b2
)Acknowledgements
@panchenko
@Ashok-Varma
@benjaminp
@AutomatedTester
@hypnoce
@keith
@laglangyue
@rostik404
@ryanpbrewster
@abtom
@hvadehra
@rtadepalli
v1.63.2
What's Changed
v1.63.1
Bug fixes
fb9a108
)v1.63.0
API Changes
0d749c5
)ff34d51
)257d1c2
)2c83ef0
)New Features
xds, dual stack, happy eyeballs: Support dual stack in xds, change list includes:
8a9ce99
)38f968f
)c61fe69
)51f811d
)Improvements
eba699a
)ce2adcc
)3abab95
). When the deadline triggered and the deadline was set on the RPC via the stub or CallOptions, gRPC would gather additional debugging information to help understand where the RPC took so long. However if the deadline came from io.grpc.Context the error was simply “context timed out.” Now the debugging information is provided in both casese19f1f1
)0d39c2c
). Pass the optionjakarta_omit
to protoc-gen-grpc-java when generating codefeab4e5
).grpc-xds
jar size has decreased by 35%.867e469
)a68399a
)0b82f01
)Bug Fixes
f4cc166
). This fixes a possible regression introduced in 1.60.0. Auditing the buggy code showed it unlikely to cause problems in practice, but that was more by happenstance than by designd7628a3
)aa90768
). The remote race could cause an RPC to hang until its deadline. It had been seen in practice when the client was severely CPU under-provisioned78b3972
)Dependencies
Acknowledgement
Alex Panchenko
Benjamin Peterson
David Ankin
Prashanth Swaminathan
Touko Vainio-Kaila
v1.62.2
gRPC Java 1.62.2 Release Notes
Note that this is the initial 1.62.x release
API Changes
io.grpc.services.BinaryLogs
, which was deprecated since 2021.io.grpc.protobuf.services.BinaryLogs
should be used instead (#10832).6d96e65
)New Features
Improvements
cb03bd2
). This is mostly a behind-the-scenes change to adjust to the newer way Bazel operates65a6b3b
). Neither binary uses runfiles, but the task will be ready if they need to in the future100d5a5
)7ba0718
)Bug Fixes
Dependencies
Acknowledgements
v1.61.1
Bug Fixes
xds: Fix a bug in
WeightedRoundRobinLoadBalancer
policy that could raiseNullPointerException
and further cause channel panic when picking a subchannel. This bug can only be triggered when connection can not be established and the channel reportsTRANSIENT_FAILURE
state. (#10868)v1.61.0
API Changes
860b5cb
)New Features
Improvements
201893f
)round_robin
pickers (dca89b2
). This makes its implementation more similar toweighted_round_robin
.Bug Fixes
8ac43dd
). The Gradle test fixtures are for use by grpc-java's internal tests.Dependencies
55a9c01
). Bazel 7 is available, and Protobuf has already dropped support for Bazel 5.d6830d7
). This reduces the transitive classes "leaked" into the compile classpath. In particular, grpc-core (io.grpc.internal
) will be less frequently included transitively at compile time.c985797
)Acknowledgements
v1.60.2
Bug Fixes
xds: Fix a bug in
WeightedRoundRobinLoadBalancer
policy that could raiseNullPointerException
and further cause channel panic when picking a subchannel. This bug can only be triggered when connection can not be established and the channel reportsTRANSIENT_FAILURE
state. (#10868)v1.60.1
Bug Fixes
v1.60.0
API Changes
ForwardingServerBuilder
,ForwardingChannelBuilder2
, andForwardingChannelBuilder
. Note thatForwardingChannelBuilder
is stabilized (no changes will be made to it), but immediately deprecated in favor ofForwardingChannelBuilder2
. (#10586)ForwardingChannelBuilder.delegate()
. De facto this deprecates the class itself, since all classes extendingForwardingChannelBuilder
implement thedelegate()
method. See javadoc for details (#10587)LoadBalancer.acceptResolvedAddresses()
to returnStatus
instead ofboolean
(#10636). This is part of continued work to align the LB API cross-language and API stabilizationForwardingChannelBuilder2
(#10587)ProtoUtils.metadataMarshaller()
(#10628)Behavior Changes
ManagedChannel
s now check the address types provided by the nameResolver (for the given target) with the address types supported by the channel transport and generate an error in case of mismatch. That dramatically improves the error message when an issue occursStatus.UNKNOWN
returned to the client will haveApplication error processing RPC
description. Previously the description was empty. This is helpful to differentiate between server errors originated in user application, gRPC library, or even those injected by a proxy. (#10643)Improvements
Http2Headers.isEmpty()
. This fixes compatibility with Netty 4.1.101.Final.NettyServerBuilder.maxRstFramesPerWindow()
. This can be used to limit impact of Rapid ResetBug Fixes
Dependencies
Acknowledgements
@anthonyjpratti
@fedorka
@jpd236
@mateusazis
@pkoenig10
@yannickepstein
@amirhadadi
v1.59.1
Http2Headers.isEmpty()
. This fixes compatibility with Netty 4.1.101.Final.NettyServerBuilder.maxRstFramesPerWindow()
. This can be used to limit impact of Rapid Resetv1.59.0
gRPC Java 1.59.0 Release Notes
PLANNED ABI BREAKAGE!
This breaks the ABI of the
@ExperimentalApi
classes listed below.This does not impact source code (API); it only impacts code compiled with a different version of gRPC than it runs with (ABI).
Users that recompiled their code using grpc-java
v1.36.0
(released on Feb 23, 2021) and later, ARE NOT AFFECTED.Users that compiled their source using grpc-java earlier than
v1.36.0
may need to recompile when upgrading to grpc-javav1.59.0
.See details in #10406.
Affected classes
Class
io.grpc.internal.AbstractManagedChannelImplBuilder
is deleted, and no longer in the class hierarchy of the channel builders:io.grpc.netty.NettyChannelBuilder
io.grpc.okhttp.OkhttpChannelBuilder
io.grpc.cronet.CronetChannelBuilder
Class
io.grpc.internal.AbstractServerImplBuilder
is deleted, and no longer in the class hierarchy of the server builders:io.grpc.netty.NettyServerBuilder
io.grpc.inprocess.InProcessServerBuilder
API Changes
AbstractManagedChannelImplBuilder
andAbstractServerImplBuilder
are removed (#10530). This is ABI-breaking, see the warning above. (#10406)v1.36.0
to ease removal of internal ABIs. (#10406)ForwardingChannelBuilder2
, an ABI-safe version ofForwardingChannelBuilder
, which will be deprecated in the following release. (#10585, #10406)LoadBalancer.FixedResultPicker
convenience class for load balancer implementations. It is a replacement forErrorPicker
andEMPTY_PICKER
added in 1.58.0Behavior Changes
Improvements
Bug Fixes
Documentation
Dependencies
Acknowledgements
John Cormie (@jdcormie)
Stephane Landelle (@slandelle)
@kotlaja
v1.58.1
v1.58.0
Compare Source
API Changes
ServerCall#setMessageCompression()
andPartialForwardingServerCall#setMessageCompression()
(#10393)ProtoUtils.setExtensionRegistry()
andProtoLiteUtils.setExtensionRegistry()
(#10392)GrpcCleanupRule
,GrpcServerRule
(#10494)GRPC_EXPERIMENTAL_PICKFIRST_LB_CONFIG
env variable is true by default now) for xds leaf LB policy (#10475)Behavior Changes
next()
orhasNext()
had been called to send the request.Improvements
Grpc.newServerBuilderForPort()
. At present, Netty always has higher priority than OkHttp, if they are both available, becauseServerBuilder.forPort()
is not supported in the OkHttp transport but is supported in the Netty transportBug Fixes
NoSuchMethodError
forByteBuffer
methods present in 1.57.0 (#10441)Dependencies
androidx.core:core 1.10.0 -> 1.10.1
com.google.api.grpc:proto-google-common-protos 2.17.0 -> 2.22.0
com.google.cloud:google-cloud-logging 3.14.5 -> 3.15.5
com.google.errorprone:error_prone_annotations 2.18.0 -> 2.20.0
com.squareup.okio:okio 1.17.5 -> 2.10.0
Acknowledgements
Halvard Skogsrud
v1.57.2
Compare Source
Bug Fixes
v1.57.1
Compare Source
Bug fixes
NoSuchMethodError
forByteBuffer
methods present in 1.57.0 (#10441)v1.57.0
Compare Source
gRPC Java 1.57.0 Release Notes
This release accidentally broke Java 8:
NoSuchMethodError
for some ByteBuffer methods. The issue is tracked in https://github.com/grpc/grpc-java/issues/10432 and fixed in 1.57.1.API Changes
Behavior Changes
New Features
UserHandle
andBinderChannelCredentials
to support cross-user communication (#10197)Improvements
Bug Fixes
Dependencies
Acknowledgements
v1.56.1
Bug fixes
grpc-grpclb
is in the classpath. So even users that think "I don't use grpclb" may have been impacted.round_robin
is mainly impacted on startup, but if the error happened afterward it would commonly fix itself for short transient DNS failures.pick_first
is impacted at all times; any failed DNS resolution could cause all future RPCs on the channel to fail.v1.56.0
API Changes
SynchronizationContext
class (#10130).io.grpc.CallCredentials
(#10208, #10211).thisUsesUnstableApi()
is@Deprecated
and has a default implementation.CallCredentials
implementations should delete their implementation or remove@Overrides
, as the method will be deleted in the future.ProxyDetector
hierarchy andManagedChannelBuilder.proxyDetector
method.Behavior Changes
TRANSIENT_FAILURE
inPickFirstLoadBalancer
([#10106](https://redirect.github.com/grpConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.