compiler: the option jakarta_omit was renamed @generated=omit (#11086) (8a21afcc9)
New Features
New API LoadBalancer.getChannelTarget() (4561bb5b8)
opentelemetry: Publish new module grpc-opentelemetry (5ba1a5563). The feature is still missing documentation and an example. It only supports metrics; tracing and logs will be future enhancements. See gRFC A66
bazel: Add support for bzlmod (#11046) (d1890c0ac)
bazel: Replace usages of the old compatibility maven targets with @maven targets (00649913b)
okhttp: Support serverBuilder.maxConcurrentCallsPerConnection (Fixes #11062). (#11063) (805072339)
xds: Experimental metrics recording in WRR LB (06df25b65, 35a171bc1, 2897b3939), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetry. See gRFC A78
rls: Experimental metrics recording in RLS LB (a9fb272b7, a1d19327f, 813331837), to be exported by grpc-opentelemetry if explicitly enabled in GrpcOpenTelemetry
Improvements
examples: support bazel build for retry policy example (58de563fa)
netty: Allow deframer errors to close stream with a status code, as long as headers have not yet been sent (e036b1b19). 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 size 4194304: 6144592”
netty: Improve handling of unexpected write queue promise failures (#11016)
StatusException/StatusRuntimeException hide stack trace in a simpler way (#11064) (e36f099be)
util: Status desc for outlier detection ejection (#11036) (10cb4a3be)
binder: Helper class to allow in process servers to use peer uids in test (#11014) (537dbe826)
Add load() statements for the Bazel builtin top-level java symbols (#11105) (add8c37a4)
Add StatusProto.toStatusException overload to accept Throwable (#11083) (5c9b49231)
Bug fixes
Fix retry race condition that can lead to double decrementing inFlightSubStreams and so miss calling closed (#11026) (bdb623031)
Change defaults to use the older PickFirstLoadBalancer and disable Happy Eyeballs. This disables a performance optimization added in v1.63. (#11120) We have had a report that the new implementation can trigger a NullPointerException
core: Transition to CONNECTING immediately when exiting idle (2c5f0c22c). Previously the visible state change from channel.getState() was delayed until the name resolver returned results. This had no impact to RPC behavior
xds: Specify a locale for upper/lower case conversions (e6305930d)
rls: Synchronization fixes in CachingRlsLbClient (6e97b180b). These races had not been witnessed in practice
rls: Guarantee backoff will update RLS picker (f9b6e5f92). This fixes a regression introduced by 6e97b180b that could hang RPCs instead of using fallback, but fixes a pre-existing bug that could greatly delay RPCs from using fallback.
rls: Fix time handling in CachingRlsLbClient (da619e2bd). This could have caused backoff entries to improperly be considered expired
xds: Properly disable the default endpoint identification algorithm with XdsChannelCredentials (097a46b76). The credential does its own verification and the default needs to be disabled for SPIFFE
netty: Release SendGrpcFrameCommand when stream is missing (#11116) (fb9a10809)
okhttp: Remove finished stream even if a pending stream was started (d21fe32be)
Dependencies
cronet: Update Cronet to latest release + Move to Stable Cronet APIs. (5a8da19f3)
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 show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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-bom from 1.63.0 to 1.64.0.
Release notes
Sourced from io.grpc:grpc-bom's releases.
... (truncated)
Commits
a54c72f
Bump version to 1.64.02c1b07c
Update README etc to reference 1.64.09798e4a
all: Add opentelemetryd086f5a
opentelemetry: Mark registerGlobal() as experimental3158f91
rls: Guarantee backoff will update RLS picker80f872e
xds, rls: Experimental metrics are disabled by default (#11196) (#11197)cc587e6
opentelemetry: Publish grpc opentelemetry (#11187) (#11195)8133318
rls: Add gauge metric recording (#11175)f737cbc
api: Hide internal metric APIs1e731be
opentelemetry: Rename and stabilize API OpenTelemetryModuleDependabot 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 show