Skip to content

Releases: grpc/grpc-go

Release 1.9.0

02 Jan 23:22
f3955b8
Compare
Choose a tag to compare

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)

Documentation

  • Fix grpc basics link in route_guide example (#1713)
  • Fix misleading default resolver scheme comments (#1703)

Release 1.7.5

18 Dec 23:25
Compare
Choose a tag to compare

Release 1.7.5 adds a new empty package grpc_lb_v1 to make godep work with older versions of gRPC. There's no other bug fix or change included.

  • Add doc.go to grpc_lb_v1 to work around godep bug (#1747)

Release 1.8.2

13 Dec 00:41
Compare
Choose a tag to compare

Release 1.8.1 was accidentally tagged on the master branch and will be deleted. Please update to 1.8.2 instead.

Release notes:

  • transport: fix race sending RPC status that could lead to a panic (#1687)

Release 1.7.4

04 Dec 22:20
Compare
Choose a tag to compare
  • transport: fix race sending RPC status that could lead to a panic (#1687)

Release 1.8.0

21 Nov 21:04
Compare
Choose a tag to compare

Dependencies

  • Re-add support for Go1.6 (#1603)

API Changes

  • Add functions to ClientConn so it satisfies an interface for generated code (#1599)

Behavior Changes

  • ClientHandshake should get the dialing endpoint as the authority (#1607)

New Features

  • Switch balancer based on service config info (#1670)
  • server: apply deadline to new connections until all handshaking is completed (#1646)
  • Implement transparent retries for gRFC A6 (#1597)
  • Get method string from stream (#1588)
  • Register and use default balancers and resolvers (#1551)
  • Make passthrough resolver the default instead of dns (#1606)
  • Parse ServiceConfig JSON string (#1515)

Performance Improvements

  • Speed-up quota pools. (#1636)
  • Acquire all stream related quota and cache it locally since no more than one write can happen in parallel on stream (#1614)

Bug Fixes

  • Add proper support for 'identity' encoding type (#1664)
  • Remove self-imposed limit on max concurrent streams if the server doesn't impose any. (#1624)
  • Fix parseTarget for unix socket address without scheme (#1611)
  • Fix connectivity state transitions when dialing (#1596)
  • Update go_package declarations (#1593)
  • Eliminate race on ac.acbw (#1666)
  • addrConn: set ac.state to TransientFailure upon non-temporary errors (#1657)
  • Check ac state shutdown before setting it to TransientFailure (#1643)
  • Fix settings ack race (#1630)
  • Cap max msg size to min(max_int, max_uint32) (#1598)
  • Fix max msg size type issues on different arch (#1623)
  • Serve() should not return error on Stop() or GracefulStop() (#1485)

Documentation

  • Create versioning and release policy document (#1583)
  • Corrected documentation on Server.Serve (#1668)
  • Update picker doc when returned SubConn is not ready (#1659)
  • balancer: reduce chattiness (#1608)
  • Update fail fast documentation to remove retry language (#1586)

Release 1.7.3

14 Nov 21:51
Compare
Choose a tag to compare
  • addrConn: set ac.state to TransientFailure upon non-temporary errors (#1657)
  • addrConn: eliminate race on ac.acbw (#1665)
  • server: apply deadline to new connections until all handshaking is completed (#1646)
  • latency: Listen on localhost:0 instead of :0 in test (#1640)

Release 1.7.2

03 Nov 18:26
Compare
Choose a tag to compare
  • Check ac state shutdown before setting it to TransientFailure (#1643)

Release 1.7.1

25 Oct 22:06
Compare
Choose a tag to compare
  • Fix connectivity state transitions when dialing #1596

Release 1.7.0

11 Oct 17:42
Compare
Choose a tag to compare

Dependencies

  • Remove Go1.6 support (#1492)

API Changes

  • Add new Resolver and Balancer APIs (gRFC L9) (#1408)
  • New implementation of roundrobin and pickfirst (#1506)

Behavior Changes

  • Truncate payload trace string, and turn trace off by default (#1509)

New Features

  • Make IO Buffer size configurable. (#1544)
  • DNS with new API (#1513)

Performance Improvements

  • Use the same hpack encoder on a transport and share it between RPCs. (#1536)

Bug Fixes

  • transport: fix racey send to writes channel in WriteStatus (#1546)
  • Use Type() method for OAuth tokens instead of accessing TokenType field. (#1537)
  • Dedicated goroutine for writing. (#1498)

Documentation

  • Update UnknownServiceHandler comment to be clearer about interceptor behavior (#1566)

Release 1.6.0

30 Aug 18:25
Compare
Choose a tag to compare

API Changes

  • Add and use connectivity package for states (#1430)
  • metadata: Remove NewContext and FromContext for gRFC L7 (#1392)
  • Remove expiration_interval from grpclb message (#1477)

Features

  • Add status details support to server HTTP handler (#1438)
  • stats: add methods to allow setting grpc-trace-bin and grpc-tags-bin headers (#1404)
  • Expose ConnectivityState of a ClientConn. (#1385)
  • DNS resolver (#1300)

Performance

  • Put *gzip.Writer back to pool (#1441)
  • Remove defer funtion in recvBufferReader Read method (#1031)

Bug fixes

  • When sending a non heads-up goaway close the connection if there are no active streams. (#1474)
  • Fix grpclb protos to not cause re-registration of types (#1466)
  • transport: fix handling of InTapHandle's returned context (#1461)
  • transport: Fix deadlock in client keepalive. (#1460)
  • Deduplicate dns record in lookup (#1454)
  • Fix host string passed to PerRPCCredentials (#1433)
  • Fix a goroutine leak in DialContext (#1424)
  • Set peer before sending request (#1423)
  • Don't use 64-bit integers with atomic. (#1411)
  • Automatic WriteStatus for RecvMsg/SendMsg error on server side (#1409)
  • Server should send 2 goaway messages to gracefully shutdown the connection. (#1403)
  • Enabling client process multiple GoAways (#1393)
  • addrConn: change address to slice of address (#1376)
  • Do not create new addrConn when connection error happens (#1369)
  • Validate send quota again after acquiring writable channel (#1367)

Documentation

  • add comment for the package in benchmark/benchmain/main.go (#1464)
  • Add -u to installation command (#1451)
  • Update ServerInHandle comments (#1437)
  • Add 'experimental' note to ServeHTTP godoc (#1429)
  • Use NewOutgoingContext in the metadata doc (#1425)
  • Fix missing and wrong license (#1422)
  • Change comment on stats.End.Error (#1418)
  • Document Server.ServeHTTP (#1406)
  • Use log instead of grpclog in routeguide example (#1395)
  • Add doc in default implementation fatal functions on os.Exit() (#1365)

Testing

  • Check "x/net/context" with go vet like "context" (#1490)
  • Remove unnecessary function handleStreamSuspension (#1468)
  • Call cancel function to avoid ctx leak (#1465)
  • go-generate pb.go files and check in Travis to make sure they don't change (#1426)
  • Add flags for tls file path (#1419)
  • Call cancel on contexts in tests (#1412)
  • benchmark: don't stop timer until after workers are done (#1407)
  • Assign testdata path to correct variable (#1397)
  • Do not call testdata.Path when defining flags (#1394)
  • Fix bufconn.Close to not be blocking. (#1377)
  • benchmark: add benchmain/main.go to run benchmark with flag set (#1352)
  • benchmark: remove multi-layer for loop (#1339)
  • Add testdata package and unify testdata to only one dir (#1297)