Skip to content

Releases: connectrpc/connect-go

v1.17.0

20 Sep 13:50
847d8b4
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Enable protoc-gen-connect-go usage with Protobuf source files that use Editions by @jchadwick-buf in #754

Bugfixes

  • Prevent incorrect propagation of protocol-specific metadata by @emcfarlane in #748
  • Fix error message about unexpected content-type by @jhump in #775
  • Calls should return "unavailable" instead of "unimplemented" or "unknown" when the transport fails to produce an HTTP response and returns io.EOF errors by @jhump in #776

Other changes

New Contributors

Full Changelog: v1.16.2...v1.17.0

v1.16.2

13 May 23:38
2972b2d
Compare
Choose a tag to compare

This is a patch release to make sure that consuming modules won't be vulnerable to CVE-2023-45288.

What's Changed

  • Update the golang.org/x/net dependency to v0.23.0 in #729.

Full Changelog: v1.16.1...v1.16.2

v1.16.1

17 Apr 20:39
3ed7fb0
Compare
Choose a tag to compare

This release contains a single bugfix.

What's Changed

Bugfixes

  • Fix redundant attempts to write headers in certain error cases in Connect unary RPCs by @emcfarlane in #726

Full Changelog: v1.16.0...v1.16.1

v1.16.0

21 Mar 00:08
0208427
Compare
Choose a tag to compare

This release is mostly bug fixes but also reconciles connect-go with recent updates to the specification regarding mapping of RPC error codes to/from HTTP status codes (see connectrpc RFC 003)

What's Changed

Enhancements

  • Only send a grpc-status-details-bin trailer in the gRPC protocol if the error has details by @bhollis in #713

Bugfixes

  • Fix ErrorWriter IsSupported check to report false on ambiguous content-type and options indicate connect protocol version header is required by @emcfarlane in #700
  • In Connect unary protocol, fallback to code based on HTTP status if unable to deserialize code from JSON body by @jhump in #702
  • Fix ErrorWriter to recognize protocols, even if content-type indicates unrecognized codec by @emcfarlane in #701
  • Fix some places in the framework that weren't correctly recognizing and returning context-based error code (e.g. "canceled" or "deadline_exceeded") by @jhump in #709
  • Use "unimplemented" code for stream cardinality violations by @jhump in #712
  • Restrict which metadata in an error can be propagated into response metadata by @emcfarlane in #711

Other changes

New Contributors

Full Changelog: v1.15.0...v1.16.0

v1.15.0

16 Feb 22:19
51a33b8
Compare
Choose a tag to compare

What's Changed

Since the last release, we have been significantly increasing coverage of our conformance suite. This has identified several inconsistencies with other Connect, gRPC, and gRPC-Web implementations. This release includes several fixes that will help align this implementation with others, behavior that can be verified by the conformance tests going forward. The fixes are backward-compatible with gRPC and Connect clients and servers. They fix some aspects of the wire representation and edge-case handling of spurious requests and responses, and they may affect users directly inspecting HTTP requests and responses.

Governance

Enhancements

  • Add transport-level retry support for RPCs with unary and server-stream RPCs. This also improves efficiency by eliminating a goroutine and a message copy. By @emcfarlane in #649
  • Prefer "application/grpc" over "application/grpc+proto" content-type when issuing gRPC calls. This accommodates Google Cloud Platform servers, which don't fully implement the gRPC specification. By @lrewega in #655
  • Small efficiency gains in on all outbound HTTP requests and unary Connect response validation by @mattrobenolt in #682, #683
  • Improve efficiency handling gRPC-Web and Connect end-of-stream messages by @jhump in #678

Bugfixes

  • Fix HTTP status to Code mapping by @emcfarlane in #673
  • Client should verify response content-type by @jhump in #679
  • Omit erroneous @type attribute from Connect error detail debug string by @jhump in #688
  • Use context to correctly classify some errors with Canceled or DeadlineExceeded code by @emcfarlane in #659
  • Fix trailers-only response handling and some gRPC error coding by @jhump in #677, #690

Full Changelog: v1.14.0...v1.15.0

v1.14.0

22 Dec 18:34
01feea1
Compare
Choose a tag to compare

What's Changed

Security

  • Update google.golang.org/protobuf to v1.32.0 to fix a security vulnerability in protojson thanks to @jhump in #660. For more information, refer to the protobuf v1.32.0 release notes.

Bugfixes

  • Resolved an issue where the ErrorWriter misclassified GET requests by @emcfarlane in #654

Full Changelog: v1.13.0...v1.14.0

v1.13.0

08 Dec 22:28
f4373c8
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Add Schema field to connect.Spec for introspection by @emcfarlane in #629
  • Add support for dynamic message types via message initializers by @emcfarlane in #640

Bugfixes

  • Type URLs in error details can have any host and even include URI scheme by @jhump in #636
  • Improve GET requests: clients should not include content headers, servers should disallow a body by @jhump in #644
  • Fix mis-categorization of "deadline exceeded" errors by @jhump in #643

Other changes

Full Changelog: v1.12.0...v1.13.0

v1.12.0

25 Oct 03:58
589dcf1
Compare
Choose a tag to compare

What's Changed

Governance

Enhancements

  • Move the indication of destination message type in error messages into Codec by @jhump in #599
  • Optimize gRPC timeout encoding by @emcfarlane in #596

Bugfixes

  • Generate correct routes for package-less Protobuf schemas by @emcfarlane in #601
  • Use io.ReadFull to ensure envelope prefix is fully read by @njiang747 in #580
  • Remove gRPC error message from generic envelope errors by @emcfarlane in #603
  • Stabilize program name in generated code preamble by @trixnz #610

Other changes

New Contributors

Full Changelog: v1.11.1...v1.12.0

v1.11.1

26 Aug 01:10
Compare
Choose a tag to compare

What's Changed

Bugfixes

Other changes

Full Changelog: v1.11.0...v1.11.1

v1.11.0

26 Jul 20:32
be01687
Compare
Choose a tag to compare

What's Changed

This is the first release of Connect in the connectrpc GitHub organization. The import path has changed to connectrpc.com/connect.

All previous releases are available under the new import path. The code for these releases is identical to the code for github.com/bufbuild/connect-go.

To migrate to the new import path, a shell script is usually sufficient:

On Linux, or anywhere with GNU sed:

find . -name "*.go" -exec sed -i 's|github.com/bufbuild/connect-go|connectrpc.com/connect|g' {} \;
go get connectrpc.com/connect@latest
go mod tidy

On Mac, or anywhere with BSD sed:

find . -name "*.go" -exec sed -i '' 's|github.com/bufbuild/connect-go|connectrpc.com/connect|g' {} \;
go get connectrpc.com/connect@latest
go mod tidy

When you change your source code, you'll also need to switch to the version of protoc-gen-connect-go in this repository. If you're using the Buf CLI with the buf.build/bufbuild/connect-go remote plugin, switch to the buf.build/connectrpc/go plugin.

We apologize for any inconvenience that this rename causes. We're doing this to prepare Connect for donation to a foundation, which will put it on a better footing for long-term maintenance by multiple stakeholders.

If you encounter any problems or have questions, please reach out to us by filing an issue or joining #connectrpc in the Gophers Slack.

Full Changelog: v1.10.0...v1.11.0