Behavior Changes
- client: reject service configs containing an invalid retryPolicy in accordance with gRFCs A21 and A6. (#7905)
- Note that this is a potential breaking change for some users using an invalid configuration, but continuing to allow this behavior would violate our cross-language compatibility requirements.
New Features
- xdsclient: fallback to a secondary management server (if specified in the bootstrap configuration) when the primary is down is enabled by default. Can be disabled by setting the environment variable
GRPC_EXPERIMENTAL_XDS_FALLBACK
tofalse
. (#7949) - experimental/credentials: experimental transport credentials are added which don't enforce ALPN. (#7980)
- These credentials will be removed in an upcoming grpc-go release. Users must not rely on these credentials directly. Instead, they should either vendor a specific version of gRPC or copy the relevant credentials into their own codebase if absolutely necessary.
Bug Fixes
- xds: fix a possible deadlock that happens when both the client application and the xDS management server (responsible for configuring the client) are using the xds:/// scheme in their target URIs. (#8011)
Performance
- server: for unary requests, free raw request message data as soon as parsing is finished instead of waiting until the method handler returns. (#7998)
- Special Thanks: @lqs
Documentation
- examples/features/gracefulstop: add example to demonstrate server graceful stop. (#7865)