metadata: Add ValueFromOutgoingContext, which reads a single metadata value from outgoing context without copying the entire outgoing metadata into a new map. (#9282)
transport: Refine control buffer throttling to only count peer-induced control frames, raise the default GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT from 100 to 10,000, and close client connections if reads remain throttled for 10s. (#9563)
server: Ensure Stop() forcefully terminates the server while GracefulStop() is waiting for active handlers to complete. (#9394)
server: Unconditionally increment the highest-seen stream ID on when handling HEADERS frames to comply with RFC 7540 §5.1.1. Previously, truncated HEADERS frames left the connection in an inconsistent state and allowed stream IDs to be reused by clients without resulting in a protocol error. (#9414)
server: Terminate streams immediately when a HEADERS frame includes the EndStream bit. Previously, this caused server handlers to hang when reading a message. (#9391)
server: Reject requests missing both :authority and Host headers with HTTP 400 and status Internal. (#9365)
xds: Fix a bug where route header matchers with non-lowercase names failed to match routes. (#9353)
transport: Fail streams with io.ErrUnexpectedEOF instead of io.EOF upon receiving truncated message headers or bodies after partial data has already been received. (#9204)
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `v1.84.0` → `v1.85.0` |  |  |
---
### Release Notes
<details>
<summary>grpc/grpc-go (google.golang.org/grpc)</summary>
### [`v1.85.0`](https://github.com/grpc/grpc-go/releases/tag/v1.85.0): Release 1.85.0
[Compare Source](https://github.com/grpc/grpc-go/compare/v1.84.0...v1.85.0)
### New Features
- stats: Expose the effective client authority (sent on the wire as the HTTP/2 `:authority` header) in client `stats.OutHeader` events. ([#​9296](https://github.com/grpc/grpc-go/issues/9296))
- Special Thanks: [@​aryansk](https://github.com/aryansk)
- metadata: Add `ValueFromOutgoingContext`, which reads a single metadata value from outgoing context without copying the entire outgoing metadata into a new map. ([#​9282](https://github.com/grpc/grpc-go/issues/9282))
- Special Thanks: [@​yuyangguo42](https://github.com/yuyangguo42)
### Bug Fixes
- transport: Refine control buffer throttling to only count peer-induced control frames, raise the default `GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMIT` from 100 to 10,000, and close client connections if reads remain throttled for `10s`. ([#​9563](https://github.com/grpc/grpc-go/issues/9563))
- server: Ensure `Stop()` forcefully terminates the server while `GracefulStop()` is waiting for active handlers to complete. ([#​9394](https://github.com/grpc/grpc-go/issues/9394))
- Special Thanks: [@​stanhu](https://github.com/stanhu)
- server: Unconditionally increment the highest-seen stream ID on when handling `HEADERS` frames to comply with [RFC 7540 §5.1.1](https://www.rfc-editor.org/rfc/rfc7540.html#section-5.1.1). Previously, truncated `HEADERS` frames left the connection in an inconsistent state and allowed stream IDs to be reused by clients without resulting in a protocol error. ([#​9414](https://github.com/grpc/grpc-go/issues/9414))
- server: Terminate streams immediately when a `HEADERS` frame includes the `EndStream` bit. Previously, this caused server handlers to hang when reading a message. ([#​9391](https://github.com/grpc/grpc-go/issues/9391))
- server: Reject requests missing both `:authority` and `Host` headers with HTTP 400 and status `Internal`. ([#​9365](https://github.com/grpc/grpc-go/issues/9365))
- xds: Fix a bug where route header matchers with non-lowercase names failed to match routes. ([#​9353](https://github.com/grpc/grpc-go/issues/9353))
- Special Thanks: [@​winklemad](https://github.com/winklemad)
- client: Ensure retried RPCs use the correct `:authority` value specified by the LB policy instead of inheriting it from a previous attempt. ([#​9277](https://github.com/grpc/grpc-go/issues/9277))
- Special Thanks: [@​nvxbug](https://github.com/nvxbug)
- transport: Fail streams with `io.ErrUnexpectedEOF` instead of `io.EOF` upon receiving truncated message headers or bodies after partial data has already been received. ([#​9204](https://github.com/grpc/grpc-go/issues/9204))
- Special Thanks: [@​buger](https://github.com/buger)
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- 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 this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xOTAuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE5MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tYXRlZCIsImRlcGVuZGVuY2llcyJdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
v1.84.0→v1.85.0Release Notes
grpc/grpc-go (google.golang.org/grpc)
v1.85.0: Release 1.85.0Compare Source
New Features
:authorityheader) in clientstats.OutHeaderevents. (#9296)ValueFromOutgoingContext, which reads a single metadata value from outgoing context without copying the entire outgoing metadata into a new map. (#9282)Bug Fixes
GRPC_GO_EXPERIMENTAL_CONTROL_BUFFER_THROTTLE_LIMITfrom 100 to 10,000, and close client connections if reads remain throttled for10s. (#9563)Stop()forcefully terminates the server whileGracefulStop()is waiting for active handlers to complete. (#9394)HEADERSframes to comply with RFC 7540 §5.1.1. Previously, truncatedHEADERSframes left the connection in an inconsistent state and allowed stream IDs to be reused by clients without resulting in a protocol error. (#9414)HEADERSframe includes theEndStreambit. Previously, this caused server handlers to hang when reading a message. (#9391):authorityandHostheaders with HTTP 400 and statusInternal. (#9365):authorityvalue specified by the LB policy instead of inheriting it from a previous attempt. (#9277)io.ErrUnexpectedEOFinstead ofio.EOFupon receiving truncated message headers or bodies after partial data has already been received. (#9204)Configuration
📅 Schedule: (UTC)
🚦 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 this update again.
This PR has been generated by Mend Renovate CLI.
ℹ️ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the
go getcommand, which resulted in the following additional change(s):Details:
github.com/go-logr/logrv1.4.3->v1.4.4go.opentelemetry.io/otelv1.44.0->v1.45.0go.opentelemetry.io/otel/metricv1.44.0->v1.45.0go.opentelemetry.io/otel/tracev1.44.0->v1.45.0golang.org/x/cryptov0.55.0->v0.57.0golang.org/x/netv0.58.0->v0.60.0golang.org/x/sysv0.47.0->v0.48.0golang.org/x/textv0.41.0->v0.42.0google.golang.org/genproto/googleapis/apiv0.0.0-20260706201446-f0a921348800->v0.0.0-20260817212433-ac3dfec99bb1google.golang.org/genproto/googleapis/rpcv0.0.0-20260706201446-f0a921348800->v0.0.0-20260817212433-ac3dfec99bb1