Skip to content

Releases: grpc/grpc-go

Release 1.12.2

07 Jun 17:30

Choose a tag to compare

  • transport: account for user configured small io write buffer. (#2092)

Release 1.12.1

06 Jun 17:18

Choose a tag to compare

  • transport/server: fix race between writing status and header (#2074)

Release 1.12.0

08 May 21:05
41344da

Choose a tag to compare

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)
  • 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)
  • client: introduce WithDisableServiceConfig DialOption (#2010)
  • stickiness: add stickiness support (#1969)
  • channelz: provide channel level info for live program network issue diagnosis/debugging
    • registration and deletion (#1811)
    • metric collection (#1909)
    • server implementation (#1919)

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)
  • resolver/dns: Typo in lookupHost failure warning (#1981)
  • 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)

Release 1.11.3

09 Apr 20:34

Choose a tag to compare

  • clientconn: add support for unix network in DialContext. (#1883)

Release 1.11.2

04 Apr 21:45

Choose a tag to compare

  • server: add grpc.Method function for extracting method from context (#1961)

Release 1.11.1

29 Mar 23:01

Choose a tag to compare

  • client: Fix race when using both client-side default CallOptions and per-call CallOptions (#1948)

Release 1.10.1

28 Mar 23:41

Choose a tag to compare

  • resolver: keep full unparsed target string if scheme in parsed target is not registered (#1943)

Release 1.11.0

27 Mar 21:31
afc05b9

Choose a tag to compare

Dependencies

  • travis: add Go 1.10 and run vet there instead of 1.9 (#1913)

API Changes

  • credentials/alts: Update ALTS "New" APIs (#1921)
  • credentials/alts: Simplify "New" APIs (#1895)

New Features

  • status: Allow external packages to produce status-compatible errors (#1927)
  • service reflection can lookup enum, enum val, oneof, and field symbols (#1910)
  • stats: add BeginTime to stats.End (#1907)
    • Special thanks: @btc
  • client: Allow interceptors to store alternate transport.ServerStream implementations in context (#1904)
  • client: export types implementing CallOptions for access by interceptors (#1902)
  • gzip: Add ability to set compression level (#1891)
  • 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)
  • 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

  • Add documentation and example of adding details to errors (#1915)
  • examples: Replace context.Background with context.WithTimeout (#1877)
  • clientconn: fix a typo in GetMethodConfig documentation (#1867)

Release 1.10.0

15 Feb 22:33

Choose a tag to compare

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

  • Fix connection drain error message (#1844)
  • gzip: add Name const to avoid typos in usage (#1804)
  • Explain target format in DialContext's documentation (#1785)
  • Document that all errors from RPCs are status errors (#1782)

Release v1.9.2

19 Jan 19:14

Choose a tag to compare

  • Fix bug preventing stream.Send() from receiving io.EOF after end of stream (#1792)
  • transport: Fix a data race when headers are received while the stream is closing (#1814)