New Features
- balancer/ringhash: move LB policy from xds/internal to exported path to facilitate use without xds (#8249)
- xds: enable least request LB policy by default. It can be disabled by setting
GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=false
in your environment. (#8253) - grpc: add a
CallAuthority
Call Option that can be used to overwrite the http:authority
header on per-RPC basis. (#8068) - stats/opentelemetry: add trace event for name resolution delay. (#8074)
- health: added
List
method to gRPC Health service. (#8155)- Special Thanks: @marcoshuck
- ringhash: implement features from gRFC A76. (#8159)
- xds: add functionality to support SPIFFE Bundle Maps as roots of trust in XDS which can be enabled by setting
GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE=true
. (#8167, #8180, #8229, #8343)
Bug Fixes
- xds: locality ID metric label is changed to make it consistent with gRFC A78. (#8256)
- client: fail RPCs on the client when using extremely short contexts that expire before the
grpc-timeout
header is created. (#8312) - server: non-positive
grpc-timeout
header values are now rejected. This is consistent with the gRPC protocol spec. (#8290)- Special Thanks: @evanj
- xds: fix reported error string when LRS load reporting interval is invalid. (#8224)
- Special Thanks: @alingse
Performance Improvements
- credentials/alts: improve read performance by optimizing buffer copies and allocations. (#8271)
- server: improve performance of RPC handling by avoid a status proto copy (#8282)
- Special Thanks: @evanj
Documentation
- examples/features/opentelemetry: modify example to demonstrate tracing using OpenTelemtry plugin. (#8056)