Releases: connectrpc/connect-go
v1.19.1
What's Changed
Bugfixes
- Fix bounds check on envelope for 32-bit archs by @emcfarlane in #887
- Fix CallInfo header/trailer propagation on error responses by @emcfarlane in #892
Full Changelog: v1.19.0...v1.19.1
v1.19.0
This release introduces the highly requested "simple" flag for code generation, making Connect significantly more ergonomic for everyday RPC development.
The new simple flag in protoc-gen-connect-go generates cleaner, more intuitive client and handler interfaces that eliminate request/response wrappers for most use cases. This addresses community feedback about verbosity and provides a more straightforward API. When enabled, metadata (headers/trailers) can be passed through context instead of explicit wrapper objects, optimizing for the common case where developers don't need direct access to HTTP headers.
What's Changed
Enhancements
- Add simple flag for more ergonomic generated code by @bufdev and @smaye81 in #851
- Update Go to v1.24 and document http.Protocol use removing the dependency on
golang.org/x/net/http2by @maxbrunet in #873, #877 - Add support for Edition 2024 by @emcfarlane in #878
Bugfixes
Other changes
- Go version support updated to latest two instead of three by @jhump in #837
- CI testing improvements by @pkwarren and @jhump in #838, #839
- Code quality improvements by @mattrobenolt and @bufdev in #841, #867
- Documentation improvements by @adlion and @stefanvanburen in #821,
#880
New Contributors
- @adlion made their first contribution in #821
- @maxbrunet made their first contribution in #873
- @stefanvanburen made their first contribution in #880
Full Changelog: v1.18.1...v1.19.0
v1.18.1
What's Changed
Bugfixes
- Fix protoc-gen-connect-go schema variable case handling by @emcfarlane in #808
Full Changelog: v1.18.0...v1.18.1
v1.18.0
What's Changed
Enhancements
- Add
package_suffixoption toprotoc-gen-connect-goto allow specifying the output directory of generated code by @bufdev and @emcfarlane in #803 - Change stream client closures to be non-blocking by @emcfarlane in #791
Other changes
- Fix comment typo spelling of optimize by @yoshihiro-shu in #786
- Remove reader allocation for compressors pools by @emcfarlane in #792
New Contributors
- @yoshihiro-shu made their first contribution in #786
Full Changelog: v1.17.0...v1.18.0
v1.17.0
What's Changed
Enhancements
- Enable
protoc-gen-connect-gousage 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.EOFerrors by @jhump in #776
Other changes
New Contributors
Full Changelog: v1.16.2...v1.17.0
v1.16.2
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
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
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 IsSupportedcheck 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
ErrorWriterto 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
- Revise RPC error code <-> HTTP status code mappings per latest changes to the spec by @jhump in #706
New Contributors
Full Changelog: v1.15.0...v1.16.0
v1.15.0
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
- Add @emcfarlane as a maintainer in #680 🎉
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
@typeattribute 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
What's Changed
Security
- Update
google.golang.org/protobufto v1.32.0 to fix a security vulnerability inprotojsonthanks to @jhump in #660. For more information, refer to the protobuf v1.32.0 release notes.
Bugfixes
- Resolved an issue where the
ErrorWritermisclassified GET requests by @emcfarlane in #654
Full Changelog: v1.13.0...v1.14.0