Sourced from google.golang.org/grpc's releases.
Release 1.82.0
Behavior Changes
- server: Remove support for
GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKINGenvironment varibale. Strict incoming RPC path validation (which has been the default sincev1.79.3) can no longer be disabled. (#9112)- transport: Add environment variable to change the default max header list size from
16MBto8KB. This may be enabled by settingGRPC_GO_EXPERIMENTAL_ENABLE_8KB_DEFAULT_HEADER_LIST_SIZE=true. This will be enabled by default in a subsequent release. (#9019)- balancer: Load Balancing policy registry is now case-sensitive. Set
GRPC_GO_EXPERIMENTAL_CASE_SENSITIVE_BALANCER_REGISTRIES=false(and file an issue) to revert to case-insensitive behavior. (#9017)New Features
- experimental/stats: Expose a new API,
NewContextWithLabelCallback, to register a callback that is invoked when telemetry labels are added. (#8877)
- Special Thanks:
@seth-epps- client: Return a portion of the response body in the error message, when the client receives an unexpected non-gRPC HTTP response, to make debugging easier. (#8929)
- Special Thanks:
@chengxilo- server: Add environment variable
GRPC_GO_SERVER_GOROUTINE_LABELSthat controls settingruntime/pprof.Labelson goroutines spawned by the server. SetGRPC_GO_SERVER_GOROUTINE_LABELS=grpc.method=trueto add thegrpc.methodlabel on goroutines spawned to handle incoming requests. (#9082)
- Special Thanks:
@dfinkelBug Fixes
- xds/server: Fix a memory leak of HTTP filter instances occurring when route configurations are updated in-place during a Route Discovery Service (RDS) update. (#9138)
- grpc: In the deprecated
gzipCompressor (used via the deprecatedWithCompressordial option), enforce theMaxRecvMsgSizelimit on the decompressed message buffer, preventing excessive memory allocation from highly compressed payloads. (#9114)
- Special Thanks:
@evilgensec- stats/opentelemetry: Record retry attempts,
grpc.previous-rpc-attempts, at the call level and not the attempt level. (#8923)- encoding: Ensure
Close()is always called on readers returned fromCompressor.Decompressif possible. (#9135)- channelz: Fix the
LastMessageSentTimestampandLastMessageReceivedTimestampfields inSocketMetricsto ensure they contain correct timestamp values. (#9109)
bd23985
Change version to 1.82.0 (#9170)0f3086d
Fix minor issues not covered by PR #9137
(#9147)fef07fb
internal: Split v3procservicepb import into pb and grpc for extproc (#9163)91dd64f
transport: surface subsequent data when receiving non-gRPC header (#8929)adc97de
test/kokoro: add config for regional-td test (#9158)57c9ff1
xds: ensure full-string matching for RBAC Filter rules (#9148)b58f32d
server: Set a pprof label on new stream goroutines (#9082)6c98be3
refactor(transport): extract shared stream state handling logic in
`loopyWrit...bcaa6f4
rls: only reset backoff on recovery from TRANSIENT_FAILURE (#9137)429e6e0
balancer: expose endpoint weight and hostname as experimental APIs (#9074)