New Features
- gcp/observability: add support for Environment Variable
GRPC_CONFIG_OBSERVABILITY_JSON
(#5525) - gcp/observability: add support for custom tags (#5565)
Behavior Changes
- server: reduce log level from Warning to Info for early connection establishment errors (#5524)
- Special Thanks: @jpkrohling
Bug Fixes
- client: fix race in flow control that could lead to unexpected EOF errors (#5494)
- client: fix a race that could cause RPCs to time out instead of failing more quickly with UNAVAILABLE (#5503)
- client & server: fix a panic caused by passing a
nil
stats handler togrpc.WithStatsHandler
orgrpc.StatsHandler
(#5543) - transport/server: fix a race that could cause a stray header to be sent (#5513)
- balancer: give precedence to
IDLE
overTRANSIENT_FAILURE
when aggregating connectivity state (#5473) - xds/xdsclient: request correct resource name when user specifies a new style resource name with empty authority (#5488)
- xds/xdsclient: NACK endpoint resources with zero weight (#5560)
- xds/xdsclient: fix bug that would reset resource version information after ADS stream restart (#5422)
- xds/xdsclient: fix goroutine leaks when load reporting is enabled (#5505)
- xds/ringhash: fix config update processing to recreate ring and picker when min/max ring size changes (#5557)
- xds/ringhash: avoid recreating subChannels when update doesn't change address weight information (#5431)
- xds/priority: fix bug which could cause priority LB to block all traffic after a config update (#5549)
- xds: fix bug when environment variable
GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION
is set to true (#5537)