Releases: grpc/grpc-go
Releases · grpc/grpc-go
Release 1.12.2
- transport: account for user configured small io write buffer. (#2092)
Release 1.12.1
- transport/server: fix race between writing status and header (#2074)
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)