Behavior Changes
- client: Reject target URLs containing unbracketed colons in the hostname in Go version 1.26+. (#8716)
- Special Thanks: @neild
New Features
- stats/otel: Add backend service label to wrr metrics as part of A89. (#8737)
- stats/otel: Add subchannel metrics (without the disconnection reason) to eventually replace the pickfirst metrics. (#8738)
- client: Wait for all pending goroutines to complete when closing a graceful switch balancer. (#8746)
- Special Thanks: @twz123
Bug Fixes
- transport/client : Return status code
Unknownon malformed grpc-status. (#8735) - client: Add
experimental.AcceptCompressorsso callers can restrict thegrpc-accept-encodingheader advertised for a call. (#8718)- Special Thanks: @iblancasa
- xds: Fix a bug in
StringMatcherwhere regexes would match incorrectly when ignore_case is set to true. (#8723) - xds/resolver:
- Drop previous route resources and report an error when no matching virtual host is found.
- Only log LDS/RDS configuration errors following a successful update and retain the last valid resource to prevent transient failures. (#8711)
- client:
- Change connectivity state to CONNECTING when creating the name resolver (as part of exiting IDLE).
- Change connectivity state to TRANSIENT_FAILURE if name resolver creation fails (as part of exiting IDLE).
- Change connectivity state to IDLE after idle timeout expires even when current state is TRANSIENT_FAILURE.
- Fix a bug that resulted in
OnFinishcall option not being invoked for RPCs where stream creation failed. (#8710)
- xdsclient: Fix a race in the xdsClient that could lead to resource-not-found errors. (#8627)