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
Other changes
Revise RPC error code HTTP status code mappings per latest changes to spec by @jhump in #706
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
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps connectrpc.com/connect from 1.15.0 to 1.16.0.
Release notes
Sourced from connectrpc.com/connect's releases.
Commits
0208427
Prepare for v1.16.0 (#714)dbd9097
Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /internal/conformanc...90df12f
Only send a serialized Status in the gRPC protocol if it has details (#713)7b3b344
Restrict metadata headers in error propagation (#711)fbcf0ff
Use "unimplemented" code for cardinality violations (#712)c22fe4f
Update a couple of more places where we should return a context error if ther...befee1d
Update to latest protobuf-go, v1.33.0 (#707)872a6fd
Fix ErrorWriter to be codec agnostic (#701)e3f35a6
Revise code mappings per latest changes to spec (#706)75d634f
In Connect unary protocol, fallback to code based on HTTP status if unable to...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show