Sourced from google.golang.org/grpc's releases.
Release 1.38.0
API Changes
- reflection: accept interface instead of grpc.Server struct in Register() (#4340)
- resolver: add error return value from ClientConn.UpdateState (#4270)
Behavior Changes
- client: do not poll name resolver when errors or bad updates are reported (#4270)
- transport: InTapHandle may return RPC status errors; no longer RST_STREAMs (#4365)
New Features
- client: propagate connection error causes to RPC status (#4311, #4316)
- xds: support inline RDS resource from LDS response (#4299)
- xds: server side support is now experimentally available
- server: add ForceServerCodec() to set a custom encoding.Codec on the server (#4205)
- Special Thanks:
@​ash2kPerformance Improvements
- metadata: reduce memory footprint in FromOutgoingContext (#4360)
- Special Thanks:
@​irfansharifBug Fixes
- xds/balancergroup: fix rare memory leak after closing ClientConn (#4308)
Documentation
0257c86 Change version to 1.38.0 (#4418)ce3e5ec v1.38.x: backport (#4453)5f95ad6 xds: workaround to deflake xds e2e tests (#4413)b1940e1 xds: register resources at the mgmt server before requesting them (#4406)98c895f cleanup: use testutils.MarshalAny in more places (#4404)12a377b xds: nack route configuration with regexes that don't compile (#4388)c15291b client: initialize safe config selector when creating ClientConn (#4398)328b1d1 transport: allow InTapHandle to return status errors (#4365)aff517b xds: make e2e tests use a single management server instance (#4399)0439465 xds_resolver: fix flaky Test/XDSResolverDelayedOnCommitted (#4393)