api: Stabilize the SynchronizationContext class (#10130).
api: Stabilize 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.
api: Stabilize the ProxyDetector hierarchy and ManagedChannelBuilder.proxyDetector method.
Behavior Changes
core: Sticky TRANSIENT_FAILURE in PickFirstLoadBalancer (#10106). See gRFC A62. If it can't connect, pick-first will now immediately fail RPCs until after it successfully connects. RPCs will no longer be delayed while it performs those attempts, which previously could cause significant (error) latency. It now also performs reconnect attempts after failure and backoff without prompting; previously it required an RPC to trigger the reconnect. ManagedChannel.idleTimeout (defaults to 30 minutes) still applies and forces the channel idle after a period of no RPCs.
stub: Add a null check for responseObserver into the methods for initiating a call that takes a responseObserver argument. This ensures a fail fast with a clearer cause instead of an NPE when the observer is first used.
xds: Flip default for RLS being enabled to true for XDS (#10248) (#10252). If there are no RLS configurations in your XDS or you already enabled it with the environment variable this will have no effect. To disable it, set the flag GRPC_EXPERIMENTAL_XDS_RLS_LB to false.
xds: Rename weighted_round_robin_experimental LB Policy to weighted_round_robin (#10162).
New Features
protobuf,protobuf-lite: Allow to configure protobuf recursion limit (#10094).
core: Optional address shuffle in PickFirstLoadBalancer (#10110).
xds: Add error-per-second in weight formula for client-side WRR (#10177).
xds: Use application_utilization and fallback to cpu_utilization if unset in weight formula for client-side WRR. (#10256).
bazel: The README now mentions Bazel and where to find the example. (#10217).
Bug Fixes
binder: Handle unexpected exceptions on binder threads. (#10092.
android,binder,cronet: .aar file when publishing. (#10138).
api: Fix boundary check in Status.fromCodeValue(). (#10155).
core: Don't use system Locale for content-type matching. (#10097).
okhttp: Fix signed-byte comparison in server when checking for ASCII in header (#10151). Without fix, authority could contain utf-8.
Dependencies
Version pinning (e.g., [1.56.0] instead of 1.56.0) has been removed from POMs, for both Netty and gRPC dependencies. The pinning was unreliable in Maven and ignored in Gradle, yet caused downloads during the build to fetch the version list. For a while we've had a BOM that helps reduce version skew. (#10175).
bazel: Add java toolchain type to all rules using java_common. (#10225).
Upgraded netty-tcnative-boringssl-static in grpc-netty-shaded to 2.0.61.Final (#10260). Netty itself was not updated.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps io.grpc:grpc-netty-shaded from 1.55.1 to 1.56.0.
Release notes
Sourced from io.grpc:grpc-netty-shaded's releases.
Commits
d25095c
Bump version to 1.56.06168330
Update README etc to reference 1.56.0b89207f
Upgrade netty-tcnative to 2.0.61.Finalcaeeb06
services, xds, orca: use application_utilization and fallback to cpu_utilizat...311e7bc
Download Maven from Maven Centralbe4dc4c
Flip default for RLS on XDS being enabled to true. (#10248) (#10252)09260ce
buildscripts, psm interop: Don't fail target if sub-target already failed (#1...e6d9b41
bazel: Add java toolchain type to all rules which are using java_common (#10225)4277867
gcp observability: Update Docker images to eclipse-temurin (#10218)df85a45
Add a java specific description of manual flow control to the example. (#10223)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)