Releases: grpc/grpc-go
Releases · grpc/grpc-go
Release 1.12.0
API Changes
- credentials/alts: Add ServiceOption for server-side ALTS creation (#2009)
Behavior Changes
- http2Client: send reset stream when closing the stream on protocol error (#2030)
New Features
- server: export ServerTransportStreamFromContext for unary interceptors to control headers/trailers (#2019)
- metadata: Add Get, Set, and Append methods to metadata.MD (#1940)
- Special thanks: @zkry
- server: add grpc.Method function for extracting method from context (#1961)
- grpclb: cache SubConns for 10 seconds after it is removed from the backendlist (#1957)
- clientconn: add support for unix network in DialContext (#1883)
- Special thanks: @hexfusion
- client: introduce WithDisableServiceConfig DialOption (#2010)
- stickiness: add stickiness support (#1969)
- channelz: provide channel level info for live program network issue diagnosis/debugging
Performance Improvements
- transport: refactor to reduce lock contention and improve performance (#1962)
Bug Fixes
- createTransport: check for SHUTDOWN before assigning TransientFailure to ac.state (#1979)
- client: ignore "user-agent" if set in outgoing metadata (#2026)
- client: Fix race when using both client-side default CallOptions and per-call CallOptions (#1948)
Documentation
- documentation: mark compresser and decompresser as deprecated (#1971)
- documentation: add OAuth2 doc and example (#2003)
- Special thanks: @enocom
- resolver/dns: Typo in lookupHost failure warning (#1981)
- Special thanks: @keegancsmith
- documentation: mention peer will only be populated after RPC completes (#1982)
- documentation: add instructions for running tests locally (#2006)
- Mark old balancer and naming APIs as deprecated (#1951)
- Fix "deprecated" function godoc comments to match standard formatting (#2027)
- Special thanks: @chyroc
Release 1.11.3
- clientconn: add support for unix network in DialContext. (#1883)
Release 1.11.2
- server: add grpc.Method function for extracting method from context (#1961)
Release 1.11.1
- client: Fix race when using both client-side default CallOptions and per-call CallOptions (#1948)
Release 1.10.1
- resolver: keep full unparsed target string if scheme in parsed target is not registered (#1943)
Release 1.11.0
Dependencies
- travis: add Go 1.10 and run vet there instead of 1.9 (#1913)
API Changes
New Features
- status: Allow external packages to produce status-compatible errors (#1927)
- Special thanks: @johanbrandhorst
- service reflection can lookup enum, enum val, oneof, and field symbols (#1910)
- Special thanks: @jhump
- stats: add BeginTime to stats.End (#1907)
- Special thanks: @btc
- client: Allow interceptors to store alternate transport.ServerStream implementations in context (#1904)
- Special thanks: @jhump
- client: export types implementing CallOptions for access by interceptors (#1902)
- Special thanks: @jhump
- gzip: Add ability to set compression level (#1891)
- Special thanks: @yogeshpandey
- credentials/alts: Add ALTS credentials support (#1865)
- client: Report underlying connection error in RPC error (#1855)
Bug Fixes
- resolver: keep full unparsed target string if scheme in parsed target is not registered (#1943)
- metadata: Fix bug where AppendToOutgoingContext could modify another context's metadata (#1930)
- credentials/alts: fix infinite recursion bug [in custom error type] (#1906)
- Special thanks: @jhump
- transport: fix race that could lead to the server closing a connection due to too many pings (#1905)
- resolver: always fall back to default resolver when target does not follow URI scheme (#1889)
- server: Convert all non-status errors to codes.Unknown (#1881)
- Expunge error codes that shouldn't be returned from library (#1875)
Documentation
Release 1.10.0
API Changes
- Revert "Add WithResolverUserOptions for custom resolver build options" (#1839)
Behavior Changes
- streams: Stop cleaning up after orphaned streams (#1854)
- credentials: return Unavailable instead of Internal for per-RPC creds errors (#1776)
New Features
- status: add status.Convert convenience function (#1848)
- transport: support stats.Handler in serverHandlerTransport (#1840)
- encoding: Introduce new method for registering and choosing codecs (#1813)
- metadata: add new method for appending outgoing metadata efficiently (#1794)
Performance Improvements
- metadata: avoid copying headers/trailers in unary RPCs unless requested by CallOptions (#1775)
Bug Fixes
- transport: fix race causing flow control discrepancy when sending messages over server limit (#1859)
- stream: fix bug when using a service config timeout where streams would report "context canceled" before deadline (#1838)
- client: send RST_STREAM on client-side errors to prevent server from blocking (#1823)
- stats: Fix bug causing trailers-only responses to be reported as headers (#1817)
- transport: Fix a data race when headers are received while the stream is being closed (#1814)
- transport: Fix bug preventing stream.Send() from receiving io.EOF after end of stream (#1792)
- client: Fix race when dialing that could lead to disconnects after 20 seconds (#1779)
Documentation
Release v1.9.2
Release 1.9.1
- client: Fix race when dialing that could lead to disconnects after 20 seconds (#1779)
Release 1.9.0
API Changes
- grpc: fix deprecation comments to conform to standard (#1691)
- Add comments to ClientConn/SubConn interfaces to indicate new methods may be added (#1680)
Behavior Changes
- client: backoff before reconnecting if an HTTP2 server preface was not received (#1648)
New Features
- status: add Code convenience function (#1754)
- Add WithResolverUserOptions for custom resolver build options (#1711)
- Add dial option to set balancer (#1697)
- Switch balancer to grpclb when at least one address is grpclb address (#1692)
- Re-resolve target when one connection becomes TransientFailure (#1679)
Performance Improvements
- protoCodec: avoid buffer allocations if proto.Marshaler/Unmarshaler (#1689)
Bug Fixes
- server: fix race between GracefulStop and new incoming connections (#1745)
- After sending second goaway close conn if idle. (#1736)
- In graceful stop close server transport only after flushing status of the last stream. (#1734)
- client: fix race between server response and stream context cancellation (#1729)
- use the request context with net/http handler (#1696)
- Eliminate data race in ccBalancerWrapper (#1688)
- transport: fix race sending RPC status that could lead to a panic (#1687)
- Fix panics on balancer and resolver updates (#1684)