Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: connectrpc/connect-go
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.15.0
Choose a base ref
...
head repository: connectrpc/connect-go
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.16.0
Choose a head ref
  • 13 commits
  • 26 files changed
  • 4 contributors

Commits on Feb 16, 2024

  1. Back to development (#693)

    jhump authored Feb 16, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b581b2b View commit details

Commits on Feb 21, 2024

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    32b3f43 View commit details

Commits on Mar 6, 2024

  1. Fix ErrorWriter IsSupportedCheck with required connect protocol option (

    #700)
    
    This PR fixes ErrorWriter to correctly return unsupported protocol if
    the option `WithRequireConnectProtocolHeader` is set and the header or
    query value isn't include in the request. It will now correctly return
    unsupported to ensure fallback options can process the error.
    
    Fixes #699
    emcfarlane authored Mar 6, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    6fab35e View commit details
  2. In Connect unary protocol, fallback to code based on HTTP status if u…

    …nable to deserialize it (#702)
    
    The spec states the following:
    
    When reading data from the wire, client implementations must
    use the HTTP-to-Connect mapping to infer a Connect error
    code if Bare-Message is missing or malformed.
    
    However, connect-go was only considering the message to be
    malformed if json.Unmarshal failed. Because Go's encoding/json
    package is fairly lenient in many ways, there were many kinds of
    malformed responses that would be accepted, such as the
    "code" property being absent or null. In these cases, connect-go
    was always falling back to using "unknown" as the code, instead
    of using the HTTP-to-Connect mapping as required by the spec.
    This addresses that and reconciles connect-go's behavior with
    the specification.
    jhump authored Mar 6, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    75d634f View commit details

Commits on Mar 12, 2024

  1. Revise code mappings per latest changes to spec (#706)

    This reconciles the implementation in this repo with the recent
    adjustments to HTTP<->Connect code mappings
    (connectrpc/connectrpc.com#130).
    
    The gRPC and Connect mappings from HTTP code to RPC code are now
    aligned, so this unifies them into a single function.
    jhump authored Mar 12, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    e3f35a6 View commit details
  2. Fix ErrorWriter to be codec agnostic (#701)

    This PR changes the ErrorWriter to be more lenient with classifying
    protocols. Errors codecs are agnostic to the codec used. Therefore we
    avoid checking the codec in classifying the request. IsSupported will
    return true for an unknown codec which allows the server to encode a
    better error message to the client. If not supported a 415 error
    response could be used to match gRPC server like handling. If not
    supported and trying to write an error the ErrorWriter will default to
    connects unary encoding (consistent with current behaviour).
    
    Fixes #689
    emcfarlane authored Mar 12, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    872a6fd View commit details

Commits on Mar 13, 2024

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    befee1d View commit details
  2. Update a couple of more places where we should return a context error…

    … if there is one (#709)
    
    With an HTTP/2 server implementation that eagerly performs a
    server-side cancelation of the stream upon seeing its deadline
    elapse, the client could end up returning a "canceled" error code,
    due to receiving a "RSTStream" frame, but should ideally return
    a "deadline exceeded" error instead. This fixes things so that it
    will instead return "deadline exceeded" in this situation.
    jhump authored Mar 13, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    c22fe4f View commit details

Commits on Mar 19, 2024

  1. Use "unimplemented" code for cardinality violations (#712)

    This library previously returned "unknown" as the error code.
    But the [docs for gRPC status codes](https://grpc.github.io/grpc/core/md_doc_statuscodes.html)
    state that "unimplemented" is the code that should be used.
    jhump authored Mar 19, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    fbcf0ff View commit details
  2. Restrict metadata headers in error propagation (#711)

    This PR addresses issues when propagating errors from a client back to a
    handler. On the client side connect errors will contain all response
    headers: transport (`Content-Type`, `Content-Length`, etc), protocol and
    application headers. These could break the transport when trying to
    re-encode the error or leak sensitive information between services. For
    any wire errors (errors decoded from a client response) we now disable
    meta propagation. For other errors we now also restrict the headers
    propagated.
    emcfarlane authored Mar 19, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    7b3b344 View commit details
  3. Only send a serialized Status in the gRPC protocol if it has details (#…

    …713)
    
    In the gRPC protocol, Connect would always serialize a
    `Status` proto and return it in the `Grpc-Status-Details-Bin`
    trailer. This differs from the official gRPC Go library's behavior,
    which is to only emit that header if the status has non-empty
    details. The remaining properties (`message` and `code`)
    are still returned via dedicated headers, so returning the
    encoded `Status` message is redundant.
    
    This PR aligns Connect's gRPC protocol with the grpc-go
    behavior, which also reduces the wire size of error
    responses in the common case that no details are provided.
    bhollis authored Mar 19, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    90df12f View commit details
  4. Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /internal/co…

    …nformance (#710)
    
    Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/protobuf&package-manager=go_modules&previous-version=1.32.0&new-version=1.33.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    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-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    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 <dependency name> 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)
    You can disable automated security fix PRs for this repo from the
    [Security Alerts
    page](https://github.com/connectrpc/connect-go/network/alerts).
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 19, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    dbd9097 View commit details

Commits on Mar 21, 2024

  1. Prepare for v1.16.0 (#714)

    jhump authored Mar 21, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0208427 View commit details
Loading