Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency @bufbuild/connect-web to v0.12.0 #560

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 17, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@bufbuild/connect-web 0.8.6 -> 0.12.0 age adoption passing confidence

Release Notes

bufbuild/connect-es (@​bufbuild/connect-web)

v0.12.0

Compare Source

v0.11.0

Compare Source

What's Changed

Disregard non-JSON error response bodies for unary requests

This release makes a change in how response bodies are parsed for Connect unary requests that result in an HTTP error. Previously, all response bodies for unary requests that returned an HTTP error status were parsed with response.json(). However, this could lead to errors with non-JSON bodies. Now, only responses with a Content-Type of application/json will have the body parsed as JSON and added to the resulting Connect error.

For all other errors, the resulting Connect error will show the HTTP status code as the message and the corresponding Connect error code as the code.

To reiterate, this only affects Connect protocol unary requests that end with an HTTP error status code. All other protocols and/or RPC types are unaffected.

Enhancements

New Contributors

Full Changelog: connectrpc/connect-es@v0.10.1...v0.11.0

v0.10.1

Compare Source

What's Changed

Full Changelog: connectrpc/connect-es@v0.10.0...v0.10.1

v0.10.0

Compare Source

What's Changed

KeepAlive

As of this release, Connect-ES offers Basic Keepalive support for HTTP/2 for clients that use one of the transports from @bufbuild/connect-node. Note that this replaces the option keepSessionAlive, which is deprecated with this PR.

In it's most simple form, the following example enables regular PINGs every 5 minutes:

import { createConnectTransport } from "@​bufbuild/connect-node";

const transport = createConnectTransport({
  httpVersion: "2",
  baseUrl: "https://demo.connect.build",
  pingIntervalMs: 1000 * 60 * 5,
});

For more information, see https://github.com/bufbuild/connect-es/pull/673

JSON parser ignores unknown fields by default

This release also changes the default behavior of the JSON parser so that unknown fields are ignored rather than rejected. Previously, Connect-ES followed the official guidance of the proto3 language spec and rejected unknown fields by default in parsing. However, this contradicts with the ethos that adding fields to a Protobuf definition should not be a breaking change. Therefore, the default behavior has been changed so any new/unknown fields are simply ignored.

Note that this could be considered a breaking change if consumers were relying on this rejection behavior.

Enhancements

Full Changelog: connectrpc/connect-es@v0.9.1...v0.10.0

v0.9.1

Compare Source

What's Changed

Full Changelog: connectrpc/connect-es@v0.9.0...v0.9.1

v0.9.0

Compare Source

What's Changed

As of this release, connect-es 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 any gRPC or gRPC-web client, including createGrpcTransport() and createGrpcWebTransport() from @​bufbuild/connect-web or @​bufbuild/connect-node, 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, set the useHttpGet option:

const transport = createConnectTransport({
  // ...
  useHttpGet: true
});

Another noteworthy change is the full support of timeouts, also known as deadlines in gRPC. For example, when a client provides the timeoutMs call option, a header Connect-Timeout-Ms is added to the request. The server parses this timeout, and if it takes longer than the given timeout to process the request, it should give up, and respond with the error code deadline_exceeded.

On a connect-es server, the parsed timeout is available as an AbortSignal on the context:

import type { HandlerContext } from "@​bufbuild/connect";

const say = async (req: SayRequest, ctx: HandlerContext) => {

  ctx.signal.aborted; // true if timed out
  ctx.signal.reason; // an error with code deadline_exceed if timed out
  ctx.timeoutMs(); // the remaining time in milliseconds

  // raises an error with code deadline_exceed if timed out
  ctx.signal.throwIfAborted();

  // the AbortSignal can be passed to other functions
  await longRunning(ctx.signal);

  return new SayResponse({sentence: `You said: ${req.sentence}`});
};
Enhancements
Bugfixes
Breaking changes

New Contributors

Full Changelog: connectrpc/connect-es@v0.8.6...v0.9.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title Update dependency @bufbuild/connect-web to v0.9.0 Update dependency @bufbuild/connect-web to v0.9.1 May 30, 2023
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch from 3970a04 to e22e8e6 Compare May 30, 2023 19:08
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch from e22e8e6 to 3f656a9 Compare June 14, 2023 23:27
@renovate renovate bot changed the title Update dependency @bufbuild/connect-web to v0.9.1 Update dependency @bufbuild/connect-web to v0.10.0 Jun 14, 2023
@renovate renovate bot changed the title Update dependency @bufbuild/connect-web to v0.10.0 Update dependency @bufbuild/connect-web to v0.10.1 Jun 21, 2023
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch from 3f656a9 to 00408cb Compare June 21, 2023 17:12
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch 6 times, most recently from 7dd2e17 to cb6365b Compare June 29, 2023 13:05
@renovate renovate bot changed the title Update dependency @bufbuild/connect-web to v0.10.1 Update dependency @bufbuild/connect-web to v0.11.0 Jun 29, 2023
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch 14 times, most recently from e3e976d to 488abc0 Compare July 6, 2023 12:43
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch 2 times, most recently from bc212a9 to 22333e3 Compare July 6, 2023 18:38
@renovate renovate bot changed the title Update dependency @bufbuild/connect-web to v0.11.0 Update dependency @bufbuild/connect-web to v0.12.0 Jul 25, 2023
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch 3 times, most recently from c9a8161 to 12db29d Compare July 27, 2023 16:13
@renovate renovate bot force-pushed the renovate/bufbuild-connect-web-0.x branch from 12db29d to 7a0facb Compare July 27, 2023 16:14
@renovate
Copy link
Contributor Author

renovate bot commented Jul 27, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants