Sourced from google.golang.org/grpc's releases.
Release 1.81.0
Behavior Changes
- balancer/rls: Switch gauge metrics to asynchronous emission (once per collection cycle) to reduce telemetry noise and align with other gRPC language implementations. (#8808)
Dependencies
- Minimum supported Go version is now 1.25. (#8969)
Bug Fixes
- xds: Use the leaf cluster's security config for the TLS handshake instead of the aggregate cluster's config. (#8956)
- transport: Send a
RST_STREAMwhen receiving anEND_STREAMwhen the stream is not already half-closed. (#8832)- xds: Fix ADS resource name validation to prevent a panic. (#8970)
New Features
- grpc/stats: Add support for custom labels in per-call metrics (gRFC A108). (#9008)
- xds: Add support for Server Name Indication (SNI) and SAN validation (gRFC A101). Disabled by default. To enable, set
GRPC_EXPERIMENTAL_XDS_SNI=trueenvironment variable. (#9016)- xds: Add support to control which fields get propagated from ORCA backend metric reports to LRS load reports (gRFC A85). Disabled by default. To enable, set
GRPC_EXPERIMENTAL_XDS_ORCA_LRS_PROPAGATION=true. (#9005)- xds: Add metrics to track xDS client connectivity and cached resource state (gRFC A78). (#8807)
- stats/otel: Enhance
grpc.subchannel.disconnectionsmetric by adding disconnection reason to thegrpc.disconnect_errorlabel (gRFC A94). This provides granular insights into why subchannels are closing. (#8973)- mem: Add
mem.Buffer.Slice()API to slice the buffer like a slice. (#8977)
- Special Thanks:
@​ash2kPerformance Improvements
- alts: Pool read buffers to lower memory utilization when sockets are unreadable. (#8964)
- transport: Pool HTTP/2 framer read buffers to reduce idle memory consumption. Currently limited to Linux for ALTS and non-encrypted transports (TCP, Unix). To disable, set
GRPC_GO_EXPERIMENTAL_HTTP_FRAMER_READ_BUFFER_POOLING=falseand report any issues. (#9032)
cb18228
Change version to 1.81.0 (#9062)96748f9
Cherry-pick #9105 to
1.81.x (#9106)9183222
Cherry pick #9055,
#9032
to v1.81.x (#9095)5cba6da
Revert "deps: update dependencies for all modules (#9065)"
(#9067)af8a936
deps: update dependencies for all modules (#9065)cdc60df
transport: optimize heap allocations in ready reader and update syscall
conne...208d053
xds/resolver: pass complete XDSConfig in RPC context for HTTP filters
(gRFC A...50fe1cc
test: Fix flaky test
TestServerStreaming_ClientCallRecvMsgTwice in
`end2end...d574bad
build(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 (#9050)b8bf4d0
build(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 in
/inte...