Sourced from google.golang.org/grpc's releases.
Release 1.79.3
Security
- server: fix an authorization bypass where malformed :path headers (missing the leading slash) could bypass path-based restricted "deny" rules in interceptors like
grpc/authz. Any request with a non-canonical path is now immediately rejected with anUnimplementederror. (#8981)Release 1.79.2
Bug Fixes
- stats: Prevent redundant error logging in health/ORCA producers by skipping stats/tracing processing when no stats handler is configured. (grpc/grpc-go#8874)
Release 1.79.1
Bug Fixes
- grpc: Remove the
-devsuffix from the User-Agent header. (grpc/grpc-go#8902)Release 1.79.0
API Changes
- mem: Add experimental API
SetDefaultBufferPoolto change the default buffer pool. (#8806)
- Special Thanks:
@vanja-p- experimental/stats: Update
MetricsRecorderto require embedding the newUnimplementedMetricsRecorder(a no-op struct) in all implementations for forward compatibility. (#8780)Behavior Changes
- balancer/weightedtarget: Remove handling of
Addressesand only handleEndpointsin resolver updates. (#8841)New Features
- experimental/stats: Add support for asynchronous gauge metrics through the new
AsyncMetricReporterandRegisterAsyncReporterAPIs. (#8780)- pickfirst: Add support for weighted random shuffling of endpoints, as described in gRFC A113.
- This is enabled by default, and can be turned off using the environment variable
GRPC_EXPERIMENTAL_PF_WEIGHTED_SHUFFLING. (#8864)- xds: Implement
:authorityrewriting, as specified in gRFC A81. (#8779)- balancer/randomsubsetting: Implement the
random_subsettingLB policy, as specified in gRFC A68. (#8650)
- Special Thanks:
@marek-szewsBug Fixes
- credentials/tls: Fix a bug where the port was not stripped from the authority override before validation. (#8726)
- Special Thanks:
@Atul1710- xds/priority: Fix a bug causing delayed failover to lower-priority clusters when a higher-priority cluster is stuck in
CONNECTINGstate. (#8813)- health: Fix a bug where health checks failed for clients using legacy compression options (
WithDecompressororRPCDecompressor). (#8765)
- Special Thanks:
@sanki92- transport: Fix an issue where the HTTP/2 server could skip header size checks when terminating a stream early. (#8769)
- Special Thanks:
@joybestourous- server: Propagate status detail headers, if available, when terminating a stream during request header processing. (#8754)
- Special Thanks:
@joybestourousPerformance Improvements
dda86db
Change version to 1.79.3 (#8983)72186f1
grpc: enforce strict path checking for incoming requests on the server
(#8981)97ca352
Changing version to 1.79.3-dev (#8954)8902ab6
Change the version to release 1.79.2 (#8947)a928670
Cherry-pick #8874 to
v1.79.x (#8904)06df363
Change version to 1.79.2-dev (#8903)782f2de
Change version to 1.79.1 (#8902)850eccb
Change version to 1.79.1-dev (#8851)765ff05
Change version to 1.79.0 (#8850)68804be
Cherry pick #8864 to
v1.79.x (#8896)