Releases: grpc/grpc-go
Releases · grpc/grpc-go
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)
Documentation
Release 1.7.5
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
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
- transport: fix race sending RPC status that could lead to a panic (#1687)
Release 1.8.0
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
Release 1.7.3
Release 1.7.2
- Check ac state shutdown before setting it to TransientFailure (#1643)
Release 1.7.1
- Fix connectivity state transitions when dialing #1596
Release 1.7.0
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
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
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
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)