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

Support http/json protocol #1585

Merged
merged 40 commits into from
Apr 23, 2024
Merged

Support http/json protocol #1585

merged 40 commits into from
Apr 23, 2024

Conversation

ramgdev
Copy link
Contributor

@ramgdev ramgdev commented Feb 27, 2024

Fixes #
Design discussion issue (if applicable) #

Changes

This change will export data in JSON format when http/json protocol is specified for a signal.

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)

@ramgdev ramgdev requested a review from a team February 27, 2024 18:04
Copy link

linux-foundation-easycla bot commented Feb 27, 2024

CLA Signed

The committers listed above are authorized under a signed CLA.

@ramgdev ramgdev marked this pull request as draft February 27, 2024 18:04
Copy link

codecov bot commented Feb 27, 2024

Codecov Report

Attention: Patch coverage is 81.55340% with 19 lines in your changes are missing coverage. Please review.

Project coverage is 69.0%. Comparing base (f203b03) to head (250fab4).
Report is 12 commits behind head on main.

❗ Current head 250fab4 differs from pull request most recent head aa2cd05. Consider uploading reports for the commit aa2cd05 to get more accurate results

Files Patch % Lines
opentelemetry-otlp/src/exporter/http/logs.rs 0.0% 8 Missing ⚠️
opentelemetry-otlp/src/exporter/http/metrics.rs 0.0% 8 Missing ⚠️
opentelemetry-otlp/src/exporter/http/trace.rs 93.6% 3 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##            main   #1585     +/-   ##
=======================================
- Coverage   69.3%   69.0%   -0.3%     
=======================================
  Files        136     136             
  Lines      19637   19517    -120     
=======================================
- Hits       13610   13483    -127     
- Misses      6027    6034      +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@lalitb
Copy link
Member

lalitb commented Feb 27, 2024

@ramgdev Thanks for volunteering to add the support. This looks to be in the right direction, and good to review once ready.

@ramgdev ramgdev changed the title Add http-json feature flag Support http/json protocol for trace Feb 28, 2024
Copy link
Contributor

@TommyCpp TommyCpp left a comment

Choose a reason for hiding this comment

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

Thanks for getting this start! It overall looks good. One thing to consider is we should make features additive. This means we should support enable both http-json and http-proto and let users config it in code.

@@ -73,6 +74,8 @@ http-proto = ["prost", "opentelemetry-http", "opentelemetry-proto/gen-tonic-mess
reqwest-blocking-client = ["reqwest/blocking", "opentelemetry-http/reqwest"]
reqwest-client = ["reqwest", "opentelemetry-http/reqwest"]
reqwest-rustls = ["reqwest", "reqwest/rustls-tls-native-roots"]
# http json
http-json = ["serde_json", "prost", "opentelemetry-http", "opentelemetry-proto/gen-tonic-messages", "http", "trace", "metrics"]
Copy link
Contributor

Choose a reason for hiding this comment

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

We can enable the with-serde feature of opentelemetry-proto here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's a good idea. I'll test it out.

opentelemetry-otlp/src/exporter/http/trace.rs Outdated Show resolved Hide resolved
Co-authored-by: Zhongyang Wu <zhongyang.wu@outlook.com>
@ramgdev
Copy link
Contributor Author

ramgdev commented Feb 28, 2024

@TommyCpp I agree users should be able to enable both http-proto and http-json features on the crate. I'll test it and perhaps use the protocol to decide on certain things in the code. Good catch.

@ramgdev ramgdev changed the title Support http/json protocol for trace Support http/json protocol Mar 18, 2024
@ramgdev
Copy link
Contributor Author

ramgdev commented Mar 29, 2024

@TommyCpp please take a look when you get a chance.

Copy link
Contributor

@TommyCpp TommyCpp left a comment

Choose a reason for hiding this comment

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

Overall looks good. My concern is mostly around http-json overriding with http-proto when both are enabled

opentelemetry-otlp/Cargo.toml Show resolved Hide resolved
opentelemetry-otlp/src/exporter/http/metrics.rs Outdated Show resolved Hide resolved
@@ -48,20 +48,28 @@ impl MetricsClient for OtlpHttpClient {
}
}

#[cfg(feature = "http-proto")]
#[cfg(any(feature = "http-proto", feature = "http-json"))]
fn build_body(metrics: &mut ResourceMetrics) -> Result<(Vec<u8>, &'static str)> {
Copy link
Contributor

Choose a reason for hiding this comment

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

For this part. I wonder if we can make the feature additive.

One way I see we can do it is:

  • Add protocol field in OtelHttpClient
  • Move build_body as part of the OtelHttpClient.

Then we just ask users to pass protocol in building pipline(it's already part of the export_config. And based on the feature the corresponding protocol may be available

Copy link
Contributor Author

@ramgdev ramgdev Apr 1, 2024

Choose a reason for hiding this comment

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

Are we still talking about exporting in one format per signal per pipeline? If so, it should be possible with the above code, no? For e.g I can enable both features http-json and http-proto and build 2 trace pipelines that export in each of those formats. Let me know if I'm missing something.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes by tuning the features it's possible to export in either proto or json. My preference is to ask users to explicitly tell the pipeline which protocol to rather then to config it using features. i.e it should be possible to enable both http-json and http-proto but choose to use http-proto. I think it current setup doesn't support this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Understood. Would you want HttpExporterBuilder to receive protocol via with_protocol?

@ramgdev
Copy link
Contributor Author

ramgdev commented Apr 1, 2024

Overall looks good. My concern is mostly around http-json overriding with http-proto when both are enabled

That's where I had most trouble changing the code. It seems that having a single default protocol is the source of the confusion. One cannot have both http-json and http-photo unless they attach it to a specific signal, right? Ultimately the export is going to happen on only one format. That means we have to build this default using a key that combines both format and signal rather than just the format.

Co-authored-by: Zhongyang Wu <zhongyang.wu@outlook.com>
@TommyCpp
Copy link
Contributor

TommyCpp commented Apr 1, 2024

It seems that having a single default protocol is the source of the confusion.

Yeah I think it's reasonable to rely on features if the user didn't provide any configuration on which protocol to use. But we should allow(or even promote) configure the protocol explicitly

@ramgdev
Copy link
Contributor Author

ramgdev commented Apr 1, 2024

I think it's reasonable to rely on features

This is still a bit tricky when both http-json and http-proto features are enabled. Are we ok to pick http-json in that case? Or should we require the protocol to be specified when building the pipeline for http?

@TommyCpp
Copy link
Contributor

TommyCpp commented Apr 3, 2024

Are we ok to pick http-json in that case? Or should we require the protocol to be specified when building the pipeline for http?

Yeah I think it's OK for us to pick http-json if user didn't provide one. i.e have a feature override in default_protocol. But in builder we should give users option to override it. Let me know if it makes sense

@ramgdev
Copy link
Contributor Author

ramgdev commented Apr 20, 2024

@TommyCpp sorry, just got to this. Please take a look when you get a chance. Thanks.

@hdost hdost requested a review from TommyCpp April 21, 2024 18:08
@TommyCpp TommyCpp self-assigned this Apr 22, 2024
Copy link
Member

@lalitb lalitb left a comment

Choose a reason for hiding this comment

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

Thanks for the support. Nicely done.

@cijothomas cijothomas merged commit cc80ec6 into open-telemetry:main Apr 23, 2024
15 checks passed
@cijothomas
Copy link
Member

Thanks @ramgdev for your first PR! Hoping to see many more, if your time/passion permits!

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-->
leftwo pushed a commit to oxidecomputer/crucible that referenced this pull request 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
[open-telemetry/opentelemetry-rust#1568
[@&#8203;rex4539](https://togithub.com/rex4539) made their first
contribution in
[open-telemetry/opentelemetry-rust#1587
[@&#8203;divergentdave](https://togithub.com/divergentdave) made their
first contribution in
[open-telemetry/opentelemetry-rust#1584
[@&#8203;pyohannes](https://togithub.com/pyohannes) made their first
contribution in
[open-telemetry/opentelemetry-rust#1578
[@&#8203;masato-hi](https://togithub.com/masato-hi) made their first
contribution in
[open-telemetry/opentelemetry-rust#1621
[@&#8203;rogercoll](https://togithub.com/rogercoll) made their first
contribution in
[open-telemetry/opentelemetry-rust#1624
[@&#8203;LuisOsta](https://togithub.com/LuisOsta) made their first
contribution in
[open-telemetry/opentelemetry-rust#1638
[@&#8203;svrnm](https://togithub.com/svrnm) made their first
contribution in
[open-telemetry/opentelemetry-rust#1664
[@&#8203;Lev1ty](https://togithub.com/Lev1ty) made their first
contribution in
[open-telemetry/opentelemetry-rust#1672
[@&#8203;ThomsonTan](https://togithub.com/ThomsonTan) made their first
contribution in
[open-telemetry/opentelemetry-rust#1675
[@&#8203;ramgdev](https://togithub.com/ramgdev) made their first
contribution in
[open-telemetry/opentelemetry-rust#1585
[@&#8203;utpilla](https://togithub.com/utpilla) made their first
contribution in
[open-telemetry/opentelemetry-rust#1701
[@&#8203;ChieloNewctle](https://togithub.com/ChieloNewctle) made their
first contribution in
[open-telemetry/opentelemetry-rust#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 pushed a commit to get-convex/convex-backend that referenced this pull request 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 [open-telemetry/opentelemetry-rust#1568
[@&#8203;rex4539](https://togithub.com/rex4539) made their first contribution in [open-telemetry/opentelemetry-rust#1587
[@&#8203;divergentdave](https://togithub.com/divergentdave) made their first contribution in [open-telemetry/opentelemetry-rust#1584
[@&#8203;pyohannes](https://togithub.com/pyohannes) made their first contribution in [open-telemetry/opentelemetry-rust#1578
[@&#8203;masato-hi](https://togithub.com/masato-hi) made their first contribution in [open-telemetry/opentelemetry-rust#1621
[@&#8203;rogercoll](https://togithub.com/rogercoll) made their first contribution in [open-telemetry/opentelemetry-rust#1624
[@&#8203;LuisOsta](https://togithub.com/LuisOsta) made their first contribution in [open-telemetry/opentelemetry-rust#1638
[@&#8203;svrnm](https://togithub.com/svrnm) made their first contribution in [open-telemetry/opentelemetry-rust#1664
[@&#8203;Lev1ty](https://togithub.com/Lev1ty) made their first contribution in [open-telemetry/opentelemetry-rust#1672
[@&#8203;ThomsonTan](https://togithub.com/ThomsonTan) made their first contribution in [open-telemetry/opentelemetry-rust#1675
[@&#8203;ramgdev](https://togithub.com/ramgdev) made their first contribution in [open-telemetry/opentelemetry-rust#1585
[@&#8203;utpilla](https://togithub.com/utpilla) made their first contribution in [open-telemetry/opentelemetry-rust#1701
[@&#8203;ChieloNewctle](https://togithub.com/ChieloNewctle) made their first contribution in [open-telemetry/opentelemetry-rust#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

-   [open-telemetry/opentelemetry-rust#1410 Add experimental synchronous gauge. This is behind the feature flag, and can be enabled by enabling the feature otel_unstable for opentelemetry crate.

-   [open-telemetry/opentelemetry-rust#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. [open-telemetry/opentelemetry-rust#1353
-   Add TextMapCompositePropagator [open-telemetry/opentelemetry-rust#1373
-   Turned off events for NoopLogger to save on operations [open-telemetry/opentelemetry-rust#1455

#### Removed

-   Removed OrderMap type as there was no requirement to use this over regular HashMap. [open-telemetry/opentelemetry-rust#1353
-   Remove API for Creating Histograms with signed integers. [open-telemetry/opentelemetry-rust#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.

5 participants