Skip to content

Releases: connectrpc/connect-go

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

v1.10.1

26 Jul 21:35
Compare
Choose a tag to compare

This release is identical to v1.10.0. This version exists only to replace v1.10.0, which had to be retracted due to corruption in the global module cache.

v1.10.0

26 Jul 16:53
Compare
Choose a tag to compare

NOTICE: This version has been retracted due to a corruption in the global module cache. Use v1.10.1 instead.


What's Changed

Enhancements

  • Add WithConditionalHandlerOptions for method-specific options by @emcfarlane in #538

Bugfixes

Other changes

Full Changelog: v1.9.0...v1.10.0

v1.9.1

26 Jul 21:35
Compare
Choose a tag to compare

This release is identical to v1.9.0. This version exists only to replace v1.9.0, which had to be retracted due to corruption in the global module cache.

v1.9.0

27 Jun 16:57
Compare
Choose a tag to compare

NOTICE: This version has been retracted due to a corruption in the global module cache. Use v1.9.1 instead.


What's Changed

Along with a few new features and bugfixes, this release includes a variety of internal performance improvements.

[v1.8.0] BenchmarkConnect/unary-12             8415           1305116 ns/op        14449031 B/op        254 allocs/op
[v1.9.0] BenchmarkConnect/unary-12            10443           1151366 ns/op         6024079 B/op        236 allocs/op

Enhancements

Bugfixes

Other changes

  • Tighten internal lint checks by @zchee in #520
  • Simplify code when pooled buffers aren't returned by @pkwarren in #532

New Contributors

Full Changelog: v1.8.0...v1.9.0

v1.8.0

31 May 19:13
Compare
Choose a tag to compare

What's Changed

Enhancements

Bugfixes

  • Fix documentation comments to use correct identifier name by @cuishuang in #498
  • Fix Makefile quotes to handle paths with spaces by @bufdev in #508
  • Always close response body in CloseRead by @pkwarren in #515

New Contributors

Full Changelog: v1.7.0...v1.8.0

v1.7.0

19 Apr 18:56
Compare
Choose a tag to compare

What's Changed

As of this release, the Connect protocol supports performing idempotent, side-effect free requests using HTTP GETs. This makes it easier to cache responses in the browser, on your CDN, or in proxies and other middleboxes.

Note
This functionality is only supported when using the Connect protocol—using a Connect client with a Connect server. When using grpc-go clients, or connect-go clients configured with the WithGRPC or WithGRPCWeb options, all requests will continue to be HTTP POSTs.

To opt into GET support for a given Protobuf RPC, you must mark it as being side-effect free using the MethodOptions.IdempotencyLevel option:

service ElizaService {
  rpc Say(stream SayRequest) returns (SayResponse) {
    option idempotency_level = NO_SIDE_EFFECTS;
  }
}

With this schema change, handlers will automatically support both GET and POST requests for this RPC. However, clients will continue to use POST requests by default, even when GETs are possible. To make clients use GETs for side effect free RPCs, use the WithHTTPGet option:

client := elizav1connect.NewElizaServiceClient(
    http.DefaultClient,
    connect.WithHTTPGet(),
)

This functionality is not yet supported by other Connect implementations (including connect-es), but hang tight! We're working on it. For more information, please check the full documentation.

Enhancements

Bugfixes

  • Fix WithCompression to match docs by @jhump in #493

Full Changelog: v1.6.0...v1.7.0

v1.6.0

03 Apr 18:18
Compare
Choose a tag to compare

What's Changed

Enhancements

Bugfixes

  • Clarify purpose of handler_stream_test.go by @Hirochon in #472
  • Make StreamType constants typed numerics by @jhump in #486
  • Populate Spec and Peer in Client.CallServerStream by @jhump in #487

New Contributors

Full Changelog: v1.5.2...v1.6.0

v1.5.2

15 Feb 21:57
Compare
Choose a tag to compare

What's Changed

Bugfixes

Full Changelog: v1.5.1...v1.5.2