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 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 referenced this pull request in grafbase/grafbase 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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/rust-lang/backtrace-rs/pull/609](https://togithub.com/rust-lang/backtrace-rs/pull/609)

**Full Changelog**:
https:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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-->
leftwo referenced this pull request in oxidecomputer/crucible Aug 17, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[opentelemetry](https://togithub.com/open-telemetry/opentelemetry-rust)
| workspace.dependencies | minor | `0.22.0` -> `0.24.0` |

---

### Release Notes

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

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

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

See individual crate changelogs for details.

###
[`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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/open-telemetry/opentelemetry-rust/pull/1746](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1746)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 8pm,before 6am" in timezone
America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone
America/Los_Angeles.

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

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

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

---

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

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/oxidecomputer/crucible).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
convex-copybara bot referenced this pull request in get-convex/convex-backend Aug 21, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [opentelemetry](https://togithub.com/open-telemetry/opentelemetry-rust) | workspace.dependencies | minor | `0.21` -> `0.24` |
| [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)) | workspace.dependencies | minor | `0.14` -> `0.17` |
| [opentelemetry_sdk](https://togithub.com/open-telemetry/opentelemetry-rust) | workspace.dependencies | minor | `0.21` -> `0.24` |

---

### Release Notes

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

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

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

See individual crate changelogs for details.

### [`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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/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:/open-telemetry/opentelemetry-rust/pull/1746](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1746)

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

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

### API

#### Added

-   [https:/open-telemetry/opentelemetry-rust/pull/1410](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1410) Add experimental synchronous gauge. This is behind the feature flag, and can be enabled by enabling the feature otel_unstable for opentelemetry crate.

-   [https:/open-telemetry/opentelemetry-rust/pull/1410](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1410) Guidelines to add new unstable/experimental features.

#### Changed

-   Modified AnyValue.Map to be backed by HashMap instead of custom OrderMap, which internally used IndexMap. There was no requirement to maintain the order of entries, so moving from IndexMap to HashMap offers slight performance gains, and avoids IndexMap dependency. This affects body and attributes of LogRecord. [https:/open-telemetry/opentelemetry-rust/pull/1353](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1353)
-   Add TextMapCompositePropagator [https:/open-telemetry/opentelemetry-rust/pull/1373](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1373)
-   Turned off events for NoopLogger to save on operations [https:/open-telemetry/opentelemetry-rust/pull/1455](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1455)

#### Removed

-   Removed OrderMap type as there was no requirement to use this over regular HashMap. [https:/open-telemetry/opentelemetry-rust/pull/1353](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1353)
-   Remove API for Creating Histograms with signed integers. [https:/open-telemetry/opentelemetry-rust/pull/1371](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1371)
-   Remove global::shutdown_meter_provider, use SdkMeterProvider::shutdown directly instead ([#&#8203;1412](https://togithub.com/open-telemetry/opentelemetry-rust/issues/1412)).

### SDK

##### Deprecated

-   XrayIdGenerator in the opentelemetry-sdk has been deprecated and moved to version 0.10.0 of the opentelemetry-aws crate.

##### Added

-   [#&#8203;1410](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1410) Add experimental synchronous gauge

-   [#&#8203;1471](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1471) Configure batch log record processor via [`OTEL_BLRP_*`](https://togithub.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#batch-logrecord-processor) environment variables and via `OtlpLogPipeline::with_batch_config`

-   [#&#8203;1503](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1503) Make the documentation for In-Memory exporters visible.

-   [#&#8203;1526](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1526)
    Performance Improvement : Creating Spans and LogRecords are now faster, by avoiding expensive cloning of `Resource` for every Span/LogRecord.

##### Changed

-   **Breaking**
    [#&#8203;1313](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1313)
    [#&#8203;1350](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1350)
    Changes how Span links/events are stored to achieve performance gains. See
    below for details:

    *Behavior Change*: When enforcing `max_links_per_span`, `max_events_per_span`
    from `SpanLimits`, links/events are kept in the first-come order. The previous
    "eviction" based approach is no longer performed.

    *Breaking Change Affecting Exporter authors*:

    `SpanData` now stores `links` as `SpanLinks` instead of `EvictedQueue` where
    `SpanLinks` is a struct with a `Vec` of links and `dropped_count`.

    `SpanData` now stores `events` as `SpanEvents` instead of `EvictedQueue` where
    `SpanEvents` is a struct with a `Vec` of events and `dropped_count`.

-   **Breaking** Remove `TextMapCompositePropagator` [#&#8203;1373](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1373). Use `TextMapCompositePropagator` in opentelemetry API.

-   [#&#8203;1375](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1375/) Fix metric collections during PeriodicReader shutdown

-   **Breaking** [#&#8203;1480](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1480) Remove fine grained `BatchConfig` configurations from `BatchLogProcessorBuilder` and `BatchSpanProcessorBuilder`. Use `BatchConfigBuilder` to construct a `BatchConfig` instance and pass it using `BatchLogProcessorBuilder::with_batch_config` or `BatchSpanProcessorBuilder::with_batch_config`.

-   **Breaking** [#&#8203;1480](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1480) Remove mutating functions from `BatchConfig`, use `BatchConfigBuilder` to construct a `BatchConfig` instance.

-   **Breaking** [#&#8203;1495](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1495) Remove Batch LogRecord\&Span Processor configuration via non-standard environment variables. Use the following table to migrate from the no longer supported non-standard environment variables to the standard ones.

| No longer supported             | Standard equivalent       |
|---------------------------------|---------------------------|
| OTEL_BLRP_SCHEDULE_DELAY_MILLIS | OTEL_BLRP_SCHEDULE_DELAY  |
| OTEL_BLRP_EXPORT_TIMEOUT_MILLIS | OTEL_BLRP_EXPORT_TIMEOUT  |
| OTEL_BSP_SCHEDULE_DELAY_MILLIS  | OTEL_BSP_SCHEDULE_DELAY   |
| OTEL_BSP_EXPORT_TIMEOUT_MILLIS  | OTEL_BSP_EXPORT_TIMEOUT   |

-   **Breaking** [1455](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1455) Make the LoggerProvider Owned
    -   `Logger` now takes an Owned Logger instead of a `Weak<LoggerProviderInner>`
    -   `LoggerProviderInner` is no longer `pub (crate)`
    -   `Logger.provider()` now returns `&LoggerProvider` instead of an `Option<LoggerProvider>`

-   [1519](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1519) Performance improvements
    when calling `Counter::add()` and `UpDownCounter::add()` with an empty set of attributes
    (e.g. `counter.Add(5, &[])`)

##### Fixed

-   [#&#8203;1481](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1481) Fix error message caused by race condition when using PeriodicReader

</details>

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

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

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

-   Add "metrics", "logs" to default features. With this, default feature list is
    "trace", "metrics" and "logs".
-   `OtlpMetricPipeline.build()` no longer invoke the
    `global::set_meter_provider`. User who setup the pipeline must do it
    themselves using `global::set_meter_provider(meter_provider.clone());`.
-   Add `with_resource` on `OtlpLogPipeline`, replacing the `with_config` method.
    Instead of using
    `.with_config(Config::default().with_resource(RESOURCE::default()))` users must
    now use `.with_resource(RESOURCE::default())` to configure Resource when using
    `OtlpLogPipeline`.
-   **Breaking** The methods `OtlpTracePipeline::install_simple()` and `OtlpTracePipeline::install_batch()` would now return `TracerProvider` instead of `Tracer`.
    These methods would also no longer set the global tracer provider. It would now be the responsibility of users to set it by calling `global::set_tracer_provider(tracer_provider.clone());`. 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 on how to initialize OTLP Trace Exporter.
-   **Breaking** Correct the misspelling of "webkpi" to "webpki" in features [#&#8203;1842](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1842)
-   Bump MSRV to 1.70 [#&#8203;1840](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1840)
-   Fixing the OTLP HTTP/JSON exporter. [#&#8203;1882](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1882) - The exporter was broken in the
    previous release.
-   **Breaking** [1869](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1869) The OTLP logs exporter now overrides the [InstrumentationScope::name](https://togithub.com/open-telemetry/opentelemetry-proto/blob/b3060d2104df364136d75a35779e6bd48bac449a/opentelemetry/proto/common/v1/common.proto#L73) field with the `target` from `LogRecord`, if target is populated.
-   Groups batch of `LogRecord` and `Span` by their resource and instrumentation scope before exporting, for better efficiency [#&#8203;1873](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1873).
-   **Breaking** Update to `http` v1 and `tonic` v0.12 [#&#8203;1674](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1674)
-   Update `opentelemetry` dependency version to 0.24
-   Update `opentelemetry_sdk` dependency version to 0.24
-   Update `opentelemetry-http` dependency version to 0.13
-   Update `opentelemetry-proto` dependency version to 0.7

### [`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

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

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

##### Added

-   Support custom channels in topic exporters  [#&#8203;1335](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1335)
-   Allow specifying OTLP Tonic metadata from env variable [#&#8203;1377](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1377)

##### Changed

-   Update to tonic 0.11 and prost 0.12 [#&#8203;1536](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1536)

##### Fixed

-   Fix `tonic()` to the use correct port. [#&#8203;1556](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1556)

##### Removed

-   **Breaking** Remove support for surf HTTP client [#&#8203;1537](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1537)
-   **Breaking** Remove support for grpcio transport [#&#8203;1534](https://togithub.com/open-telemetry/opentelemetry-rust/pull/1534)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on the first day of the month" in timezone America/Los_Angeles, 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.

---

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

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/get-convex/convex).

GitOrigin-RevId: 81963454ddea644957059f98bcf8ecbcf4b47255
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