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

Run a stress thread for each logical core #1675

Merged
merged 1 commit into from
Apr 22, 2024

Conversation

ThomsonTan
Copy link
Contributor

Fixes #1405
Design discussion issue (if applicable) #

Currently the stress test run a thread for each physical core with physical core reserved for the main loop. For CPU with hyper-thread enabled, this actually will take less than 50% CPU time for the whole stress run. Fix this by spawning the number of threads as the number of logical cores, but still reserve one logical core for main loop.

Task Manager shows the CPU usage as 100% and stable.

Changes

Please provide a brief description of the changes here.

Merge requirement checklist

  • CONTRIBUTING guidelines followed
  • Unit tests added/updated (if applicable)
  • Appropriate CHANGELOG.md files updated for non-trivial, user-facing changes
  • Changes in public API reviewed (if applicable)

@ThomsonTan ThomsonTan requested a review from a team as a code owner April 22, 2024 17:39
@cijothomas
Copy link
Member

@ThomsonTan Thanks for looking into it. Can you run the stress tests (pick any!), and share the before/after numbers as well to see what impact switching to logical cores has on overall throughout!

@ThomsonTan
Copy link
Contributor Author

ThomsonTan commented Apr 22, 2024

@ThomsonTan Thanks for looking into it. Can you run the stress tests (pick any!), and share the before/after numbers as well to see what impact switching to logical cores has on overall throughout!

Sure, here are the data collected for the logs stress run before and after this PR on my 16 cores devbox.

Before the PR

  • CPU Usage on Cores:
    image

  • Overall CPU usage:
    image

  • Throughput

Number of threads: 8
Throughput: 4,351,400 iterations/sec

With this PR

  • CPU Usage on Cores
    image

  • Overall CPU Usage:
    image

  • Throughput

Number of threads: 16
Throughput: 5,961,800 iterations/sec

@lalitb
Copy link
Member

lalitb commented Apr 22, 2024

Number of threads: 8
Throughput: 4,351,400 iterations/sec

Are these results with release build, if not can you share that number too?

@ThomsonTan
Copy link
Contributor Author

Number of threads: 8
Throughput: 4,351,400 iterations/sec

Are these results with release build, if not can you share that number too?

Yes, the previous throughput number is based on debug build. Below is the data from release build. (CPU usage data looks similar and ignore here).

Throughput before the PR

Number of threads: 8
Throughput: 12,116,200 iterations/sec

Throughput with the PR

Number of threads: 16
Throughput: 18,980,000 iterations/sec

@cijothomas
Copy link
Member

@ThomsonTan I see similar results for logs. But for metrics, it looks like the throughtput drops actually! Might have to do with metrics sdk implementation itself!

@TommyCpp
Copy link
Contributor

Might have to do with metrics sdk implementation itself

We probably do more context switching in metrics than logs because of the aggregation of data points?

@ThomsonTan
Copy link
Contributor Author

@ThomsonTan I see similar results for logs. But for metrics, it looks like the throughtput drops actually! Might have to do with metrics sdk implementation itself!

Yes, I do see the same on metrics. Could it be that metrics SDK spawns its own internal threads for aggregation? If so, it could be slowed down before that extra threads will contend CPU resources with the stress threads. And this increased race condition may lower the throughput.

@lalitb
Copy link
Member

lalitb commented Apr 22, 2024

But for metrics, it looks like the throughtput drops actually!

This behavior has been documented in the PR description : #1564. All the threads competition for the single hashmap lock.

``
Based on the above results- with PR, the perf seems to be increasing significantly with the number of threads. In the main branch, the performance increases with threads till a threshold and then starts degrading.

``

@cijothomas cijothomas merged commit 9854bb5 into open-telemetry:main Apr 22, 2024
14 of 15 checks passed
@cijothomas
Copy link
Member

Thanks for your first PR @ThomsonTan !

We understand the throughput is dropping for metrics, but that is separatelybeing addressed.!

@@ -26,7 +26,7 @@ where
STOP.store(true, Ordering::SeqCst);
})
.expect("Error setting Ctrl-C handler");
let num_threads = num_cpus::get_physical();
let num_threads = num_cpus::get();
Copy link
Member

Choose a reason for hiding this comment

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

feel like the same advice I constantly give to my little kids! No physical fights 🤣

jakubadamw added a commit to grafbase/grafbase that referenced this pull request Jun 3, 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 |
|---|---|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.12.12` ->
`20.14.0`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.12/20.14.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.12/20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.12/20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.12.11` ->
`20.14.0`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.11/20.14.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.12.11/20.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.12.11/20.14.0?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.3.2` ->
`18.3.3`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.2/18.3.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.2/18.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.2/18.3.3?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.8.0` ->
`7.11.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.11.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.8.0/7.11.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.8.0` ->
`7.11.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.8.0/7.11.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.8.0/7.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.8.0/7.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@vitejs/plugin-react](https://togithub.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme)
([source](https://togithub.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react))
| [`4.2.1` ->
`4.3.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react/4.2.1/4.3.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-react/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-react/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-react/4.2.1/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-react/4.2.1/4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [async-compression](https://togithub.com/Nullus157/async-compression)
| `0.4.10` -> `0.4.11` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/async-compression/0.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/async-compression/0.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/async-compression/0.4.10/0.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/async-compression/0.4.10/0.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [async-lock](https://togithub.com/smol-rs/async-lock) | `3.3.0` ->
`3.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/async-lock/3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/async-lock/3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/async-lock/3.3.0/3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/async-lock/3.3.0/3.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [async-tungstenite](https://togithub.com/sdroege/async-tungstenite) |
`0.25.1` -> `0.26.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/async-tungstenite/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/async-tungstenite/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/async-tungstenite/0.25.1/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/async-tungstenite/0.25.1/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [async-tungstenite](https://togithub.com/sdroege/async-tungstenite) |
`0.25.1` -> `0.26.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/async-tungstenite/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/async-tungstenite/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/async-tungstenite/0.25.1/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/async-tungstenite/0.25.1/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [backtrace](https://togithub.com/rust-lang/backtrace-rs) | `0.3.71` ->
`0.3.72` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/backtrace/0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/backtrace/0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/backtrace/0.3.71/0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/backtrace/0.3.71/0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [bun](https://bun.sh) ([source](https://togithub.com/oven-sh/bun)) |
[`1.1.10` ->
`1.1.12`](https://renovatebot.com/diffs/npm/bun/1.1.10/1.1.12) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/bun/1.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bun/1.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bun/1.1.10/1.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bun/1.1.10/1.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[eslint-plugin-react](https://togithub.com/jsx-eslint/eslint-plugin-react)
| [`7.34.1` ->
`7.34.2`](https://renovatebot.com/diffs/npm/eslint-plugin-react/7.34.1/7.34.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-react/7.34.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-react/7.34.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-react/7.34.1/7.34.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-react/7.34.1/7.34.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [hyper-util](https://hyper.rs)
([source](https://togithub.com/hyperium/hyper-util)) | `0.1.4` ->
`0.1.5` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/hyper-util/0.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/hyper-util/0.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/hyper-util/0.1.4/0.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/hyper-util/0.1.4/0.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | patch |
| [openidconnect](https://togithub.com/ramosbugs/openidconnect-rs) |
`4.0.0-alpha.1` -> `4.0.0-alpha.2` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/openidconnect/4.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/openidconnect/4.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/openidconnect/4.0.0-alpha.1/4.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/openidconnect/4.0.0-alpha.1/4.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | patch |
|
[opentelemetry](https://togithub.com/open-telemetry/opentelemetry-rust)
| `0.22` -> `0.23` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/opentelemetry/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/opentelemetry/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/opentelemetry/0.22.0/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/opentelemetry/0.22.0/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
|
[opentelemetry-otlp](https://togithub.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp)
([source](https://togithub.com/open-telemetry/opentelemetry-rust/tree/HEAD/opentelemetry-otlp))
| `0.15` -> `0.16` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/opentelemetry-otlp/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/opentelemetry-otlp/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/opentelemetry-otlp/0.15.0/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/opentelemetry-otlp/0.15.0/0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
|
[opentelemetry-stdout](https://togithub.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-stdout)
([source](https://togithub.com/open-telemetry/opentelemetry-rust/tree/HEAD/opentelemetry-stdout))
| `0.3` -> `0.4` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/opentelemetry-stdout/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/opentelemetry-stdout/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/opentelemetry-stdout/0.3.0/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/opentelemetry-stdout/0.3.0/0.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
|
[opentelemetry_sdk](https://togithub.com/open-telemetry/opentelemetry-rust)
| `0.22.0` -> `0.23.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/opentelemetry_sdk/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/opentelemetry_sdk/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/opentelemetry_sdk/0.22.1/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/opentelemetry_sdk/0.22.1/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) |
[`9.1.3` -> `9.1.4`](https://renovatebot.com/diffs/npm/pnpm/9.1.3/9.1.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.1.3/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.1.3/9.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| packageManager | patch |
| [proc-macro2](https://togithub.com/dtolnay/proc-macro2) | `1.0.84` ->
`1.0.85` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/proc-macro2/1.0.85?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/proc-macro2/1.0.85?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/proc-macro2/1.0.84/1.0.85?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/proc-macro2/1.0.84/1.0.85?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [rstest](https://togithub.com/la10736/rstest) | `0.19` -> `0.21` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/rstest/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/rstest/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/rstest/0.19.0/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/rstest/0.19.0/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [rstest](https://togithub.com/la10736/rstest) | `0.19` -> `0.21` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/rstest/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/rstest/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/rstest/0.19.0/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/rstest/0.19.0/0.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
| [rstest_reuse](https://togithub.com/la10736/rstest) | `0.6` -> `0.7` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/rstest_reuse/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/rstest_reuse/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/rstest_reuse/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/rstest_reuse/0.6.0/0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [strum_macros](https://togithub.com/Peternator7/strum) | `0.26.2` ->
`0.26.3` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/strum_macros/0.26.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/strum_macros/0.26.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/strum_macros/0.26.2/0.26.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/strum_macros/0.26.2/0.26.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | patch |
| [swc_ecma_ast](https://togithub.com/swc-project/swc) | `0.113.4` ->
`0.113.5` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/swc_ecma_ast/0.113.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/swc_ecma_ast/0.113.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/swc_ecma_ast/0.113.4/0.113.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/swc_ecma_ast/0.113.4/0.113.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | `1.37.0` -> `1.38.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dev-dependencies | minor |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | `1.37.0` -> `1.38.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | `1.37.0` -> `1.38.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.37.0/1.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
|
[tokio-postgres-rustls](https://togithub.com/jbg/tokio-postgres-rustls)
| `0.11.0` -> `0.12.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio-postgres-rustls/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio-postgres-rustls/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio-postgres-rustls/0.11.1/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio-postgres-rustls/0.11.1/0.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
| [tokio-rustls](https://togithub.com/rustls/tokio-rustls) | `0.25.0` ->
`0.26.0` |
[![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 |
| [tokio-tungstenite](https://togithub.com/snapview/tokio-tungstenite) |
`0.21.0` -> `0.23.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tokio-tungstenite/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio-tungstenite/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio-tungstenite/0.21.0/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio-tungstenite/0.21.0/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
|
[tracing-opentelemetry](https://togithub.com/tokio-rs/tracing-opentelemetry)
| `0.23` -> `0.24` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tracing-opentelemetry/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tracing-opentelemetry/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tracing-opentelemetry/0.23.0/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tracing-opentelemetry/0.23.0/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [ts-jest](https://kulshekhar.github.io/ts-jest)
([source](https://togithub.com/kulshekhar/ts-jest)) | [`=29.1.3` ->
`=29.1.4`](https://renovatebot.com/diffs/npm/ts-jest/29.1.3/29.1.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ts-jest/29.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ts-jest/29.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ts-jest/29.1.3/29.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ts-jest/29.1.3/29.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [tsup](https://tsup.egoist.dev/)
([source](https://togithub.com/egoist/tsup)) | [`8.0.2` ->
`8.1.0`](https://renovatebot.com/diffs/npm/tsup/8.0.2/8.1.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/tsup/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsup/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsup/8.0.2/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsup/8.0.2/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [tungstenite](https://togithub.com/snapview/tungstenite-rs) | `0.21.0`
-> `0.23.0` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/tungstenite/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tungstenite/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tungstenite/0.21.0/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tungstenite/0.21.0/0.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| workspace.dependencies | minor |
| [type-fest](https://togithub.com/sindresorhus/type-fest) | [`4.18.2`
-> `4.18.3`](https://renovatebot.com/diffs/npm/type-fest/4.18.2/4.18.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/4.18.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/4.18.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/4.18.2/4.18.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/4.18.2/4.18.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |
| [vite](https://vitejs.dev)
([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`5.2.11` ->
`5.2.12`](https://renovatebot.com/diffs/npm/vite/5.2.11/5.2.12) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.2.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.2.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.2.11/5.2.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.2.11/5.2.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [zip](https://togithub.com/zip-rs/zip2) | `2.1.0` -> `2.1.2` |
[![age](https://developer.mend.io/api/mc/badges/age/crate/zip/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/zip/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/zip/2.1.0/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/zip/2.1.0/2.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | patch |

---

### Release Notes

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

###
[`v7.11.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7110-2024-05-27)

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

##### 🚀 Features

- **eslint-plugin:** deprecate prefer-ts-expect-error in favor of
ban-ts-comment

##### 🩹 Fixes

- **eslint-plugin:** \[consistent-type-assertions] prevent syntax errors
on arrow functions

##### ❤️  Thank You

-   Abraham Guo
-   auvred
-   Dom Armstrong
-   Kirk Waiblinger

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.

###
[`v7.10.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7100-2024-05-20)

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

##### 🚀 Features

- **eslint-plugin:** \[sort-type-constituents] support case sensitive
sorting

##### 🩹 Fixes

- **eslint-plugin:** \[prefer-regexp-exec] fix heuristic to check
whether regex may contain global flag

##### ❤️  Thank You

-   auvred
-   Emanuel Hoogeveen
-   jsfm01
-   Kirk Waiblinger

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.

###
[`v7.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#790-2024-05-13)

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

##### 🩹 Fixes

- **eslint-plugin:** \[explicit-function-return-types] fix false
positive on default parameters

##### ❤️  Thank You

-   Kirk Waiblinger
-   Sheetal Nandi
-   Vinccool96

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.11.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7110-2024-05-27)

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

This was a version bump only for parser to align it with other projects,
there were no code changes.

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.

###
[`v7.10.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7100-2024-05-20)

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

This was a version bump only for parser to align it with other projects,
there were no code changes.

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.

###
[`v7.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#790-2024-05-13)

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

This was a version bump only for parser to align it with other projects,
there were no code changes.

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>vitejs/vite-plugin-react
(@&#8203;vitejs/plugin-react)</summary>

###
[`v4.3.0`](https://togithub.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#430-2024-05-22)

[Compare
Source](https://togithub.com/vitejs/vite-plugin-react/compare/v4.2.1...v4.3.0)

##### Fix support for React compiler

Don't set `retainLines: true` when the React compiler is used. This
creates whitespace issues and the compiler is modifying the JSX too much
to get correct line numbers after that. If you want to use the React
compiler and get back correct line numbers for tools like
[vite-plugin-react-click-to-component](https://togithub.com/ArnaudBarre/vite-plugin-react-click-to-component)
to work, you should update your config to something like:

```ts
export default defineConfig(({ command }) => {
  const babelPlugins = [['babel-plugin-react-compiler', {}]]
  if (command === 'serve') {
    babelPlugins.push(['@&#8203;babel/plugin-transform-react-jsx-development', {}])
  }

  return {
    plugins: [react({ babel: { plugins: babelPlugins } })],
  }
})
```

##### Support HMR for class components

This is a long overdue and should fix some issues people had with HMR
when migrating from CRA.

</details>

<details>
<summary>Nullus157/async-compression (async-compression)</summary>

###
[`v0.4.11`](https://togithub.com/Nullus157/async-compression/blob/HEAD/CHANGELOG.md#0411---2024-05-30)

[Compare
Source](https://togithub.com/Nullus157/async-compression/compare/v0.4.10...v0.4.11)

##### Other

-   Expose total_in/total_out from underlying flate2 encoder types.

</details>

<details>
<summary>smol-rs/async-lock (async-lock)</summary>

###
[`v3.4.0`](https://togithub.com/smol-rs/async-lock/blob/HEAD/CHANGELOG.md#Version-340)

[Compare
Source](https://togithub.com/smol-rs/async-lock/compare/v3.3.0...v3.4.0)

- Port to `event-listener` v5.0.0.
([#&#8203;74](https://togithub.com/smol-rs/async-lock/issues/74))

</details>

<details>
<summary>sdroege/async-tungstenite (async-tungstenite)</summary>

###
[`v0.26.0`](https://togithub.com/sdroege/async-tungstenite/blob/HEAD/CHANGELOG.md#0260---2024-06-02)

[Compare
Source](https://togithub.com/sdroege/async-tungstenite/compare/0.25.1...0.26.0)

##### Changed

-   Update to tungstenite 0.23.
-   Don't include default features for various dependencies.

</details>

<details>
<summary>rust-lang/backtrace-rs (backtrace)</summary>

###
[`v0.3.72`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.72)

[Compare
Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72)

This release removes a lot of dead code. Some feature flags that haven't
done anything in a long time are gone. If you depend on those features,
Cargo's resolver will not update you to 0.3.72.

If your code runs on Windows, or you want it to run on visionOS,
however, you should probably update to this version. It contains a
number of fixes for both OS. It also uses the latest version of a number
of dependencies.

#### What's Changed

- Revert "Use rustc from stage0 instead of stage0-sysroot (rust-lang/ba…
by [@&#8203;Nilstrieb](https://togithub.com/Nilstrieb) in
[https://github.com/rust-lang/backtrace-rs/pull/603](https://togithub.com/rust-lang/backtrace-rs/pull/603)
- Remove dead code by
[@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in
[https://github.com/rust-lang/backtrace-rs/pull/605](https://togithub.com/rust-lang/backtrace-rs/pull/605)
- Fix CI and remove rustc-serialize by
[@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in
[https://github.com/rust-lang/backtrace-rs/pull/596](https://togithub.com/rust-lang/backtrace-rs/pull/596)
- Use correct base address and update comment by
[@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in
[https://github.com/rust-lang/backtrace-rs/pull/604](https://togithub.com/rust-lang/backtrace-rs/pull/604)
- Windows AArch64: Break out of tracing when no longer making progress
by [@&#8203;dpaoliello](https://togithub.com/dpaoliello) in
[https://github.com/rust-lang/backtrace-rs/pull/610](https://togithub.com/rust-lang/backtrace-rs/pull/610)
- Remove obsolete rustc-serialize references by
[@&#8203;atouchet](https://togithub.com/atouchet) in
[https://github.com/rust-lang/backtrace-rs/pull/614](https://togithub.com/rust-lang/backtrace-rs/pull/614)
- Update `object` and `addr2line` dependencies by
[@&#8203;a1phyr](https://togithub.com/a1phyr) in
[https://github.com/rust-lang/backtrace-rs/pull/612](https://togithub.com/rust-lang/backtrace-rs/pull/612)
- Fix tests for rust 1.79 by
[@&#8203;workingjubilee](https://togithub.com/workingjubilee) in
[https://github.com/rust-lang/backtrace-rs/pull/621](https://togithub.com/rust-lang/backtrace-rs/pull/621)
- Remove unused `libbacktrace` and `gimli-symbolize` features by
[@&#8203;Enselic](https://togithub.com/Enselic) in
[https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615)
- remove some instances of dead_code by
[@&#8203;klensy](https://togithub.com/klensy) in
[https://github.com/rust-lang/backtrace-rs/pull/619](https://togithub.com/rust-lang/backtrace-rs/pull/619)
- Reduce panics in dbghelp by
[@&#8203;ChrisDenton](https://togithub.com/ChrisDenton) in
[https://github.com/rust-lang/backtrace-rs/pull/608](https://togithub.com/rust-lang/backtrace-rs/pull/608)
- Add Apple visionOS support by
[@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) in
[https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613)
- Update cc crate to v1.0.97 by
[@&#8203;jfgoog](https://togithub.com/jfgoog) in
[https://github.com/rust-lang/backtrace-rs/pull/623](https://togithub.com/rust-lang/backtrace-rs/pull/623)
- chore: add docs for the global re-entrant lock by
[@&#8203;Gankra](https://togithub.com/Gankra) in
[https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609)
- Test with lld-compatible args by
[@&#8203;workingjubilee](https://togithub.com/workingjubilee) in
[https://github.com/rust-lang/backtrace-rs/pull/627](https://togithub.com/rust-lang/backtrace-rs/pull/627)
- Bump rustc-demangle version by
[@&#8203;michaelwoerister](https://togithub.com/michaelwoerister) in
[https://github.com/rust-lang/backtrace-rs/pull/624](https://togithub.com/rust-lang/backtrace-rs/pull/624)
- cleanup dead_code around cpp_demangle feature by
[@&#8203;klensy](https://togithub.com/klensy) in
[https://github.com/rust-lang/backtrace-rs/pull/622](https://togithub.com/rust-lang/backtrace-rs/pull/622)
- Cut backtrace 0.3.72 by
[@&#8203;workingjubilee](https://togithub.com/workingjubilee) in
[https://github.com/rust-lang/backtrace-rs/pull/628](https://togithub.com/rust-lang/backtrace-rs/pull/628)

#### New Contributors

- [@&#8203;Enselic](https://togithub.com/Enselic) made their first
contribution in
[https://github.com/rust-lang/backtrace-rs/pull/615](https://togithub.com/rust-lang/backtrace-rs/pull/615)
- [@&#8203;QuentinPerez](https://togithub.com/QuentinPerez) made their
first contribution in
[https://github.com/rust-lang/backtrace-rs/pull/613](https://togithub.com/rust-lang/backtrace-rs/pull/613)
- [@&#8203;Gankra](https://togithub.com/Gankra) made their first
contribution in
[https://github.com/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609)

**Full Changelog**:
https://github.com/rust-lang/backtrace-rs/compare/0.3.71...0.3.72

</details>

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

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

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

This release fixes a regression briefly introduced in `bun upgrade` on
Windows that occurred in Bun v1.1.11. There are no release notes, please
take a look at the Bun v1.1.11 release notes instead.

To install Bun v1.1.12:

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

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

Windows:

```bash
powershell -c "irm bun.sh/install.ps1|iex"
```

To upgrade to Bun v1.1.12:

```bash
bun upgrade
```

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

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

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

To install Bun v1.1.11:

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

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

Windows:

```bash
powershell -c "irm bun.sh/install.ps1|iex"
```

To upgrade to Bun v1.1.11:

```bash
bun upgrade
```

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

##### Thanks to 16 contributors!

-   [@&#8203;AbhiPrasad](https://togithub.com/AbhiPrasad)
-   [@&#8203;cirospaciari](https://togithub.com/cirospaciari)
-   [@&#8203;creator318](https://togithub.com/creator318)
-   [@&#8203;dylan-conway](https://togithub.com/dylan-conway)
-   [@&#8203;gvilums](https://togithub.com/gvilums)
-   [@&#8203;HUMORCE](https://togithub.com/HUMORCE)
-   [@&#8203;huseeiin](https://togithub.com/huseeiin)
-   [@&#8203;janos-r](https://togithub.com/janos-r)
-   [@&#8203;Jarred-Sumner](https://togithub.com/Jarred-Sumner)
-   [@&#8203;JonnyBurger](https://togithub.com/JonnyBurger)
-   [@&#8203;nektro](https://togithub.com/nektro)
-   [@&#8203;paperdave](https://togithub.com/paperdave)
-   [@&#8203;Ptitet](https://togithub.com/Ptitet)
-   [@&#8203;refi64](https://togithub.com/refi64)
-   [@&#8203;tobycm](https://togithub.com/tobycm)
-   [@&#8203;zawodskoj](https://togithub.com/zawodskoj)

</details>

<details>
<summary>jsx-eslint/eslint-plugin-react (eslint-plugin-react)</summary>

###
[`v7.34.2`](https://togithub.com/jsx-eslint/eslint-plugin-react/releases/tag/v7.34.2)

[Compare
Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.1...v7.34.2)

##### Fixed

- [`boolean-prop-naming`][boolean-prop-naming]: avoid a crash with a
non-TSTypeReference type ([#&#8203;3718][]
[@&#8203;developer-bandi](https://togithub.com/developer-bandi))
- [`jsx-no-leaked-render`][jsx-no-leaked-render]: invalid report if left
side is boolean ([#&#8203;3746][]
[@&#8203;akulsr0](https://togithub.com/akulsr0))
- [`jsx-closing-bracket-location`][jsx-closing-bracket-location]:
message shows `{{details}}` when there are no details ([#&#8203;3759][]
[@&#8203;mdjermanovic](https://togithub.com/mdjermanovic))
- [`no-invalid-html-attribute`][no-invalid-html-attribute]: ensure error
messages are correct ([#&#8203;3759][]
[@&#8203;mdjermanovic](https://togithub.com/mdjermanovic),
[@&#8203;ljharb](https://togithub.com/ljharb))

##### Changed

- \[Refactor] create various eslint utils to fix eslint deprecations
([#&#8203;3759][]
[@&#8203;mdjermanovic](https://togithub.com/mdjermanovic),
[@&#8203;ljharb](https://togithub.com/ljharb))

[7.34.2]:
https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.1...v7.34.2

[#&#8203;3759]:
https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3759

[#&#8203;3746]:
https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3746

[#&#8203;3718]:
https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3718

[`boolean-prop-naming`]: docs/rules/boolean-prop-naming.md

[`jsx-no-leaked-render`]: docs/rules/jsx-no-leaked-render.md

[`jsx-closing-bracket-location`]:
docs/rules/jsx-closing-bracket-location.md

[`no-invalid-html-attribute`]: docs/rules/no-invalid-html-attribute.md

</details>

<details>
<summary>hyperium/hyper-util (hyper-util)</summary>

###
[`v0.1.5`](https://togithub.com/hyperium/hyper-util/blob/HEAD/CHANGELOG.md#015-2024-05-28)

[Compare
Source](https://togithub.com/hyperium/hyper-util/compare/v0.1.4...v0.1.5)

- Add `server::graceful::GracefulShutdown` helper to coordinate over
many connections.
- Add `server::conn::auto::Connection::into_owned()` to unlink lifetime
from `Builder`.
- Allow `service` module to be available with only `service` feature
enabled.

</details>

<details>
<summary>ramosbugs/openidconnect-rs (openidconnect)</summary>

###
[`v4.0.0-alpha.2`](https://togithub.com/ramosbugs/openidconnect-rs/releases/tag/4.0.0-alpha.2)

[Compare
Source](https://togithub.com/ramosbugs/openidconnect-rs/compare/4.0.0-alpha.1...4.0.0-alpha.2)

#### Bug Fixes

- Return `impl Future` instead of `Pin<Box<dyn Future>>`
([#&#8203;158](https://togithub.com/ramosbugs/openidconnect-rs/issues/158))

**Full Changelog**:
https://github.com/ramosbugs/openidconnect-rs/compare/4.0.0-alpha.1...4.0.0-alpha.2

</details>

<details>
<summary>open-telemetry/opentelemetry-rust (opentelemetry)</summary>

###
[`v0.23.0`](https://togithub.com/open-telemetry/opentelemetry-rust/releases/tag/opentelemetry-0.23.0):
0.23.0

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-0.22.0...opentelemetry-0.23.0)

#### Whats changed?

See individual crate changelogs for details.

#### New Contributors

[@&#8203;svix-jplatte](https://togithub.com/svix-jplatte) made their
first contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1568](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1568)
[@&#8203;rex4539](https://togithub.com/rex4539) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1587](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1587)
[@&#8203;divergentdave](https://togithub.com/divergentdave) made their
first contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1584](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1584)
[@&#8203;pyohannes](https://togithub.com/pyohannes) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1578](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1578)
[@&#8203;masato-hi](https://togithub.com/masato-hi) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1621](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1621)
[@&#8203;rogercoll](https://togithub.com/rogercoll) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1624](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1624)
[@&#8203;LuisOsta](https://togithub.com/LuisOsta) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1638](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1638)
[@&#8203;svrnm](https://togithub.com/svrnm) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1664](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1664)
[@&#8203;Lev1ty](https://togithub.com/Lev1ty) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1672](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1672)
[@&#8203;ThomsonTan](https://togithub.com/ThomsonTan) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1675](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1675)
[@&#8203;ramgdev](https://togithub.com/ramgdev) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1585](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1585)
[@&#8203;utpilla](https://togithub.com/utpilla) made their first
contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1701](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1701)
[@&#8203;ChieloNewctle](https://togithub.com/ChieloNewctle) made their
first contribution in
[https://github.com/open-telemetry/opentelemetry-rust/pull/1746](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1746)

</details>

<details>
<summary>open-telemetry/opentelemetry-rust
(opentelemetry-otlp)</summary>

###
[`v0.16.0`](https://togithub.com/open-telemetry/opentelemetry-rust/blob/HEAD/opentelemetry-otlp/CHANGELOG.md#v0160)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-otlp-0.15.0...opentelemetry-otlp-0.16.0)

##### Fixed

- URL encoded values in `OTEL_EXPORTER_OTLP_HEADERS` are now correctly
decoded.
[#&#8203;1578](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1578)
- OTLP exporter will not change the URL added through `ExportConfig`
[#&#8203;1706](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1706)
- Default grpc endpoint will not have path based on signal(e.g
`/v1/traces`)
[#&#8203;1706](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1706)
- Fix feature flags for `OTEL_EXPORTER_OTLP_PROTOCOL_DEFAULT`
[#&#8203;1746](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1746)

##### Added

-   Added `DeltaTemporalitySelector` ([#&#8203;1568])
-   Add `webkpi-roots` features to `reqwest` and `tonic` backends

[#&#8203;1568]:
https://togithub.com/open-telemetry/opentelemetry-rust/pull/1568

##### Changed

- **Breaking** Remove global provider for Logs
[#&#8203;1691](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1691/)
- The method OtlpLogPipeline::install_simple() and
OtlpLogPipeline::install_batch() now return `LoggerProvider` instead of
`Logger`. Refer to the
[basic-otlp](https://togithub.com/open-telemetry/opentelemetry-rust/blob/main/opentelemetry-otlp/examples/basic-otlp/src/main.rs)
and
[basic-otlp-http](https://togithub.com/open-telemetry/opentelemetry-rust/blob/main/opentelemetry-otlp/examples/basic-otlp-http/src/main.rs)
examples for how to initialize OTLP Log Exporter to use with
OpenTelemetryLogBridge and OpenTelemetryTracingBridge respectively.
-   Update `opentelemetry` dependency version to 0.23
-   Update `opentelemetry_sdk` dependency version to 0.23
-   Update `opentelemetry-http` dependency version to 0.12
-   Update `opentelemetry-proto` dependency version to 0.6

</details>

<details>
<summary>open-telemetry/opentelemetry-rust
(opentelemetry-stdout)</summary>

###
[`v0.4.0`](https://togithub.com/open-telemetry/opentelemetry-rust/blob/HEAD/opentelemetry-stdout/CHANGELOG.md#v040)

[Compare
Source](https://togithub.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-stdout-0.3.0...opentelemetry-stdout-0.4.0)

##### Changed

-   The default feature now includes logs, metrics and trace.
-   Update `opentelemetry` dependency version to 0.23
-   Update `opentelemetry_sdk` dependency version to 0.23
-   TraceExporter fixed to print InstrumentationScope's attributes.

</details>

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

### [`v9.1.4`](https://togithub.com/pnpm/pnpm/compare/v9.1.3...v9.1.4)

[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.1.3...v9.1.4)

</details>

<details>
<summary>dtolnay/proc-macro2 (proc-macro2)</summary>

###
[`v1.0.85`](https://togithub.com/dtolnay/proc-macro2/releases/tag/1.0.85)

[Compare
Source](https://togithub.com/dtolnay/proc-macro2/compare/1.0.84...1.0.85)

- Mark some tests as only for 64-bit targets
([#&#8203;463](https://togithub.com/dtolnay/proc-macro2/issues/463))

</details>

<details>
<summary>la10736/rstest (rstest)</summary>

###
[`v0.21.0`](https://togithub.com/la10736/rstest/blob/HEAD/CHANGELOG.md#0210-202461)

[Compare
Source](https://togithub.com/la10736/rstest/compare/v0.20.0...v0.21.0)

##### Changed

-   Add feature `crate-name` enabled by default to opt-in crate rename
support. See
[#&#8203;258](https://togithub.com/la10736/rstest/issues/258)

###
[`v0.20.0`](https://togithub.com/la10736/rstest/blob/HEAD/CHANGELOG.md#0200-2024530)

[Compare
Source](https://togithub.com/la10736/rstest/compare/v0.19.0...v0.20.0)

##### Add

- Implemented `#[by_ref]` attribute to take get a local lifetime for
test arguments.
See [#&#8203;241](https://togithub.com/la10736/rstest/issues/241) for
more details. Thanks to
[@&#8203;narpfel](https://togithub.com/narpfel) for suggesting it and
useful discussions.
- Support for import `rstest` with another name. See
[#&#8203;221](https://togithub.com/la10736/rstest/issues/221)

##### Fixed

- Don't remove Lifetimes from test function if any. See
[#&#8203;230](https://togithub.com/la10736/rstest/issues/230)
[#&#8203;241](https://togithub.com/la10736/rstest/issues/241) for more
details.
- [`PathBuf`](https://doc.rust-lang.org/std/path/struct.PathBuf.html)
does no longer need to be
in scope when using `#[files]` (see
[#&#8203;242](https://togithub.com/la10736/rstest/pull/242))
- `#[from(now::accept::also::path::for::fixture)]` See
[#&#8203;246](https://togithub.com/la10736/rstest/issues/246)
    for more details

</details>

<details>
<summary>Peternator7/strum (strum_macros)</summary>

###
[`v0.26.3`](https://togithub.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0263-strummacros)

[Compare
Source](https://togithub.com/Peternator7/strum/compare/v0.26.2...v0.26.3)

- [#&#8203;344](https://togithub.com/Peternator7/strum/pull/344): Hide
`EnumTable` because it's going to be deprecated in the next
    version.
- [#&#8203;357](https://togithub.com/Peternator7/strum/pull/357): Fixes
an incompatiblity with `itertools` by using the fully
    qualified name rather than the inherent method.
- [#&#8203;345](https://togithub.com/Peternator7/strum/pull/345): Allows
unnamed tuple like variants to use their variants in
string interpolation. `#[strum(to_string = "Field 0: {0}, Field 1:
{1})")]` will now work for tuple variants

</details>

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

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

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

This release marks the beginning of stabilization for runtime metrics.
It
stabilizes `RuntimeMetrics::worker_count`. Future releases will continue
to
stabilize more metrics.

##### Added

-   fs: add `File::create_new` ([#&#8203;6573])
-   io: add `copy_bidirectional_with_sizes` ([#&#8203;6500])
-   io: implement `AsyncBufRead` for `Join` ([#&#8203;6449])
-   net: add Apple visionOS support ([#&#8203;6465])
-   net: implement `Clone` for `NamedPipeInfo` ([#&#8203;6586])
-   net: support QNX OS ([#&#8203;6421])
-   sync: add `Notify::notify_last` ([#&#8203;6520])
-   sync: add `mpsc::Receiver::{capacity,max_capacity}` ([#&#8203;6511])
- sync: add `split` method to the semaphore permit ([#&#8203;6472],
[#&#8203;6478])
- task: add `tokio::task::join_set::Builder::spawn_blocking`
([#&#8203;6578])
- wasm: support rt-multi-thread with wasm32-wasi-preview1-threads
([#&#8203;6510])

##### Changed

- macros: make `#[tokio::test]` append `#[test]` at the end of the
attribute list ([#&#8203;6497])
-   metrics: fix `blocking_threads` count ([#&#8203;6551])
-   metrics: stabilize `RuntimeMetrics::worker_count` ([#&#8203;6556])
- runtime: move task out of the `lifo_slot` in `block_in_place`
([#&#8203;6596])
-   runtime: panic if `global_queue_interval` is zero ([#&#8203;6445])
- sync: always drop message in destructor for oneshot receiver
([#&#8203;6558])
-   sync: instrument `Semaphore` for task dumps ([#&#8203;6499])
- sync: use FIFO ordering when waking batches of wakers ([#&#8203;6521])
-   task: make `LocalKey::get` work with Clone types ([#&#8203;6433])
-   tests: update nix and mio-aio dev-dependencies ([#&#8203;6552])
-   time: clean up implementation ([#&#8203;6517])
-   time: lazily init timers on first poll ([#&#8203;6512])
-   time: remove the `true_when` field in `TimerShared` ([#&#8203;6563])
-   time: use sharding for timer implementation ([#&#8203;6534])

##### Fixed

- taskdump: allow building taskdump docs on non-unix machines
([#&#8203;6564])
-   time: check for overflow in `Interval::poll_tick` ([#&#8203;6487])
- sync: fix incorrect `is_empty` on mpsc block boundaries
([#&#8203;6603])

##### Documented

-   fs: rewrite file system docs ([#&#8203;6467])
-   io: fix `stdin` documentation ([#&#8203;6581])
- io: fix obsolete reference in `ReadHalf::unsplit()` documentation
([#&#8203;6498])
- macros: render more comprehensible documentation for `select!`
([#&#8203;6468])
-   net: add missing types to module docs ([#&#8203;6482])
-   net: fix misleading `NamedPipeServer` example ([#&#8203;6590])
- sync: add examples for `SemaphorePermit`, `OwnedSemaphorePermit`
([#&#8203;6477])
- sync: document that `Barrier::wait` is not cancel safe
([#&#8203;6494])
-   sync: explain relation between `wa

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
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.

[Feature]: Stress Test is not leveraging max threads
4 participants