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 queue bindings #335

Merged
merged 10 commits into from
Mar 29, 2024
Merged

Update queue bindings #335

merged 10 commits into from
Mar 29, 2024

Conversation

jdon
Copy link
Contributor

@jdon jdon commented Jun 13, 2023

This PR updates the queue bindings to use the latest features and makes a breaking change to the handling of messages.

Breaking change:

  • message.id , message.timestamp and message.body have been changed to function calls,
    • i.e message.id() and message.timestamp().
    • Internally we now store the MessageSys inside the message. So rather than eagerly converting the ids and timestamp, we now only do it when the function is called.
  • iter() fn on MessageBatch no longer has a lifetime.

New queue features added:

  • ack() and retry() are now available on the individual message
    • retry_with_options() was added to allow specifying the QueueRetryOptions
  • ack_all() is now available on the message batch
  • retry_all_with_options() was added to the message batch to allow specifying the QueueRetryOptions
  • send_batch() is now available on the queue
  • It's now possible to set QueueSendOptions when sending a message
    • New builder structs MessageBuilder & RawMessageBuilder added to allow for the creation of messages with options.

Other changes:

  • Added queue example to the examples folder
  • The signature of Queue::send was changed to take Into<SendMessage<T> where T: Serialize, this change was made to allow users to optionally specify QueueSendOptions using the new builders.
    • This isn't a breaking a change as I've added impl<T: Serialize> From<T> for SendMessage<T>, so users can send the same values as before.
  • Allow for sending and receiving of the raw JsValue:
    • Message now has a raw_body function that returns a JsValue.
    • raw_iter() fn has been added to MessageBatch.
    • Queue now has a send_raw and send_raw_batch function that allows sending of JsValue.
    • I was unable to get the bytes content type working with batch messages, so I've not added that to the QueueContentType enum. I think the issue is bytes content types needs a js_sys::ArrayBuffer but js_sys::Reflect::set sets an object.

zebp
zebp previously requested changes Jun 14, 2023
worker/src/queue.rs Outdated Show resolved Hide resolved
worker/src/queue.rs Outdated Show resolved Hide resolved
@jdon jdon requested a review from zebp June 14, 2023 22:33
@jakubadamw
Copy link
Contributor

@zebp any chance this could be reviewed and merged? It seems like a useful change, and the review feedback has been addressed?

@jdon jdon force-pushed the update_queues branch 4 times, most recently from f9dfc68 to 298b579 Compare March 27, 2024 00:25
@jdon
Copy link
Contributor Author

jdon commented Mar 27, 2024

@zebp & @kflansburg, I've updated this PR with the latest changes from main, it would be great if we could get this reviewed and merged at some point🙏

Copy link
Member

@kflansburg kflansburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good. Will probably have it go out in its own release.

worker-sys/src/types/queue.rs Outdated Show resolved Hide resolved
@jdon
Copy link
Contributor Author

jdon commented Mar 28, 2024

I had a fresh look at the latest types and realized there had been more changes to queues since this PR was created.

I've made some more changes, so PR should now be up to date with the latest 2024-03-26 changes

@jdon jdon requested a review from kflansburg March 28, 2024 21:08
Copy link
Member

@kflansburg kflansburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together, I think this is going to be a really awesome improvement. Just have a few questions.

worker/src/queue.rs Outdated Show resolved Hide resolved
worker/src/queue.rs Show resolved Hide resolved
worker/src/queue.rs Show resolved Hide resolved
worker/src/queue.rs Outdated Show resolved Hide resolved
worker/src/queue.rs Outdated Show resolved Hide resolved
worker/src/queue.rs Show resolved Hide resolved
@jdon jdon requested a review from kflansburg March 29, 2024 01:06
@kflansburg kflansburg merged commit cd41d40 into cloudflare:main Mar 29, 2024
3 checks passed
jakubadamw added a commit to grafbase/grafbase that referenced this pull request Apr 2, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@apollo/client](https://www.apollographql.com/docs/react/)
([source](https://togithub.com/apollographql/apollo-client)) | [`3.9.9`
->
`3.9.10`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.9.9/3.9.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fclient/3.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fclient/3.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fclient/3.9.9/3.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fclient/3.9.9/3.9.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [@grafbase/sdk](https://togithub.com/grafbase/grafbase)
([source](https://togithub.com/grafbase/grafbase/tree/HEAD/packages/grafbase-sdk))
| [`0.19.0` ->
`0.19.1`](https://renovatebot.com/diffs/npm/@grafbase%2fsdk/0.19.0/0.19.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@grafbase%2fsdk/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@grafbase%2fsdk/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@grafbase%2fsdk/0.19.0/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@grafbase%2fsdk/0.19.0/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/bun](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bun)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun))
| [`1.0.11` ->
`1.0.12`](https://renovatebot.com/diffs/npm/@types%2fbun/1.0.11/1.0.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fbun/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fbun/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fbun/1.0.11/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fbun/1.0.11/1.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.11.30` ->
`20.12.3`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.30/20.12.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.30/20.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.30/20.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`18.2.73` ->
`18.2.74`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.73/18.2.74)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.2.73/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.2.73/18.2.74?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/react-dom](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom))
| [`18.2.22` ->
`18.2.23`](https://renovatebot.com/diffs/npm/@types%2freact-dom/18.2.22/18.2.23)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/18.2.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-dom/18.2.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-dom/18.2.22/18.2.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/18.2.22/18.2.23?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin)
([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`7.4.0` ->
`7.5.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.4.0/7.5.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`7.4.0` ->
`7.5.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.4.0/7.5.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [axum-aws-lambda](https://togithub.com/lazear/axum-aws-lambda) |
`0.6.0` -> `0.7.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/axum-aws-lambda/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/axum-aws-lambda/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/axum-aws-lambda/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/axum-aws-lambda/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [bun](https://bun.sh) ([source](https://togithub.com/oven-sh/bun)) |
[`1.0.35` ->
`1.1.0`](https://renovatebot.com/diffs/npm/bun/1.0.35/1.1.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/bun/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bun/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bun/1.0.35/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bun/1.0.35/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [deadpool-postgres](https://togithub.com/bikeshedder/deadpool) |
`0.12` -> `0.13` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/deadpool-postgres/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/deadpool-postgres/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/deadpool-postgres/0.12.1/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/deadpool-postgres/0.12.1/0.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
| [expect-test](https://togithub.com/rust-analyzer/expect-test) |
`1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [expect-test](https://togithub.com/rust-analyzer/expect-test) | `1.4`
-> `1.5` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [expect-test](https://togithub.com/rust-analyzer/expect-test) | `1.4`
-> `1.5` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [expect-test](https://togithub.com/rust-analyzer/expect-test) |
`1.4.1` -> `1.5.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/expect-test/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/expect-test/1.4.1/1.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [houdini](https://togithub.com/HoudiniGraphql/houdini) | [`1.2.45` ->
`1.2.46`](https://renovatebot.com/diffs/npm/houdini/1.2.45/1.2.46) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/houdini/1.2.46?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/houdini/1.2.46?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/houdini/1.2.45/1.2.46?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/houdini/1.2.45/1.2.46?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [insta](https://insta.rs/)
([source](https://togithub.com/mitsuhiko/insta)) | `1.37.0` -> `1.38.0`
|
[![age](https://developer.mend.io/api/mc/badges/age/crate/insta/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/insta/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/insta/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/insta/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [insta](https://insta.rs/)
([source](https://togithub.com/mitsuhiko/insta)) | `1.37` -> `1.38` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/insta/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/insta/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/insta/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/insta/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [lambda_http](https://togithub.com/awslabs/aws-lambda-rust-runtime) |
`0.11.0` -> `0.11.1` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/lambda_http/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/lambda_http/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/lambda_http/0.11.0/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/lambda_http/0.11.0/0.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) |
[`8.15.5` ->
`8.15.6`](https://renovatebot.com/diffs/npm/pnpm/8.15.5/8.15.6) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/8.15.5/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/8.15.5/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| packageManager | patch |
|
[reqwest-eventsource](https://togithub.com/jpopesculian/reqwest-eventsource)
| `0.5` -> `0.6` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/reqwest-eventsource/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/reqwest-eventsource/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/reqwest-eventsource/0.5.0/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/reqwest-eventsource/0.5.0/0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | `1.36` -> `1.37` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.36.0/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.36.0/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | `1.36` -> `1.37` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.36.0/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.36.0/1.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [tokio-rustls](https://togithub.com/rustls/tokio-rustls) | `0.25` ->
`0.26` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio-rustls/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio-rustls/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio-rustls/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio-rustls/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
| [vite](https://vitejs.dev)
([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`5.2.6` -> `5.2.7`](https://renovatebot.com/diffs/npm/vite/5.2.6/5.2.7)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.2.6/5.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.2.6/5.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [worker](https://togithub.com/cloudflare/workers-rs) | `0.0.23` ->
`0.0.24` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/worker/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/worker/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/worker/0.0.23/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/worker/0.0.23/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [worker](https://togithub.com/cloudflare/workers-rs) | `0.0.23` ->
`0.0.24` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/worker/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/worker/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/worker/0.0.23/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/worker/0.0.23/0.0.24?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | patch |

---

### Release Notes

<details>
<summary>apollographql/apollo-client (@&#8203;apollo/client)</summary>

###
[`v3.9.10`](https://togithub.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3910)

[Compare
Source](https://togithub.com/apollographql/apollo-client/compare/v3.9.9...v3.9.10)

##### Patch Changes

-
[#&#8203;11738](https://togithub.com/apollographql/apollo-client/pull/11738)
[`b1a5eb8`](https://togithub.com/apollographql/apollo-client/commit/b1a5eb80cae8bdf2e9d8627f1eab65e088c43438)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Fix an
issue where rerendering `useBackgroundQuery` after the `queryRef` had
been disposed, either via the auto dispose timeout or by unmounting
`useReadQuery`, would cause the `queryRef` to be recreated potentially
resulting in another network request.

-
[#&#8203;11738](https://togithub.com/apollographql/apollo-client/pull/11738)
[`b1a5eb8`](https://togithub.com/apollographql/apollo-client/commit/b1a5eb80cae8bdf2e9d8627f1eab65e088c43438)
Thanks [@&#8203;jerelmiller](https://togithub.com/jerelmiller)! - Allow
queryRefs to be disposed of synchronously when a suspense hook unmounts.
This prevents some situations where using a suspense hook with the same
query/variables as the disposed queryRef accidentally used the disposed
queryRef rather than creating a new instance.

-
[#&#8203;11670](https://togithub.com/apollographql/apollo-client/pull/11670)
[`cc5c03b`](https://togithub.com/apollographql/apollo-client/commit/cc5c03b2690f452483d83eecb68611a23055d99e)
Thanks [@&#8203;phryneas](https://togithub.com/phryneas)! - Bail out of
`executeSubSelectedArray` calls if the array has 0 elements.

</details>

<details>
<summary>grafbase/grafbase (@&#8203;grafbase/sdk)</summary>

###
[`v0.19.1`](https://togithub.com/grafbase/grafbase/blob/HEAD/packages/grafbase-sdk/CHANGELOG.md#0191---Tue-Apr-2-2024)

[Compare
Source](https://togithub.com/grafbase/grafbase/compare/0.19.0...0.19.1)

[CHANGELOG](changelog/0.19.1.md)

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v7.5.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#750-2024-04-01)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.4.0...v7.5.0)

##### 🩹 Fixes

- **eslint-plugin:** \[no-floating-promises] handle
TaggedTemplateExpression

- **eslint-plugin:** \[no-unnecessary-type-assertion] handle
exactOptionalPropertyTypes compiler option

##### ❤️  Thank You

-   Brad Zacher
-   Kim Sang Du
-   Mark de Dios
-   Naru
-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v7.5.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#750-2024-04-01)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.4.0...v7.5.0)

##### 🩹 Fixes

-   **parser:** disallow `errorOnTypeScriptSyntacticAndSemanticIssues`

##### ❤️  Thank You

-   Brad Zacher
-   Kim Sang Du
-   Mark de Dios
-   Naru
-   YeonJuan

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>lazear/axum-aws-lambda (axum-aws-lambda)</summary>

###
[`v0.7.0`](https://togithub.com/lazear/axum-aws-lambda/blob/HEAD/CHANGELOG.md#070)

[Compare
Source](https://togithub.com/lazear/axum-aws-lambda/compare/v0.6.0...v0.7.0)

##### Changed

-   Upgrade lambda_http to 0.11

</details>

<details>
<summary>oven-sh/bun (bun)</summary>

###
[`v1.1.0`](https://togithub.com/oven-sh/bun/compare/bun-v1.0.36...5903a614102704a627e6add42fc5668eb7acb68e)

[Compare
Source](https://togithub.com/oven-sh/bun/compare/bun-v1.0.36...bun-v1.1.0)

###
[`v1.0.36`](https://togithub.com/oven-sh/bun/releases/tag/bun-v1.0.36):
Bun v1.0.36

[Compare
Source](https://togithub.com/oven-sh/bun/compare/bun-v1.0.35...bun-v1.0.36)

To install Bun v1.0.36:

```bash
curl https://bun.sh/install | bash

##### or you can use npm
##### npm install -g bun
```

To upgrade to Bun v1.0.36:

```bash
bun upgrade
```

##### **[Read Bun v1.0.36's release notes on Bun's
blog](https://bun.sh/blog/bun-v1.0.36)**

##### Thank you to 13 contributors!

-   [@&#8203;buhrmi](https://togithub.com/buhrmi)
-   [@&#8203;cirospaciari](https://togithub.com/cirospaciari)
-   [@&#8203;davlgd](https://togithub.com/davlgd)
-   [@&#8203;dylan-conway](https://togithub.com/dylan-conway)
-   [@&#8203;eduardvercaemer](https://togithub.com/eduardvercaemer)
-   [@&#8203;Jarred-Sumner](https://togithub.com/Jarred-Sumner)
-   [@&#8203;kucukkanat](https://togithub.com/kucukkanat)
-   [@&#8203;kunokareal](https://togithub.com/kunokareal)
-   [@&#8203;nshen](https://togithub.com/nshen)
-   [@&#8203;paperdave](https://togithub.com/paperdave)
-   [@&#8203;pfgithub](https://togithub.com/pfgithub)
-   [@&#8203;sequencerr](https://togithub.com/sequencerr)
-   [@&#8203;zackradisic](https://togithub.com/zackradisic)

**Full Changelog**:
oven-sh/bun@bun-v1.0.35...bun-v1.0.36

</details>

<details>
<summary>bikeshedder/deadpool (deadpool-postgres)</summary>

###
[`v0.13.0`](https://togithub.com/bikeshedder/deadpool/compare/deadpool-postgres-v0.12.1...deadpool-postgres-v0.13.0)

[Compare
Source](https://togithub.com/bikeshedder/deadpool/compare/deadpool-postgres-v0.12.1...deadpool-postgres-v0.13.0)

</details>

<details>
<summary>rust-analyzer/expect-test (expect-test)</summary>

###
[`v1.5.0`](https://togithub.com/rust-analyzer/expect-test/blob/HEAD/CHANGELOG.md#150)

[Compare
Source](https://togithub.com/rust-analyzer/expect-test/compare/v1.4.1...v1.5.0)

- Make the `data` from an `ExpectFile` accessible
(\[[#&#8203;43](https://togithub.com/rust-analyzer/expect-test/issues/43)])

</details>

<details>
<summary>HoudiniGraphql/houdini (houdini)</summary>

###
[`v1.2.46`](https://togithub.com/HoudiniGraphql/houdini/releases/tag/houdini%401.2.46)

[Compare
Source](https://togithub.com/HoudiniGraphql/houdini/compare/houdini@1.2.45...houdini@1.2.46)

##### ✨ Features

- [#&#8203;1286](https://togithub.com/HoudiniGraphql/houdini/pull/1286)
[`f45e9126`](https://togithub.com/HoudiniGraphql/houdini/commit/f45e9126e2481cfcd67043e1f5bd7bef6575acaf)
[@&#8203;Hebilicious](https://togithub.com/Hebilicious) - add support
for the new 'using' syntax (explicit resource management:
<https://github.com/tc39/proposal-explicit-resource-management>)

##### 🐛 Fixes

- [#&#8203;1289](https://togithub.com/HoudiniGraphql/houdini/pull/1289)
[`6820d36e`](https://togithub.com/HoudiniGraphql/houdini/commit/6820d36ea4f452f904319a322afa44f6765b5285)
[@&#8203;SeppahBaws](https://togithub.com/SeppahBaws) - Mutation list
operations now work if you need to pass a `@with` directive to the
fragment spread

</details>

<details>
<summary>mitsuhiko/insta (insta)</summary>

###
[`v1.38.0`](https://togithub.com/mitsuhiko/insta/blob/HEAD/CHANGELOG.md#1380)

[Compare
Source](https://togithub.com/mitsuhiko/insta/compare/1.37.0...1.38.0)

- `Filters` is now constructible from `IntoIterator`.
[#&#8203;400](https://togithub.com/mitsuhiko/insta/issues/400)

- Change `std` macro calls to be fully qualified. This fixes issues
where
the prelude was not used or the macros were overridden.
[#&#8203;469](https://togithub.com/mitsuhiko/insta/issues/469)

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v8.15.6`](https://togithub.com/pnpm/pnpm/releases/tag/v8.15.6)

[Compare
Source](https://togithub.com/pnpm/pnpm/compare/v8.15.5...v8.15.6)

#### Patch Changes

- The exit code of the child process should be preserved on `pnpm run`
[#&#8203;7817](https://togithub.com/pnpm/pnpm/issues/7817).
- When sorting packages in a workspace, take into account workspace
dependencies specified as `peerDependencies`
[#&#8203;7813](https://togithub.com/pnpm/pnpm/issues/7813).
- Add `--ignore-scripts` argument to `prune` command
[#&#8203;7836](https://togithub.com/pnpm/pnpm/pull/7836).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg"
width="80"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/discord.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/discord_light.svg" />
<img src="https://pnpm.io/img/users/discord.svg" width="220" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="85" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
            <img src="https://pnpm.io/img/users/nx.svg" width="120" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/coderabbit.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
<img src="https://pnpm.io/img/users/coderabbit.svg" width="220" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=readme"
target="_blank">
<img src="https://pnpm.io/img/users/vpsserver.svg" width="180" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

</details>

<details>
<summary>jpopesculian/reqwest-eventsource
(reqwest-eventsource)</summary>

###
[`v0.6.0`](https://togithub.com/jpopesculian/reqwest-eventsource/compare/v0.5.0...v0.6.0)

[Compare
Source](https://togithub.com/jpopesculian/reqwest-eventsource/compare/v0.5.0...v0.6.0)

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

###
[`v1.37.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.37.0):
Tokio v1.37.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0)

##### 1.37.0 (March 28th, 2024)

##### Added

-   fs: add `set_max_buf_size` to `tokio::fs::File` ([#&#8203;6411])
- io: add `try_new` and `try_with_interest` to `AsyncFd`
([#&#8203;6345])
-   sync: add `forget_permits` method to semaphore ([#&#8203;6331])
- sync: add `is_closed`, `is_empty`, and `len` to mpsc receivers
([#&#8203;6348])
- sync: add a `rwlock()` method to owned `RwLock` guards
([#&#8203;6418])
- sync: expose strong and weak counts of mpsc sender handles
([#&#8203;6405])
-   sync: implement `Clone` for `watch::Sender` ([#&#8203;6388])
-   task: add `TaskLocalFuture::take_value` ([#&#8203;6340])
-   task: implement `FromIterator` for `JoinSet` ([#&#8203;6300])

##### Changed

- io: make `io::split` use a mutex instead of a spinlock
([#&#8203;6403])

##### Fixed

-   docs: fix docsrs build without net feature ([#&#8203;6360])
-   macros: allow select with only else branch ([#&#8203;6339])
- runtime: fix leaking registration entries when os registration fails
([#&#8203;6329])

##### Documented

- io: document cancel safety of `AsyncBufReadExt::fill_buf`
([#&#8203;6431])
- io: document cancel safety of `AsyncReadExt`'s primitive read
functions ([#&#8203;6337])
- runtime: add doc link from `Runtime` to `#[tokio::main]`
([#&#8203;6366])
-   runtime: make the `enter` example deterministic ([#&#8203;6351])
- sync: add Semaphore example for limiting the number of outgoing
requests ([#&#8203;6419])
-   sync: fix missing period in broadcast docs ([#&#8203;6377])
- sync: mark `mpsc::Sender::downgrade` with `#[must_use]`
([#&#8203;6326])
-   sync: reorder `const_new` before `new_with` ([#&#8203;6392])
-   sync: update watch channel docs ([#&#8203;6395])
-   task: fix documentation links ([#&#8203;6336])

##### Changed (unstable)

-   runtime: include task `Id` in taskdumps ([#&#8203;6328])
- runtime: panic if `unhandled_panic` is enabled when not supported
([#&#8203;6410])

[#&#8203;6300]: https://togithub.com/tokio-rs/tokio/pull/6300

[#&#8203;6326]: https://togithub.com/tokio-rs/tokio/pull/6326

[#&#8203;6328]: https://togithub.com/tokio-rs/tokio/pull/6328

[#&#8203;6329]: https://togithub.com/tokio-rs/tokio/pull/6329

[#&#8203;6331]: https://togithub.com/tokio-rs/tokio/pull/6331

[#&#8203;6336]: https://togithub.com/tokio-rs/tokio/pull/6336

[#&#8203;6337]: https://togithub.com/tokio-rs/tokio/pull/6337

[#&#8203;6339]: https://togithub.com/tokio-rs/tokio/pull/6339

[#&#8203;6340]: https://togithub.com/tokio-rs/tokio/pull/6340

[#&#8203;6345]: https://togithub.com/tokio-rs/tokio/pull/6345

[#&#8203;6348]: https://togithub.com/tokio-rs/tokio/pull/6348

[#&#8203;6351]: https://togithub.com/tokio-rs/tokio/pull/6351

[#&#8203;6360]: https://togithub.com/tokio-rs/tokio/pull/6360

[#&#8203;6366]: https://togithub.com/tokio-rs/tokio/pull/6366

[#&#8203;6377]: https://togithub.com/tokio-rs/tokio/pull/6377

[#&#8203;6388]: https://togithub.com/tokio-rs/tokio/pull/6388

[#&#8203;6392]: https://togithub.com/tokio-rs/tokio/pull/6392

[#&#8203;6395]: https://togithub.com/tokio-rs/tokio/pull/6395

[#&#8203;6403]: https://togithub.com/tokio-rs/tokio/pull/6403

[#&#8203;6405]: https://togithub.com/tokio-rs/tokio/pull/6405

[#&#8203;6410]: https://togithub.com/tokio-rs/tokio/pull/6410

[#&#8203;6411]: https://togithub.com/tokio-rs/tokio/pull/6411

[#&#8203;6418]: https://togithub.com/tokio-rs/tokio/pull/6418

[#&#8203;6419]: https://togithub.com/tokio-rs/tokio/pull/6419

[#&#8203;6431]: https://togithub.com/tokio-rs/tokio/pull/6431

</details>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.2.7`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small527-2024-03-29-small)

[Compare
Source](https://togithub.com/vitejs/vite/compare/v5.2.6...v5.2.7)

- chore: deprecate splitVendorChunkPlugin
([#&#8203;16274](https://togithub.com/vitejs/vite/issues/16274))
([45a06da](https://togithub.com/vitejs/vite/commit/45a06da)), closes
[#&#8203;16274](https://togithub.com/vitejs/vite/issues/16274)
- fix: skip injecting `__vite__mapDeps` when it's not used
([#&#8203;16271](https://togithub.com/vitejs/vite/issues/16271))
([890538a](https://togithub.com/vitejs/vite/commit/890538a)), closes
[#&#8203;16271](https://togithub.com/vitejs/vite/issues/16271)
- fix(deps): update all non-major dependencies
([#&#8203;16258](https://togithub.com/vitejs/vite/issues/16258))
([7caef42](https://togithub.com/vitejs/vite/commit/7caef42)), closes
[#&#8203;16258](https://togithub.com/vitejs/vite/issues/16258)
- fix(hmr): don't mutate module graph when collecting modules
([#&#8203;16302](https://togithub.com/vitejs/vite/issues/16302))
([dfffea1](https://togithub.com/vitejs/vite/commit/dfffea1)), closes
[#&#8203;16302](https://togithub.com/vitejs/vite/issues/16302)
- fix(hmr): trigger hmr for missing file import errored module after
file creation
([#&#8203;16303](https://togithub.com/vitejs/vite/issues/16303))
([ffedc06](https://togithub.com/vitejs/vite/commit/ffedc06)), closes
[#&#8203;16303](https://togithub.com/vitejs/vite/issues/16303)
- fix(sourcemap): don't warn even if the sourcesContent is an empty
string ([#&#8203;16273](https://togithub.com/vitejs/vite/issues/16273))
([24e376a](https://togithub.com/vitejs/vite/commit/24e376a)), closes
[#&#8203;16273](https://togithub.com/vitejs/vite/issues/16273)
- feat(hmr): reload when HTML file is created/deleted
([#&#8203;16288](https://togithub.com/vitejs/vite/issues/16288))
([1f53796](https://togithub.com/vitejs/vite/commit/1f53796)), closes
[#&#8203;16288](https://togithub.com/vitejs/vite/issues/16288)

</details>

<details>
<summary>cloudflare/workers-rs (worker)</summary>

###
[`v0.0.24`](https://togithub.com/cloudflare/workers-rs/releases/tag/v0.0.24)

[Compare
Source](https://togithub.com/cloudflare/workers-rs/compare/v0.0.23...v0.0.24)

##### Major Changes to Queues API

In
[cloudflare/workers-rs#335,
major changes were made to the Queues API to bring it to parity with new
features that have been introduced to the JavaScript API over time. This
includes things like [content
type](https://developers.cloudflare.com/queues/reference/javascript-apis/#queuescontenttype),
[delaying
messages](https://developers.cloudflare.com/queues/reference/batching-retries/#delay-messages),
and [explicit acknowledgement and
retries](https://developers.cloudflare.com/queues/reference/batching-retries/#explicit-acknowledgement-and-retries).

This comes with a few breaking changes:

- `Message` fields like `body`, `timestamp`, and `id` are no longer
public, and `Message` can no longer be created from a struct literal.
Instead, these fields must be accessed via methods `body()`,
`timestamp()`, and `id()`.
-   `iter()` on `MessageBatch` no longer has a lifetime.
-   `MessageBatch::new()` has been removed.

New features:

-   `ack()` and `retry()` are now available on the individual message
- `retry_with_options()` was added to allow specifying the
`QueueRetryOptions`
-   `ack_all()` is now available on `MessageBatch`
- `retry_all_with_options()` was added to `MessageBatch` to allow
specifying the `QueueRetryOptions`
-   `send_batch()` is now available on `Queue`
-   It's now possible to set `QueueSendOptions` when sending a message
- New builder structs `MessageBuilder`, `BatchMessageBuilder`, and
`RawMessageBuilder` added to allow for the creation of messages with
options.
- Allow for sending and receiving of the raw `JsValue` (either `Text` or
`V8` content types):
- `Message` now has a `raw_body` function that returns a `JsValue`.
    -   `raw_iter()` fn has been added to `MessageBatch`.
- `Queue` now has a `send_raw` and `send_raw_batch` function that allows
sending of `JsValue`.

Thanks to [@&#8203;jdon](https://togithub.com/jdon) !

##### Other Changes

- Add worker-kv crate to repository. by
[@&#8203;Kakapio](https://togithub.com/Kakapio) in
[cloudflare/workers-rs#494
- chore(deps-dev): bump ansi-regex from 5.0.0 to 5.0.1 in
/worker-kv/tests by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[cloudflare/workers-rs#506
- chore(deps-dev): bump the npm_and_yarn group group in /worker-kv/tests
with 1 update by [@&#8203;dependabot](https://togithub.com/dependabot)
in
[cloudflare/workers-rs#508
- Add semver checks and sanity-check build to create-release-pr by
[@&#8203;kflansburg](https://togithub.com/kflansburg) in
[cloudflare/workers-rs#512

**Full Changelog**:
cloudflare/workers-rs@v0.0.23...v0.0.24

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/grafbase/grafbase).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants