This repository has been archived by the owner on Sep 16, 2023. It is now read-only.
deps: update dependency io.grpc:grpc-stub to v1.40.1 #181
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.23.0
->1.40.1
Release Notes
grpc/grpc-java
v1.40.1
Bug Fixes
v1.40.0
API Changes
ClientStreamTracer.Factory.newClientStreamTracer(CallOptions callOptions, Metadata headers)
.ClientStreamTracer.StreamInfo.getTransportAttrs()
andClientStreamTracer.StreamInfo.Builder.setTransportAttrs()
.ClientStreamTracer.streamCreated(Attributes transportAttrs, Metadata headers)
.ManagedChannelBuilder.enableRetry()
andManagedChannelBuilder.disableRetry()
.Bug Fixes
start()
instead of NPE.encoding=utf-8
. It now hascharset=utf-8
.New Features
Behavior Changes
ManagedChannelBuilder.disableRetry()
to turn off retry if they do not want this feature, for example if they have already implemented an application level retry.)ManagedChannelBuilder.enableRetry()
will no longer have the side that disables Census stats and tracing as in previous versions.Dependencies
62ca8bd
(#8346).Improvements
v1.39.0
API Changes
HasByteBuffer
API exposes ByteBuffers underlying the InputStream being passed to theMarshaller
and theDetachable
API allows custom Marshaller to take over the ownership of buffers for performing delayed deserialization.Bug Fixes
New Features
Dependencies
Acknowledgements
@lepistone Leonardo Pistone
@shirodkara Amit Shirodkar
@cfredri4
v1.38.1
Bug Fixes
INTERNAL: Panic! This is a bug!
) due to the exceptionIllegalStateException: already in fallback
. The fix mitigated the temporal invariant violation.v1.38.0
gRPC Java 1.38.0 Release Notes
API Changes
usePlaintext()
anduseTransportSecurity()
methods on the channel and server builders. The previous APIs are stable so will not be removed. Over time, documentation and examples will be migrated to the new APIBug Fixes
Behavior Changes
Helper.refreshNameResolution()
) when seeing its created subchannel becomes IDLE or TRANSIENT_FAILURE. Currently the Channel will do it for you and log a warning. But this operation will be removed in the future releases. (#8048)Dependencies
v1.37.1
Bug Fixes
v1.37.0
Behavior Changes
GoogleDefaultChannelCredentials
andComputeEngineChannelCredentials
choose ALTS for backends given by xDS TD. Changes forComputeEngineChannelCredentials
were missing, but they really should be the same.ServerBuilder.addServices()
API that allows adding a list of services instead of iterating through list and callingaddService()
.NameResolver
APIs that have been marked as deprecated since 1.21 release.Channelz
andCSDS
with dependencies required at runtime.pendingDeadline.cancel
out of synchronized block.channel.shutdown()
. PreviouslyshutdownNow()
was required for prompt shutdown if a connection was handshaking.io.grpc.xds.bootstrapConfig
.server_listener_resource_name_template
property from the bootstrap file for server side xDS processing as per the gRFC A36-xds-for-servers.md.New Features
TlsChannelCredentials
andTlsServerCredentials
now support client certificates and custom KeyManagers/TrustManagers. grpc-netty fully supports these options. grpc-okhttp does not support keyfile-based configuration; you’d need to use a KeyManager. Most users of Netty’s SslContext and GrpcSslContexts should be able to migrate and are encouraged to do so, because this API does not have a Netty dependency and so is planned to become stable.XdsServingStatusListener
has been implemented as per the gRFC A36-xds-for-servers.md.CsdsService
. It is safe for production but are Experimental APIs to resolve issues discovered as they see usage. The rationale and description of the new API can be found in gRFC A40: xDS Configuration Dump via Client Status Discovery Service in gRPC.WeightedTargetLoadBalancer
collect all failure child pickers to log more error details.Bug Fixes
TRANSIENT_FAILURE
for such cases.CdsLoadBalancer2
childLb shutdown behavior. Previously these childLbs are not properly shutdown, which might cause channel panic as client channel is referenced by those childLbs.UnsupportedOperationException
incompatibility with Netty 4.1.60.Final (#7953). This allows users of grpc-netty that may be using Netty elsewhere in their application to upgrade their Netty version to avoid exposure to recent Netty CVEs. gRPC itself is not impacted by those CVEs.CONNECTING
subchannels when aggregating the overall LB state, which would cause RPCs to fail prematurely if there are subchannels in its initial connection.AltsTestServer
object lock, this way, alts client and alts server won’t race on theAltsTestServer
during Alts handshake negotiation.Documentation
TlsChannelCredentials
/TlsServerCredentials
and no longer depends on Netty at compile time.Dependencies
ac9a26373
. Added xDS v3 csds.proto with dependencies.Acknowledgements
@spkrka Kristofer Karlsson
@njhill Nick Hill
@ulfjack Ulf Adams
v1.36.2
Bug Fixes
v1.36.1
UnsupportedOperationException
incompatibility with Netty 4.1.60.Final (#7953). This allows users of grpc-netty that may be using Netty elsewhere in their application to upgrade their Netty version to avoid exposure to recent Netty CVEs. gRPC is not impacted by those CVEs so a Netty upgrade for gRPC itself is not necessaryio.grpc.xds.bootstrapValue
system property toio.grpc.xds.bootstrapConfig
. This more closely matches the environment variable (GRPC_XDS_BOOTSTRAP_CONFIG
) and avoids future confusion (#7968)IllegalStateException
causing Channel panic during LB shutdown (#7942). The bug was introduced in v1.36.0. The issue likely most impacts xDS users that may leave a channel unused (no RPCs) for 30 minutes since idle timeout triggers LB shutdownv1.36.0
API Changes
NettyChannelBuilder
,NettyServerBuilder
,OkHttpChannelBuilder
,InProcessChannelBuilder
,CronetChannelBuilder
) are commonly referencing internal ABIs due to overly-specific generics in gRPC. There is now a .class file hack in place which preserves ABI compatibility for old builds while causing javac to use the intended public API for new builds. In a future release we will remove the internal ABI for these experimental APIs (https://github.com/grpc/grpc-java/issues/7211) which may cause runtime failures. Recompiling with this release or later will prevent your code from using those ABIs and so you will not be impacted by the ABI removal. This is related to the temporary ABI breakage in v1.33.0.LoadBalancer.Helper
APIs as they had been deprecated since v1.22 release (#7793).LoadBalancer.Helper.createResolvingOobChannelBuilder(String target)
in favor of the new experimental APIcreateResolvingOobChannelBuilder(String target, ChannelCredentials creds)
. The two APIs differ not only in signature but also in the default authority of the returned builder. See their javadoc for more detail.Behavior Changes
ManagedChannelBuilder.overrideAuthority()
is now used even if the NameResolver usesEquivalentAddressGroup.ATTR_AUTHORITY_OVERRIDE
. Previously the NameResolver’s override would be usedNew Features
grpc.channelz.v1.Channelz.GetServer
, as defined inchannelz.proto
GRPC_XDS_BOOTSTRAP_CONFIG
) or system property (io.grpc.xds.bootstrapValue
) valuesAltsContext
to allow outside packages access to ALTS peer informationBug Fixes
Documentation
Status.trailersFromThrowable
(#7856). The annotation doesn’t change behavior, it just makes the behavior more clearDependencies
Acknowledgements
@elharo Elliotte Rusty Harold
@lriuui0x0 Rui Liu
@martin-schaub Martin Schaub
@njhill Nick Hill
@ReginFell Serhii Zabelnykov
v1.35.1
UnsupportedOperationException
incompatibility with Netty 4.1.60.Final (#7953). This allows users of grpc-netty that may be using Netty elsewhere in their application to upgrade their Netty version to avoid exposure to recent Netty CVEs. gRPC is not impacted by those CVEs so a Netty upgrade for gRPC itself is not necessaryv1.35.0
Bug Fixes
io.grpc
package. They are now shaded to avoid colliding with other users of the classesDependencies
Acknowledgments
@amnox
@horizonzy
@wanyingd1996
v1.34.1
Bug Fixes
GRPC_XDS_EXPERIMENTAL_NEW_SERVER_API=true
where gRPC would request non-existent resourcesv1.34.0
This release has a severe bug when using CompositeChannelCredentials that predominantly impacts googleapis.com (#7643). You may be impacted in the future even if not impacted today. If you contact googleapis.com, please use 1.34.1 instead.
API Changes
io.grpc.ForwardingServerBuilder
(#7633)New Features
usePlaintext()
anduseTransportSecurity()
methods on the channel and server builders. The previous APIs are stable so will not be removed, but are expected to be deprecated in the future. Since these new APIs will be widely used, we encourage users to try the APIs out and report any problems experienced so they can be corrected before the APIs become stable (#7294, #7601)Bug Fixes
StatusRuntimeException: INTERNAL: http2 exception
with a cause similar toHttp2Exception$StreamException: Cannot create stream 222691 greater than Last-Stream-ID 222689 from GOAWAY.
This was mainly observed when a C core-based gRPC server shut down. (#7501)Documentation
ServerCall#close
(#7580)Behavior Changes
Dependencies
Acknowledgements
@attila123
@erikjoh
@jbdeboer
@ST-DDT
@sullis
@susinmotion
v1.33.1
Bug Fixes
io.grpc.netty.NettyServerBuilder
reverted to extend internal classio.grpc.internal.AbstractServerImplBuilder
io.grpc.netty.NettyChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.okhttp.OkhttpChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
The class io.grpc.inprocess.InProcessChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.cronet.CronetChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
ForwardingServerBuilder
reverted until the permanent fix of the issue with ABI compatibility of delegating classesStatusRuntimeException: INTERNAL: http2 exception
with a cause similar toHttp2Exception$StreamException: Cannot create stream 222691 greater than Last-Stream-ID 222689 from GOAWAY.
This was mainly observed when a C core-based gRPC server shut down.v1.33.0
This release broke ABI in a non-planned way for NettyServerBuilder, NettyChannelBuilder, and similar. See https://github.com/grpc/grpc-java/issues/7552. If you are impacted, please use an earlier version until v1.33.1 is available. A future ABI breakage may be necessary, but will be communicated explicitly at that time.
API Changes
io.grpc.netty.NettyServerBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractServerImplBuilder
io.grpc.netty.NettyChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.okhttp.OkhttpChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
The class io.grpc.inprocess.InProcessChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.cronet.CronetChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
StatusRuntimeException: CANCELLED
fromonNext()
for streaming responses. Previously the exception was also thrown fromonNext()
for unary responses and fromonComplete()
, which didn’t help the server avoid unnecessary processingNew Features
Documentation
Bug Fixes
onMessage()
afteronClose()
)GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
introduced later. The symptom was a GOAWAY with “too_many_pings” without an aggressive keepalive configured. The environment variable is still available, but will be removed in the futureBehavior Changes
{"type":"insecure"}”
for plaintext (#7396)Dependencies
repositories.bzl
, in favor ofmaven_install
. v1.27.0 introduced support formaven_install
and encouraged users to migrate. Seeexamples/WORKSPACE
for an example.maven_install
dramatically reduces the boilerplate for maven dependencies and properly handles transitive dependencies and version selection. gRPC is not yet using the@maven
workspace, so it is still possible to use other dependency tools.Acknowledgements
@codeblooded Benjamin Reed
@kiwi1969 Russell Shaw
@pkern Philipp Kern
v1.32.3
Bug Fixes
v1.32.2
Bug Fixes
GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
introduced later. The symptom was a GOAWAY with “too_many_pings” without an aggressive keepalive configured. The environment variable is still available, but will be removed in the futurev1.32.1
API Changes
ChannelBuilder.blockingExecutor()
(#7242). There should not be any users as it was deprecated the first release it was available and was renamedoffloadExecutor()
.New Features
Bug Fixes
GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
will now disable the BDP monitoring introduced in v1.30.0. This is intended to help diagnose a “too_many_pings” compatibility issue and will be removed once it is resolved. If you need to use the variable, please file an issueDependencies
Acknowledgements
@susinmotion
@trustin
@wanyingd1996
v1.31.2
Bug Fixes
v1.31.1
Bug Fixes
GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
will now disable the BDP monitoring introduced in v1.30.0. This is intended to help diagnose a “too_many_pings” compatibility issue and will be removed once it is resolved. If you need to use the variable, please file an issuev1.31.0
API Changes
ManagedChannelBuilder.nameResolverFactory
is now marked deprecated. It has long been our plan to remove the function, but was not communicated. Most usages should be able to globally register via the SPI mechanism orNameResolverRegistry.register()
. There is a plan to add a method toManagedChannelBuilder
to specify the default target scheme for the channel. If your use-case is not covered, please inform us on #7133New Features
LoadBalancer.Helper.createResolvingOobChannelBuilder()
. It is similar toLoadBalancer.Helper.createResolvingOobChannel()
except allows configuring the channel (#7136)Bug Fixes
Documentation
Dependencies
Examples
Acknowledgements
@alexanderscott
@AnarSultanov
@cindyxue
@d-reidenbach
@elharo
@gsharma
@reggiemcdonald
v1.30.2
Bug Fixes
v1.30.1
Bug Fixes
v1.30.0
Note: gRPC-Java no longer exposes many transitive dependencies as "compile" dependencies, but instead specifies them as "runtime" dependencies. Consuming projects using these dependencies directly will need to explicitly add the dependencies to their compile-time classpath.
Behavioral Changes
NettyChannelBuilder#flowControlWindow
orNettyServerBuilder#flowControlWindow
. ExistingflowControlWindow
users need to useinitialFlowWindowSize
to enable BDP. The default initial window size has remained unchanged, so most users should not see a performance difference. In the future we plan to reduce the default size, which may briefly (up to 4 RTT) slow down new connections as they determine an appropriate BDP.New Features
xds
. This is the stable version of the schemexds-experimental
that was introduced in v1.28.0.xds-experimental
scheme will be removed in subsequent releases so you must switch toxds
scheme instead.xds
scheme is a client side implementation of xDSv2 APIs. This allows a gRPC client written in Java to receive configuration from an xDSv2 API compatible server and use that configuration to load balance RPCs. In this release, only the virtual host matching, default path (“” or “/”) matching and cluster route action are supported. The features supported in a given release are documented here.ClientCallStreamObserver.disableAutoRequestWithInitial(int)
andServerCallStreamObserver.disableAutoRequest()
that disables all automatic inbound flow-control requests. These methods are intended to replace the existingCallStreamObserver.disableAutoInboundFlowControl()
. There may still be some tweaks to the API, sodisableAutoInboundFlowControl()
is not yet deprecated.InprocessChannelBuilder.propagateCauseWithStatus(true)
to propagate exceptions from the server withinstatus.getCause()
(#6968). This is intended for unit tests to ease debugging test failures.NettyServerBuilder
to allow passing channel options for the boss ELG.Bug Fixes
Documentation
org.apache.tomcat:annotations-api
for the@Generated
annotation instead ofjavax.annotation:javax.annotation-api
, as it has a more appropriate licenseDependencies
Examples
Acknowledgements
@agasparovic-sabre
@AgentK20
@apolcyn
@asdf2014
@ashithasantosh
@chalin
@bogdandrutu
@DRayX
@hojongs
@Nextproc
@plaflamme
@reggiemcdonald
@RiyaTyagi
v1.29.0
Behavioral Changes
io.grpc.internal.DnsNameResolverProvider.enable_grpclb
is eliminated, grpc-grpclb dependency implicitly enables querying SRV records since v1.24.2New Features
ServerInterceptors.useInputStreamMessages()
now preserves theKnownLength
interface when wrapping InputStream (#6852). This should prevent certain optimizations from being disabled when using useInputStreamMessagesServerInterceptors.useInputStreamMessages()
anduseMarshalledMessages()
now preserve the SchemaDescriptor, so the methods are now compatible with the reflection service ([#6851](https://github.com/grpc/grpc-jConfiguration
📅 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 you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.