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.
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
If there are only bug fixes and no new features, remove the -dev suffix, set MINOR number to be equal to the latest release, and set the PATCH number to be 1 more than the PATCH number of the latest release.
If there are features being released, remove the -dev suffix, set the MINOR number to be 1 more than the MINOR number of the latest release, and set the PATCH number to 0. In the common case, the diff here will just be to remove the -dev suffix.
-const Version = "1.14.0-dev"
+const Version = "1.14.0"
Open a PR titled "Prepare for vX.Y.Z" ([Example PR #661](connectrpc/connect-go#661)) and a description tagging all current maintainers. Once it's reviewed and CI passes, merge it.
Make sure no new commits are merged until the release is complete.
Review all commits in the new release and for each PR check an appropriate label is used and edit the title to be meaninful to end users. This will help auto-generated release notes match the final notes as closely as possible.
Using the Github UI, create a new release.
Under “Choose a tag”, type in “vX.Y.Z” to create a new tag for the release upon publish.
Target the main branch.
Title the Release “vX.Y.Z”.
Click “set as latest release”.
Set the last version as the “Previous tag”.
Click “Generate release notes” to autogenerate release notes.
Edit the release notes. A summary and other sub categories may be added if required but should, in most cases, be left as ### Enhancements and ### Bugfixes. Feel free to collect multiple small changes to docs or Github config into one line, but try to tag every contributor. Make especially sure to credit new external contributors!
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.14.0 to 1.15.0.
Release notes
Sourced from connectrpc.com/connect's releases.
Changelog
Sourced from connectrpc.com/connect's changelog.
Commits
51a33b8
Prepare for v1.15.0 (#692)2f76b54
Reconcile trailers-only and misc error behavior with grpc-go (#690)468ef0d
Upgrade to go1.22 and min version to go1.20 (#691)064c61e
Wrap errors with context cancellation codes (#659)1f132f4
Drop@type
from Connect error detail debug string (#688)1061b35
Release buffer for end-stream messages back to the pool (#678)7233f59
Verify that a trailers-only response is well-formed (#685)4524c7d
Remove redundant work when validating unary Connect response (#683)b84b000
Replace a Header.Get call with getHeaderCanonical (#682)cc86f64
Reduce scope oferr
var in response content-type checks (#681)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