Skip to content

chore(deps): update all non-major dependencies#1669

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
renovate/all-minor-patch
May 18, 2026
Merged

chore(deps): update all non-major dependencies#1669
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
renovate/all-minor-patch

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 18, 2026

This PR contains the following updates:

Package Type Update Change Pending
bollard workspace.dependencies minor 0.200.21
chumsky workspace.dependencies minor 0.120.13
facet (source) workspace.dependencies patch 0.46.00.46.1 0.46.2
hashbrown workspace.dependencies patch 0.17.00.17.1
k8s-openapi workspace.dependencies minor 0.220.27
kube workspace.dependencies minor 0.930.99
metrics-util workspace.dependencies patch 0.20.10.20.3 0.20.4
opentelemetry-semantic-conventions (source) workspace.dependencies minor 0.31.00.32.0
pin-project workspace.dependencies patch 1.1.111.1.12 1.1.13
rcgen workspace.dependencies patch 0.14.70.14.8
rustls workspace.dependencies patch 0.23.390.23.40
serde_with workspace.dependencies minor 3.18.03.20.0
tokio (source) workspace.dependencies patch 1.52.21.52.3
tonic workspace.dependencies patch 0.14.50.14.6
tonic-prost workspace.dependencies patch 0.14.50.14.6
tonic-prost-build workspace.dependencies patch 0.14.50.14.6
tower-http workspace.dependencies patch 0.6.80.6.10 0.6.11

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

fussybeaver/bollard (bollard)

v0.21.0

Compare Source

What's Changed

New Contributors

Full Changelog: fussybeaver/bollard@v0.20.2...v0.21.0

zesterer/chumsky (chumsky)

v0.13.0

Added
  • select! and select_ref! now support cfg attributes.
  • You can now call as_terminal and as_non_terminal on labels that will hide the internals for the debug info
  • RichReason can now be provided with an arbitrary RichReason::Custom type parameter
  • Implemented ConfigParser for OneOf
  • Rich::map_span
  • Parser::map_err_with
  • Parser::filter_map
Removed
  • Unused spin and sync feature flags
Changed
  • Debug info now uses the Display impl to render labels with instead of Debug
  • Migrated to Codeberg, updated links accordingly
  • Removed the unstable Cache API due to soundness issues
  • Added DefaultExpected::NothingElse to allow parsers that can never succeed to generate correct errors
  • Removed the Container trait in favour of std's FromIterator, allowing .collect() to work with a greater range of types
Fixed
  • Labelled -> LabelledWith conversion now carries over the proper debug settings
  • Fixed crash when using memoisation with certain kinds of error generation
  • DefaultExpected::into_owned now has more permissive lifetime constraints
facet-rs/facet (facet)

v0.46.1

Compare Source

Other
  • char, unit: expose clone impl
rust-lang/hashbrown (hashbrown)

v0.17.1

Compare Source

Added
  • Added HashMap::rustc_try_insert (#​722)
Arnavion/k8s-openapi (k8s-openapi)

v0.27.1

Compare Source

k8s-openapi

  • BUGFIX: apimachinery::pkg::api::resource::Quantity now supports deserializing from a JSON floating point literal as well.

Corresponding Kubernetes API server versions:

  • v1.31.14
  • v1.32.13
  • v1.33.9
  • v1.34.5
  • v1.35.2

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.27.0

Compare Source

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.35 under the v1_35 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.30.

  • BREAKING CHANGE: chrono::DateTime has been replaced by jiff::Timestamp in the implementations of apimachinery::pkg::apis::meta::v1::{MicroTime, Time}.

  • FEATURE: All newtypes now implement From for their inner type, eg Time impls From<jiff::Timestamp>.

Corresponding Kubernetes API server versions:

  • v1.31.14
  • v1.32.11
  • v1.33.7
  • v1.34.3
  • v1.35.0

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.26.1

Compare Source

k8s-openapi

  • BUGFIX: apimachinery::pkg::api::resource::Quantity now supports deserializing from a JSON integer, to match Kubernetes API server behavior.

Corresponding Kubernetes API server versions:

  • v1.30.14
  • v1.31.14
  • v1.32.10
  • v1.33.7
  • v1.34.3

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.26.0

Compare Source

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.34 under the v1_34 feature.

  • BREAKING CHANGE: schemars::JsonSchema impls are now generated for schemars v1.

Corresponding Kubernetes API server versions:

  • v1.30.14
  • v1.31.12
  • v1.32.8
  • v1.33.4
  • v1.34.0

k8s-openapi-codegen-common

  • BREAKING CHANGE: schemars::JsonSchema impls are now generated for schemars v1.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.25.0

Compare Source

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.33 under the v1_33 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.28 and 1.29.

  • FEATURE: The crate now supports no_std by disabling its std feature.

Corresponding Kubernetes API server versions:

  • v1.30.12
  • v1.31.8
  • v1.32.4
  • v1.33.0

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.24.0

Compare Source

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.32 under the v1_32 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.26 and 1.27.

Corresponding Kubernetes API server versions:

  • v1.28.15
  • v1.29.12
  • v1.30.8
  • v1.31.4
  • v1.32.0

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

v0.23.0

Compare Source

k8s-openapi

  • BREAKING CHANGE: Added support for Kubernetes 1.31 under the v1_31 feature.

  • BREAKING CHANGE: Dropped support for Kubernetes 1.24 and 1.25.

Corresponding Kubernetes API server versions:

  • v1.26.15
  • v1.27.16
  • v1.28.14
  • v1.29.9
  • v1.30.5
  • v1.31.1

k8s-openapi-codegen-common

  • No changes.

k8s-openapi-derive

  • No changes except to bump the k8s-openapi-codegen-common dependency to the new version.

kube-rs/kube (kube)

v0.99.0

Compare Source

===================

Highlights

Dependency Cleanups
Features

What's Changed

Added
Changed
Fixed

v0.98.0

Compare Source

===================

Highlights

What's Changed

Added
Changed
Fixed

v0.97.0

Compare Source

===================

Highlights

  • CustomResource derive added features for crd yaml output:
  • Configuration edge cases:
    • Avoid double installations of aws-lc-rs (rustls crypto) provider #​1617
    • Kubeconfig fix for null user; #​1608
    • Default runtime watcher backoff alignment with client-go #​1603
  • Feature use:
    • Client proxy feature-set misuse prevention #​1626
    • Allow disabling gzip via Config #​1627
  • Dependency minors: thiserror, hashbrown, jsonptr, json-patch. Killed lazy_static / once_cell

What's Changed

Added
Changed
Fixed

v0.96.0

Compare Source

===================

Highlights

  • Features: webpki-roots added #​1323, and predicates no longer require unstable-runtime #​1578
  • Local auth: improve leniency/kubectl-alignment #​1595, remove http proxy vars #​1520
  • Dependencies: upgrades to tower and secrecy, and derivative swapped for educe

What's Changed

Added
Changed
Removed
Fixed

v0.95.0

Compare Source

===================

Kubernetes v1_31 support via k8s-openapi 0.23

Please upgrade k8s-openapi along with kube to avoid conflicts.

New minimum versions: MSRV 1.77.2, MK8SV: 1.26

What's Changed

Changed

v0.94.2

Compare Source

What's Changed

Fixes a runtime regression in watch_object.

Fixed
New Contributors

Full Changelog: kube-rs/kube@0.94.1...0.94.2

v0.94.1

Compare Source

===================

What's Changed

Convenience release. Adjusted a version bound to avoid possibility of running into version compatibility errors with hyper-rustls.

Fixed

v0.94.0

Compare Source

===================

Highlights

Support for rustls's aws-lc-rs is available under a new kube/aws-lc-rs feature. Via #​1568 for #​1562

Furthermore, there are improvements to partial typing:

  1. Added a DeserializeGuard safety wrapper to lift deserialisation errors (to e.g. not break watchers). See the errorbound example and core module module. Wrapped type be used with e.g. Api::<DeserializeGuard<CaConfigMap>>. Via #​1556
  2. A derive macro for Resource; #[derive(Resource)] allows inheriting existing k8s-openapi resource implementations to avoid stepping down to the dynamic api. See the cert check example for usage. Via #​1565

What's Changed

Added
Changed
  • Make implicitly dependent feature explicitly depend on each other by @​clux in #​1551
metrics-rs/metrics (metrics-util)

v0.20.3

Compare Source

v0.20.2

Compare Source

open-telemetry/opentelemetry-rust (opentelemetry-semantic-conventions)

v0.32.0

Compare Source

Released 2026-May-08

taiki-e/pin-project (pin-project)

v1.1.12

Compare Source

  • Documentation improvements.
rustls/rcgen (rcgen)

v0.14.8: 0.14.8

Compare Source

What's Changed

jonasbb/serde_with (serde_with)

v3.20.0: serde_with v3.20.0

Compare Source

Added
Fixed

v3.19.0: serde_with v3.19.0

Compare Source

Added
  • Add support for hashbrown v0.17 (#​940)

    This extends the existing support for hashbrown to the newly released version.

tokio-rs/tokio (tokio)

v1.52.3: Tokio v1.52.3

Compare Source

1.52.3 (May 8th, 2026)

Fixed
  • sync: fix underflow in mpsc channel len() (#​8062)
  • sync: notify receivers in mpsc OwnedPermit::release() method (#​8075)
  • sync: require that an RwLock has max_readers != 0 (#​8076)
  • sync: return Empty from try_recv() when mpsc is closed with outstanding permits (#​8074)
hyperium/tonic (tonic)

v0.14.6

Compare Source

Added
  • (transport/channel) expose ServerCertVerifier API (#​2612)
Fixed
  • map no trailers ok status to unknown (#​2543)
Other
  • add max_frame_size to client Endpoint (#​2592)
  • Allow setting the HTTP/2 client header table size (#​2582)
  • update rust edition and version to 2024 and 1.88, respectively (#​2525)
tower-rs/tower-http (tower-http)

v0.6.10

Compare Source

Added

  • follow-redirect: expose Attempt::method() and Attempt::previous_method()
    so redirect policies can react to method changes across redirects (e.g.
    POST to GET on 301/303) (#​559)

Fixed

  • Restore tokio and async-compression as no-op features. These will be
    removed next breaking release (#​667)

What's Changed

New Contributors

Full Changelog: tower-rs/tower-http@tower-http-0.6.9...tower-http-0.6.10

v0.6.9

Compare Source

Added:

  • on-early-drop: middleware that detects when a response future or response
    body is dropped before completion (#​636)

    Two events get hooks: the response future being dropped before
    the inner service produces a response, and the response body being
    dropped before reaching end-of-stream.

    Install custom callbacks with OnEarlyDropLayer::builder():

    use http::Request;
    use tower_http::on_early_drop::{OnBodyDropFn, OnEarlyDropLayer};
    
    let layer = OnEarlyDropLayer::builder()
        .on_future_drop(|req: &Request<()>| {
            let uri = req.uri().clone();
            move || eprintln!("future dropped for {}", uri)
        })
        .on_body_drop(OnBodyDropFn::new(|req: &Request<()>| {
            let uri = req.uri().clone();
            move |parts: &http::response::Parts| {
                let status = parts.status;
                move || eprintln!("body dropped for {} status {}", uri, status)
            }
        }));

    Or route both events through a trace::OnFailure hook with
    EarlyDropsAsFailures. Place this layer inside a TraceLayer so the
    emitted events inherit the request span:

    use tower::ServiceBuilder;
    use tower_http::on_early_drop::{OnEarlyDropLayer, EarlyDropsAsFailures};
    use tower_http::trace::{DefaultOnFailure, TraceLayer};
    
    let stack = ServiceBuilder::new()
        .layer(TraceLayer::new_for_http())
        .layer(OnEarlyDropLayer::new(
            EarlyDropsAsFailures::new(DefaultOnFailure::default()),
        ));
  • fs: make AsyncReadBody::with_capacity public (#​415)

Changed:

  • The implicit async-compression feature is removed (#​642)
  • The implicit tokio feature is removed (#​628)
  • fs: no longer auto-enables the tracing crate feature; enable tracing
    explicitly to restore error logging on ServeDir IO failures (#​614)

Fixed

  • trace: restore failure classification at end-of-stream (#​483)
  • follow-redirect: support unicode URLs (swaps iri-string dep for
    url) (#​646)
  • fs: reject reserved Windows DOS device names (CON, COM1, etc.) in
    ServeDir (#​663)

All the PRs

New Contributors

Full Changelog: tower-rs/tower-http@tower-http-0.6.8...tower-http-0.6.9


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)
  • 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 if that's undesired.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner May 18, 2026 01:36
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented May 18, 2026

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package facet@0.46.0 --precise 0.46.1
    Updating git repository `https://github.com/tobz/hyper-http-proxy.git`
From https://github.com/tobz/hyper-http-proxy
 * [new ref]         c7c5aad8b0cba98dd3ca404b45031473ef2d03b6 -> refs/commit/c7c5aad8b0cba98dd3ca404b45031473ef2d03b6
    Updating crates.io index
    Updating git repository `https://github.com/tobz/piecemeal`
From https://github.com/tobz/piecemeal
 * [new ref]         828e8632116ba7b323991796e6ae842fcabe6291 -> refs/commit/828e8632116ba7b323991796e6ae842fcabe6291
    Updating git repository `https://github.com/DataDog/lading`
From https://github.com/DataDog/lading
 * [new ref]         f06a75d63397c4e0210ca9184a3240515e547fec -> refs/commit/f06a75d63397c4e0210ca9184a3240515e547fec
error: failed to select a version for `k8s-openapi`.
    ... required by package `panoramic v0.1.0 (/tmp/renovate/repos/github/DataDog/saluki/bin/correctness/panoramic)`
versions that meet the requirements `^0.27` are: 0.27.1, 0.27.0

package `panoramic` depends on `k8s-openapi` with feature `v1_29` but `k8s-openapi` does not have that feature.
 package `k8s-openapi` does have feature `v1_31`


failed to select a version for `k8s-openapi` which could resolve this conflict

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f0a73be1f6

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread Cargo.toml Outdated
rand_distr = { version = "0.6", default-features = false }
k8s-openapi = { version = "0.22", default-features = false }
kube = { version = "0.93", default-features = false }
k8s-openapi = { version = "0.27", default-features = false }
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Use a k8s-openapi version compatible with v1_29

Updating k8s-openapi to 0.27 breaks workspace dependency resolution because bin/correctness/panoramic/Cargo.toml still enables k8s-openapi feature v1_29, which is no longer available in this release line (it was dropped in newer k8s-openapi versions). In practice, any normal dependency re-resolution (for example when regenerating Cargo.lock or building without an already-compatible lock) will fail for the panoramic crate, so this dependency bump needs a coordinated feature/version change.

Useful? React with 👍 / 👎.

@renovate renovate Bot force-pushed the renovate/all-minor-patch branch from f0a73be to f65c352 Compare May 18, 2026 11:23
@webern webern self-requested a review May 18, 2026 12:55
@webern webern force-pushed the renovate/all-minor-patch branch from f65c352 to e6d7e2d Compare May 18, 2026 13:12
@webern webern self-assigned this May 18, 2026
@webern webern removed their request for review May 18, 2026 13:14
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented May 18, 2026

Edited/Blocked Notification

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

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

⚠️ Warning: custom changes will be lost.

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented May 18, 2026

Binary Size Analysis (Agent Data Plane)

Target: 6273cc1 (baseline) vs e6d7e2d (comparison) diff
Analysis Type: Stripped binaries (debug symbols excluded)
Baseline Size: 37.46 MiB
Comparison Size: 37.34 MiB
Size Change: -126.22 KiB (-0.33%)
Pass/Fail Threshold: +5%
Result: PASSED ✅

Changes by Module

Module File Size Symbols
aws_lc_0_40_0_aes_gcm_encrypt_avx512 -333.79 KiB 1
aws_lc_0_41_0_aes_gcm_decrypt_avx512 +333.79 KiB 1
aws_lc_0_41_0_aes_gcm_encrypt_avx512 +332.11 KiB 1
aws_lc_0_40_0_aes_gcm_decrypt_avx512 -332.10 KiB 1
figment -71.87 KiB 614
aws_lc_0_41_0_edwards25519_scalarmulbase_alt +60.33 KiB 1
aws_lc_0_40_0_edwards25519_scalarmulbase_alt -60.33 KiB 1
aws_lc_0_41_0_edwards25519_scalarmulbase +60.06 KiB 1
aws_lc_0_40_0_edwards25519_scalarmulbase -60.06 KiB 1
aws_lc_0_41_0_curve25519_x25519base_alt +59.86 KiB 1
aws_lc_0_40_0_curve25519_x25519base_alt -59.86 KiB 1
aws_lc_0_41_0_curve25519_x25519base +59.62 KiB 1
aws_lc_0_40_0_curve25519_x25519base -59.62 KiB 1
anon.c667e3abb21934ed8e5cf8c20c8e2361.4.llvm.7616215786308165526 +48.93 KiB 1
anon.3aa535d5d17dac013089db9e05cb256d.4.llvm.1595642183590478589 -48.93 KiB 1
core -30.45 KiB 19096
anon.1f9949a867ab459cc0c5e6efb1ff8f9c.1029.llvm.1841044168311788847 +28.07 KiB 1
anon.77aae97c5e2d3612c16fa5ce6626e3e8.1029.llvm.1262250578423513277 -28.07 KiB 1
smallvec -23.09 KiB 297
aws_lc_0_41_0_curve25519_x25519_byte_alt +21.68 KiB 1

Detailed Symbol Changes

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  [NEW] +1.77Mi  [NEW] +1.77Mi    _<chrono_tz::prebuilt::timezones::Tz as chrono_tz::timezone_impl::TimeSpans>::timespans::hc0f278fb9b825bde
  [NEW]  +333Ki  [NEW]  +333Ki    aws_lc_0_41_0_aes_gcm_decrypt_avx512
  [NEW]  +332Ki  [NEW]  +332Ki    aws_lc_0_41_0_aes_gcm_encrypt_avx512
  [NEW]  +156Ki  [NEW]  +155Ki    agent_data_plane::cli::run::handle_run_command::_{{closure}}::he7fdb2477cbeccb5
  [NEW] +67.6Ki  [NEW] +67.4Ki    agent_data_plane::cli::run::create_topology::_{{closure}}::h375947249ae871d2
  [NEW] +63.6Ki  [NEW] +63.4Ki    saluki_core::topology::built::BuiltTopology::spawn::_{{closure}}::h62bfde3a08889b27
  [NEW] +60.3Ki  [NEW] +59.9Ki    aws_lc_0_41_0_edwards25519_scalarmulbase_alt
  [NEW] +60.2Ki  [NEW] +60.0Ki    agent_data_plane::internal::env::workload::RemoteAgentWorkloadProvider::from_configuration::_{{closure}}::he8d6acc939aef137
  [NEW] +60.1Ki  [NEW] +59.6Ki    aws_lc_0_41_0_edwards25519_scalarmulbase
  [NEW] +59.9Ki  [NEW] +59.4Ki    aws_lc_0_41_0_curve25519_x25519base_alt
  [DEL] -59.9Ki  [DEL] -59.4Ki    aws_lc_0_40_0_curve25519_x25519base_alt
  [DEL] -60.1Ki  [DEL] -59.6Ki    aws_lc_0_40_0_edwards25519_scalarmulbase
  [DEL] -60.3Ki  [DEL] -60.1Ki    agent_data_plane::internal::env::workload::RemoteAgentWorkloadProvider::from_configuration::_{{closure}}::h338fcc3bf4f70534
  [DEL] -60.3Ki  [DEL] -59.9Ki    aws_lc_0_40_0_edwards25519_scalarmulbase_alt
  [DEL] -63.3Ki  [DEL] -63.2Ki    saluki_core::topology::built::BuiltTopology::spawn::_{{closure}}::h025944b7eb226ac7
  [DEL] -67.6Ki  [DEL] -67.4Ki    agent_data_plane::cli::run::create_topology::_{{closure}}::he61859445306a93d
  -0.5%  -126Ki  -0.5%  -113Ki    [68115 Others]
  [DEL]  -156Ki  [DEL]  -156Ki    agent_data_plane::cli::run::handle_run_command::_{{closure}}::hd83fd04a3d04258b
  [DEL]  -332Ki  [DEL]  -332Ki    aws_lc_0_40_0_aes_gcm_decrypt_avx512
  [DEL]  -333Ki  [DEL]  -333Ki    aws_lc_0_40_0_aes_gcm_encrypt_avx512
  [DEL] -1.77Mi  [DEL] -1.77Mi    _<chrono_tz::prebuilt::timezones::Tz as chrono_tz::timezone_impl::TimeSpans>::timespans::hf7ab39f4921fbc99
  -0.3%  -126Ki  -0.4%  -113Ki    TOTAL

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented May 18, 2026

Regression Detector (Agent Data Plane)

Run ID: 7e87edca-9bb7-40f7-a670-742143fd0208
Baseline: 6273cc16 · Comparison: e6d7e2d5 · Diff

Optimization Goals: ✅ No significant changes detected

Fine details of change detection per experiment (35)

Experiments configured erratic: true are tagged (ignored) and skipped when determining which experiments regressed or improved. Experiments which are detected as erratic at runtime are tagged (erratic) to flag that the run's sample dispersion was high, but their regression / improvement signal still counts.

experiment goal Δ mean % links
dsd_uds_512kb_3k_contexts_cpu (erratic) cpu ⚪ +7.64 metrics profiles logs
otlp_ingest_logs_5mb_memory (ignored) memory ⚪ +5.88 metrics profiles logs
dsd_uds_1mb_3k_contexts_cpu (erratic) cpu ⚪ +5.47 metrics profiles logs
otlp_ingest_metrics_5mb_memory memory ⚪ +3.81 metrics profiles logs
otlp_ingest_traces_ottl_filtering_5mb_cpu (erratic) cpu ⚪ +2.75 metrics profiles logs
otlp_ingest_traces_5mb_cpu (erratic) cpu ⚪ +1.85 metrics profiles logs
dsd_uds_500mb_3k_contexts_cpu (erratic) cpu ⚪ +0.43 metrics profiles logs
otlp_ingest_logs_5mb_cpu (ignored) cpu ⚪ +0.37 metrics profiles logs
otlp_ingest_traces_ottl_transform_5mb_cpu (erratic) cpu ⚪ +0.13 metrics profiles logs
otlp_ingest_traces_5mb_throughput throughput ⚪ -0.04 metrics profiles logs
otlp_ingest_traces_ottl_filtering_5mb_memory memory ⚪ +0.04 metrics profiles logs
dsd_uds_10mb_3k_contexts_throughput throughput ⚪ -0.01 metrics profiles logs
dsd_uds_1mb_3k_contexts_throughput throughput ⚪ -0.00 metrics profiles logs
otlp_ingest_logs_5mb_throughput (ignored) throughput ⚪ +0.00 metrics profiles logs
dsd_uds_512kb_3k_contexts_throughput throughput ⚪ +0.00 metrics profiles logs
dsd_uds_100mb_3k_contexts_throughput throughput ⚪ +0.01 metrics profiles logs
otlp_ingest_metrics_5mb_throughput throughput ⚪ +0.02 metrics profiles logs
otlp_ingest_traces_ottl_filtering_5mb_throughput throughput ⚪ +0.02 metrics profiles logs
dsd_uds_10mb_3k_contexts_memory memory ⚪ -0.07 metrics profiles logs
otlp_ingest_traces_5mb_memory memory ⚪ -0.09 metrics profiles logs
otlp_ingest_traces_ottl_transform_5mb_memory memory ⚪ -0.11 metrics profiles logs
otlp_ingest_traces_ottl_transform_5mb_throughput throughput ⚪ +0.15 metrics profiles logs
quality_gates_rss_dsd_medium memory ⚪ -0.42 metrics profiles logs
quality_gates_rss_dsd_low memory ⚪ -0.44 metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory ⚪ -0.45 metrics profiles logs
quality_gates_rss_idle memory ⚪ -0.51 metrics profiles logs
dsd_uds_100mb_3k_contexts_cpu (erratic) cpu ⚪ -0.55 metrics profiles logs
dsd_uds_1mb_3k_contexts_memory memory ⚪ -0.65 metrics profiles logs
otlp_ingest_metrics_5mb_cpu (erratic) cpu ⚪ -0.66 metrics profiles logs
quality_gates_rss_dsd_heavy memory ⚪ -0.66 metrics profiles logs
dsd_uds_500mb_3k_contexts_throughput throughput ⚪ +0.69 metrics profiles logs
dsd_uds_512kb_3k_contexts_memory memory ⚪ -0.73 metrics profiles logs
dsd_uds_500mb_3k_contexts_memory memory ⚪ -0.95 metrics profiles logs
dsd_uds_100mb_3k_contexts_memory memory ⚪ -0.98 metrics profiles logs
dsd_uds_10mb_3k_contexts_cpu (erratic) cpu 🟢 -5.08 metrics profiles logs
Bounds Checks: ✅ Passed (5)
experiment check replicates observed links
quality_gates_rss_dsd_heavy memory_usage 10/10 ✅ 118 MiB ≤ 140 MiB metrics profiles logs
quality_gates_rss_dsd_low memory_usage 10/10 ✅ 39.4 MiB ≤ 50 MiB metrics profiles logs
quality_gates_rss_dsd_medium memory_usage 10/10 ✅ 59.9 MiB ≤ 75 MiB metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory_usage 10/10 ✅ 178 MiB ≤ 200 MiB metrics profiles logs
quality_gates_rss_idle memory_usage 10/10 ✅ 26.9 MiB ≤ 40 MiB metrics profiles logs
Explanation

A change is flagged as a regression when |Δ mean %| > 5.00% in the regressing direction for its optimization goal AND SMP marks the experiment as a regression (is_regression: true). Improvements use the matching criteria for the improving direction. Experiments configured erratic: true (tagged (ignored)) are skipped outright; experiments detected as erratic at runtime (tagged (erratic)) still count, since that flag describes sample dispersion rather than directional certainty. The Δ mean % cell is colored accordingly: 🟢 = improvement, 🔴 = regression, ⚪ = neutral. Reduction in CPU or memory is an improvement; reduction in ingress throughput is a regression.

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d Bot merged commit 17e6738 into main May 18, 2026
79 checks passed
dd-octo-sts Bot pushed a commit that referenced this pull request May 18, 2026
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [bollard](https://redirect.github.com/fussybeaver/bollard) | workspace.dependencies | minor | `0.20` → `0.21` |  |
| [chumsky](https://codeberg.org/zesterer/chumsky) | workspace.dependencies | minor | `0.12` → `0.13` |  |
| [facet](https://facet.rs) ([source](https://redirect.github.com/facet-rs/facet)) | workspace.dependencies | patch | `0.46.0` → `0.46.1` | `0.46.2` |
| [hashbrown](https://redirect.github.com/rust-lang/hashbrown) | workspace.dependencies | patch | `0.17.0` → `0.17.1` |  |
| [k8s-openapi](https://redirect.github.com/Arnavion/k8s-openapi) | workspace.dependencies | minor | `0.22` → `0.27` |  |
| [kube](https://redirect.github.com/kube-rs/kube) | workspace.dependencies | minor | `0.93` → `0.99` |  |
| [metrics-util](https://redirect.github.com/metrics-rs/metrics) | workspace.dependencies | patch | `0.20.1` → `0.20.3` | `0.20.4` |
| [opentelemetry-semantic-conventions](https://redirect.github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-semantic-conventions) ([source](https://redirect.github.com/open-telemetry/opentelemetry-rust/tree/HEAD/opentelemetry-semantic-conventions)) | workspace.dependencies | minor | `0.31.0` → `0.32.0` |  |
| [pin-project](https://redirect.github.com/taiki-e/pin-project) | workspace.dependencies | patch | `1.1.11` → `1.1.12` | `1.1.13` |
| [rcgen](https://redirect.github.com/rustls/rcgen) | workspace.dependencies | patch | `0.14.7` → `0.14.8` |  |
| [rustls](https://redirect.github.com/rustls/rustls) | workspace.dependencies | patch | `0.23.39` → `0.23.40` |  |
| [serde_with](https://redirect.github.com/jonasbb/serde_with) | workspace.dependencies | minor | `3.18.0` → `3.20.0` |  |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | patch | `1.52.2` → `1.52.3` |  |
| [tonic](https://redirect.github.com/hyperium/tonic) | workspace.dependencies | patch | `0.14.5` → `0.14.6` |  |
| [tonic-prost](https://redirect.github.com/hyperium/tonic) | workspace.dependencies | patch | `0.14.5` → `0.14.6` |  |
| [tonic-prost-build](https://redirect.github.com/hyperium/tonic) | workspace.dependencies | patch | `0.14.5` → `0.14.6` |  |
| [tower-http](https://redirect.github.com/tower-rs/tower-http) | workspace.dependencies | patch | `0.6.8` → `0.6.10` | `0.6.11` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/1486) for more information.

---

### Release Notes

<details>
<summary>fussybeaver/bollard (bollard)</summary>

### [`v0.21.0`](https://redirect.github.com/fussybeaver/bollard/releases/tag/v0.21.0)

[Compare Source](https://redirect.github.com/fussybeaver/bollard/compare/v0.20.2...v0.21.0)

#### What's Changed

- feat: first-class Podman support with feature flags by [@&#8203;caniko](https://redirect.github.com/caniko) in [#&#8203;700](https://redirect.github.com/fussybeaver/bollard/pull/700)
- chore: Bump protobuf files to buildkit master for version bollard-buildkit-proto 0.8.0 by [@&#8203;fussybeaver](https://redirect.github.com/fussybeaver) in [#&#8203;704](https://redirect.github.com/fussybeaver/bollard/pull/704)
- build(deps): bump rust from 1.93.0-slim to 1.94.1-slim by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;702](https://redirect.github.com/fussybeaver/bollard/pull/702)
- build(deps): bump swagger-codegen.version from 2.4.50 to 2.4.51 in /codegen/swagger by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;698](https://redirect.github.com/fussybeaver/bollard/pull/698)
- Use DEFAULT\_MAX\_RECV\_MSG\_SIZE and DEFAULT\_MAX\_SEND\_MSG\_SIZE for services by [@&#8203;j-walther](https://redirect.github.com/j-walther) in [#&#8203;710](https://redirect.github.com/fussybeaver/bollard/pull/710)
- chore: swagger api 1.43 by [@&#8203;fussybeaver](https://redirect.github.com/fussybeaver) in [#&#8203;707](https://redirect.github.com/fussybeaver/bollard/pull/707)
- chore: peg against api 1.53 by [@&#8203;fussybeaver](https://redirect.github.com/fussybeaver) in [#&#8203;712](https://redirect.github.com/fussybeaver/bollard/pull/712)
- fix: Parse logs where there is no trailing newline by [@&#8203;fussybeaver](https://redirect.github.com/fussybeaver) in [#&#8203;714](https://redirect.github.com/fussybeaver/bollard/pull/714)
- build(deps): update tokio-tungstenite requirement from 0.28 to 0.29 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;699](https://redirect.github.com/fussybeaver/bollard/pull/699)
- Also set the messages limits for the client, file send and ssh by [@&#8203;j-walther](https://redirect.github.com/j-walther) in [#&#8203;718](https://redirect.github.com/fussybeaver/bollard/pull/718)
- Allow users to pass their own build reference by [@&#8203;j-walther](https://redirect.github.com/j-walther) in [#&#8203;687](https://redirect.github.com/fussybeaver/bollard/pull/687)
- fix: Remove topology special case by [@&#8203;fussybeaver](https://redirect.github.com/fussybeaver) in [#&#8203;719](https://redirect.github.com/fussybeaver/bollard/pull/719)
- fix(codegen): add Podman "stopping" state to container state enums by [@&#8203;Theaxiom](https://redirect.github.com/Theaxiom) in [#&#8203;715](https://redirect.github.com/fussybeaver/bollard/pull/715)
- build(deps): update rand requirement from 0.9 to 0.10 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;690](https://redirect.github.com/fussybeaver/bollard/pull/690)
- build(deps): bump rust from 1.94.1-slim to 1.95.0-slim by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;716](https://redirect.github.com/fussybeaver/bollard/pull/716)
- build(deps): bump swagger-codegen.version from 2.4.51 to 2.4.52 in /codegen/swagger by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;717](https://redirect.github.com/fussybeaver/bollard/pull/717)
- chore: podman state release 1.53.1 by [@&#8203;fussybeaver](https://redirect.github.com/fussybeaver) in [#&#8203;720](https://redirect.github.com/fussybeaver/bollard/pull/720)
- chore: Release 0.21.0 by [@&#8203;fussybeaver](https://redirect.github.com/fussybeaver) in [#&#8203;721](https://redirect.github.com/fussybeaver/bollard/pull/721)

#### New Contributors

- [@&#8203;caniko](https://redirect.github.com/caniko) made their first contribution in [#&#8203;700](https://redirect.github.com/fussybeaver/bollard/pull/700)
- [@&#8203;Theaxiom](https://redirect.github.com/Theaxiom) made their first contribution in [#&#8203;715](https://redirect.github.com/fussybeaver/bollard/pull/715)

**Full Changelog**: <https://github.com/fussybeaver/bollard/compare/v0.20.2...v0.21.0>

</details>

<details>
<summary>zesterer/chumsky (chumsky)</summary>

### [`v0.13.0`](https://codeberg.org/zesterer/chumsky/blob/HEAD/CHANGELOG.md#0130---2026-05-06)

##### Added

- `select!` and `select_ref!` now support cfg attributes.
- You can now call `as_terminal` and `as_non_terminal` on labels that will hide the internals for the debug info
- `RichReason` can now be provided with an arbitrary `RichReason::Custom` type parameter
- Implemented `ConfigParser` for `OneOf`
- `Rich::map_span`
- `Parser::map_err_with`
- `Parser::filter_map`

##### Removed

- Unused `spin` and `sync` feature flags

##### Changed

- Debug info now uses the `Display` impl to render labels with instead of `Debug`
- Migrated to Codeberg, updated links accordingly
- Removed the unstable `Cache` API due to soundness issues
- Added `DefaultExpected::NothingElse` to allow parsers that can never succeed to generate correct errors
- Removed the `Container` trait in favour of std's `FromIterator`, allowing `.collect()` to work with a greater range of types

##### Fixed

- `Labelled` -> `LabelledWith` conversion now carries over the proper debug settings
- Fixed crash when using memoisation with certain kinds of error generation
- `DefaultExpected::into_owned` now has more permissive lifetime constraints

</details>

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

### [`v0.46.1`](https://redirect.github.com/facet-rs/facet/blob/HEAD/CHANGELOG.md#0461---2026-05-10)

[Compare Source](https://redirect.github.com/facet-rs/facet/compare/facet-v0.46.0...facet-v0.46.1)

##### Other

- char, unit: expose clone impl

</details>

<details>
<summary>rust-lang/hashbrown (hashbrown)</summary>

### [`v0.17.1`](https://redirect.github.com/rust-lang/hashbrown/blob/HEAD/CHANGELOG.md#0171---2026-04-20)

[Compare Source](https://redirect.github.com/rust-lang/hashbrown/compare/v0.17.0...v0.17.1)

##### Added

- Added `HashMap::rustc_try_insert` ([#&#8203;722](https://redirect.github.com/rust-lang/hashbrown/issues/722))

</details>

<details>
<summary>Arnavion/k8s-openapi (k8s-openapi)</summary>

### [`v0.27.1`](https://redirect.github.com/Arnavion/k8s-openapi/blob/HEAD/CHANGELOG.md#v0271-2026-03-05)

[Compare Source](https://redirect.github.com/Arnavion/k8s-openapi/compare/v0.27.0...v0.27.1)

#### k8s-openapi

- BUGFIX: `apimachinery::pkg::api::resource::Quantity` now supports deserializing from a JSON floating point literal as well.

Corresponding Kubernetes API server versions:

- v1.31.14
- v1.32.13
- v1.33.9
- v1.34.5
- v1.35.2

#### k8s-openapi-codegen-common

- No changes.

#### k8s-openapi-derive

- No changes except to bump the `k8s-openapi-codegen-common` dependency to the new version.

***

### [`v0.27.0`](https://redirect.github.com/Arnavion/k8s-openapi/blob/HEAD/CHANGELOG.md#v0270-2026-01-11)

[Compare Source](https://redirect.github.com/Arnavion/k8s-openapi/compare/v0.26.1...v0.27.0)

#### k8s-openapi

- BREAKING CHANGE: Added support for Kubernetes 1.35 under the `v1_35` feature.

- BREAKING CHANGE: Dropped support for Kubernetes 1.30.

- BREAKING CHANGE: `chrono::DateTime` has been replaced by `jiff::Timestamp` in the implementations of `apimachinery::pkg::apis::meta::v1::{MicroTime, Time}`.

- FEATURE: All newtypes now implement `From` for their inner type, eg `Time` impls `From<jiff::Timestamp>`.

Corresponding Kubernetes API server versions:

- v1.31.14
- v1.32.11
- v1.33.7
- v1.34.3
- v1.35.0

#### k8s-openapi-codegen-common

- No changes.

#### k8s-openapi-derive

- No changes except to bump the `k8s-openapi-codegen-common` dependency to the new version.

***

### [`v0.26.1`](https://redirect.github.com/Arnavion/k8s-openapi/blob/HEAD/CHANGELOG.md#v0261-2025-12-09)

[Compare Source](https://redirect.github.com/Arnavion/k8s-openapi/compare/v0.26.0...v0.26.1)

#### k8s-openapi

- BUGFIX: `apimachinery::pkg::api::resource::Quantity` now supports deserializing from a JSON integer, to match Kubernetes API server behavior.

Corresponding Kubernetes API server versions:

- v1.30.14
- v1.31.14
- v1.32.10
- v1.33.7
- v1.34.3

#### k8s-openapi-codegen-common

- No changes.

#### k8s-openapi-derive

- No changes except to bump the `k8s-openapi-codegen-common` dependency to the new version.

***

### [`v0.26.0`](https://redirect.github.com/Arnavion/k8s-openapi/blob/HEAD/CHANGELOG.md#v0260-2025-09-06)

[Compare Source](https://redirect.github.com/Arnavion/k8s-openapi/compare/v0.25.0...v0.26.0)

#### k8s-openapi

- BREAKING CHANGE: Added support for Kubernetes 1.34 under the `v1_34` feature.

- BREAKING CHANGE: `schemars::JsonSchema` impls are now generated for schemars v1.

Corresponding Kubernetes API server versions:

- v1.30.14
- v1.31.12
- v1.32.8
- v1.33.4
- v1.34.0

#### k8s-openapi-codegen-common

- BREAKING CHANGE: `schemars::JsonSchema` impls are now generated for schemars v1.

#### k8s-openapi-derive

- No changes except to bump the `k8s-openapi-codegen-common` dependency to the new version.

***

### [`v0.25.0`](https://redirect.github.com/Arnavion/k8s-openapi/blob/HEAD/CHANGELOG.md#v0250-2025-05-11)

[Compare Source](https://redirect.github.com/Arnavion/k8s-openapi/compare/v0.24.0...v0.25.0)

#### k8s-openapi

- BREAKING CHANGE: Added support for Kubernetes 1.33 under the `v1_33` feature.

- BREAKING CHANGE: Dropped support for Kubernetes 1.28 and 1.29.

- FEATURE: The crate now supports `no_std` by disabling its `std` feature.

Corresponding Kubernetes API server versions:

- v1.30.12
- v1.31.8
- v1.32.4
- v1.33.0

#### k8s-openapi-codegen-common

- No changes.

#### k8s-openapi-derive

- No changes except to bump the `k8s-openapi-codegen-common` dependency to the new version.

***

### [`v0.24.0`](https://redirect.github.com/Arnavion/k8s-openapi/blob/HEAD/CHANGELOG.md#v0240-2024-12-21)

[Compare Source](https://redirect.github.com/Arnavion/k8s-openapi/compare/v0.23.0...v0.24.0)

#### k8s-openapi

- BREAKING CHANGE: Added support for Kubernetes 1.32 under the `v1_32` feature.

- BREAKING CHANGE: Dropped support for Kubernetes 1.26 and 1.27.

Corresponding Kubernetes API server versions:

- v1.28.15
- v1.29.12
- v1.30.8
- v1.31.4
- v1.32.0

#### k8s-openapi-codegen-common

- No changes.

#### k8s-openapi-derive

- No changes except to bump the `k8s-openapi-codegen-common` dependency to the new version.

***

### [`v0.23.0`](https://redirect.github.com/Arnavion/k8s-openapi/blob/HEAD/CHANGELOG.md#v0230-2024-09-15)

[Compare Source](https://redirect.github.com/Arnavion/k8s-openapi/compare/v0.22.0...v0.23.0)

#### k8s-openapi

- BREAKING CHANGE: Added support for Kubernetes 1.31 under the `v1_31` feature.

- BREAKING CHANGE: Dropped support for Kubernetes 1.24 and 1.25.

Corresponding Kubernetes API server versions:

- v1.26.15
- v1.27.16
- v1.28.14
- v1.29.9
- v1.30.5
- v1.31.1

#### k8s-openapi-codegen-common

- No changes.

#### k8s-openapi-derive

- No changes except to bump the `k8s-openapi-codegen-common` dependency to the new version.

***

</details>

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

### [`v0.99.0`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#0990--2025-03-12)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.98.0...0.99.0)

\===================

<!-- Release notes generated using configuration in .github/release.yml at 0.99.0 -->

#### Highlights

##### Dependency Cleanups

- `backoff` ([unmaintained](https://redirect.github.com/ihrwein/backoff)) replaced with `backon` in [#&#8203;1653](https://redirect.github.com/kube-rs/kube/pull/1653)
  - No change if you are using [`default_backoff`](https://docs.rs/kube/latest/kube/runtime/trait.WatchStreamExt.html#method.default_backoff) natively, or through `Controller`.
  - Parameters configurable via [`ExponentialBackoff`](https://docs.rs/kube/latest/kube/runtime/watcher/struct.ExponentialBackoff.html) from [`backon::ExponentialBuilder`](https://docs.rs/backon/1.4.0/backon/struct.ExponentialBuilder.html) into [`WatchStreamExt::backoff`](https://docs.rs/kube/latest/kube/runtime/trait.WatchStreamExt.html#method.backoff)
- `json-patch` bumped and uses [re-exported `jsonptr`](https://docs.rs/json-patch/4.0.0/json_patch/index.html#reexports) for less version clashes [#&#8203;1718](https://redirect.github.com/kube-rs/kube/pull/1718)
- `rand` dependency no longer explicit as only rng is under `ws` feature via `tungstenite`'s [`client::generate_key`](https://docs.rs/tungstenite/latest/tungstenite/handshake/client/fn.generate_key.html) [#&#8203;1691](https://redirect.github.com/kube-rs/kube/pull/1691)
- `ring` ([still maintained](https://redirect.github.com/briansmith/ring/discussions/2414)) now optional for `rustls-tls` feature (for alternate `aws-lc-rs`) [#&#8203;1717](https://redirect.github.com/kube-rs/kube/pull/1717)

##### Features

- Support for the `v5.channel.k8s.io` streaming `ws` protocol to allow closing streams properly ([kubernetes.io blog](https://kubernetes.io/blog/2024/08/20/websockets-transition/)) [#&#8203;1693](https://redirect.github.com/kube-rs/kube/pull/1693)
- `CustomResource` derive; typed attributes for [`#[kube(scale)]`](https://docs.rs/kube/latest/kube/derive.CustomResource.html#kubescale) and [`#[kube(deprecated)]`](https://docs.rs/kube/latest/kube/derive.CustomResource.html#kubedeprecated--warning) in [#&#8203;1656](https://redirect.github.com/kube-rs/kube/pull/1656) + [#&#8203;1697](https://redirect.github.com/kube-rs/kube/pull/1697)
- [`Client::with_valid_until`](https://docs.rs/kube/latest/kube/struct.Client.html#method.with_valid_until) to handle short lived local client certs [#&#8203;1707](https://redirect.github.com/kube-rs/kube/pull/1707)
- New common [`conditions`](https://docs.rs/kube/latest/kube/runtime/wait/conditions/index.html#functions) that can be [awaited](https://docs.rs/kube/latest/kube/runtime/wait/fn.await_condition.html) [#&#8203;1710](https://redirect.github.com/kube-rs/kube/pull/1710)

#### What's Changed

##### Added

- Add typed scale argument to derive macro by [@&#8203;Techassi](https://redirect.github.com/Techassi) in [#&#8203;1656](https://redirect.github.com/kube-rs/kube/pull/1656)
- Add deprecated argument to derive macro by [@&#8203;Techassi](https://redirect.github.com/Techassi) in [#&#8203;1697](https://redirect.github.com/kube-rs/kube/pull/1697)
- Add `Api::get_metadata_opt_with` by [@&#8203;sebsoto](https://redirect.github.com/sebsoto) in [#&#8203;1708](https://redirect.github.com/kube-rs/kube/pull/1708)
- Add common wait conditions for Deployments, LoadBalancer Services, and Ingress by [@&#8203;detjensrobert](https://redirect.github.com/detjensrobert) in [#&#8203;1710](https://redirect.github.com/kube-rs/kube/pull/1710)
- Add `Client::with_valid_until` for client cert expiry by [@&#8203;goenning](https://redirect.github.com/goenning) in [#&#8203;1707](https://redirect.github.com/kube-rs/kube/pull/1707)
- kube-runtime: make `ExponentialBackoff` public by [@&#8203;gdeleon2](https://redirect.github.com/gdeleon2) in [#&#8203;1716](https://redirect.github.com/kube-rs/kube/pull/1716)

##### Changed

- Replace `backoff` with `backon` by [@&#8203;flavio](https://redirect.github.com/flavio) in [#&#8203;1653](https://redirect.github.com/kube-rs/kube/pull/1653)
- Bump `rand` to 0.9 by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1686](https://redirect.github.com/kube-rs/kube/pull/1686)
- Remove `rand` dependency in favor of `tungstenite` fn by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1691](https://redirect.github.com/kube-rs/kube/pull/1691)
- Exec can return stdout data even after stdin is closed. by [@&#8203;esw-amzn](https://redirect.github.com/esw-amzn) in [#&#8203;1693](https://redirect.github.com/kube-rs/kube/pull/1693)
- Bump `json-patch` to 4 use bundled `jsonptr` to 0.7 by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1718](https://redirect.github.com/kube-rs/kube/pull/1718)
- Allow removing hyper-rustls/ring feature by [@&#8203;eliad-wiz](https://redirect.github.com/eliad-wiz) in [#&#8203;1717](https://redirect.github.com/kube-rs/kube/pull/1717)

##### Fixed

- kube-runtime: fix exponential backoff max times by [@&#8203;eliad-wiz](https://redirect.github.com/eliad-wiz) in [#&#8203;1713](https://redirect.github.com/kube-rs/kube/pull/1713)
- `CustomResource` derive; allow `status` attribute to take a path by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1704](https://redirect.github.com/kube-rs/kube/pull/1704)

### [`v0.98.0`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#0980--2024-12-23)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.97.0...0.98.0)

\===================

<!-- Release notes generated using configuration in .github/release.yml at 0.98.0 -->

#### Highlights

- [Kubernetes `v1_32`](https://kubernetes.io/blog/2024/12/11/kubernetes-v1-32-release/) support via `k8s-openapi` [0.24](https://redirect.github.com/Arnavion/k8s-openapi/releases/tag/v0.24.0)
  - Please [upgrade k8s-openapi along with kube](https://kube.rs/upgrading/) to avoid conflicts.
  - New minimum versions: [MSRV](https://kube.rs/rust-version/) 1.81.0, [MK8SV](https://kube.rs/kubernetes-version/): 1.28
- `kube-derive` additions:
  - A [`CELSchema`](https://docs.rs/kube/latest/kube/derive.CELSchema.html) derive macro wrapper around [`JsonSchema`](https://docs.rs/schemars/latest/schemars/trait.JsonSchema.html) for injecting [cel validations](https://kubernetes.io/docs/reference/using-api/cel/) into the schema [#&#8203;1649](https://redirect.github.com/kube-rs/kube/pull/1649)
  - Allow overriding `served` and `storage` booleans for [multiple versions](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#specify-multiple-versions) of [`CustomResource`](https://docs.rs/kube/latest/kube/derive.CustomResource.html) derives: [#&#8203;1644](https://redirect.github.com/kube-rs/kube/pull/1644)
- `kube-runtime` event [`Recorder`](https://docs.rs/kube/latest/kube/runtime/events/struct.Recorder.html) now aggregates repeat events [#&#8203;1655](https://redirect.github.com/kube-rs/kube/pull/1655) (some breaking changes, see [controller-rs#116](https://redirect.github.com/kube-rs/controller-rs/pull/116))
- `kube-client` UTF-16 edge case handling for windows [#&#8203;1654](https://redirect.github.com/kube-rs/kube/pull/1654)

#### What's Changed

##### Added

- Add `storage` and `served` argument to derive macro by [@&#8203;Techassi](https://redirect.github.com/Techassi) in [#&#8203;1644](https://redirect.github.com/kube-rs/kube/pull/1644)
- Implement  `derive(CELSchema)` macro for generating cel validation on CRDs by [@&#8203;Danil-Grigorev](https://redirect.github.com/Danil-Grigorev) in [#&#8203;1649](https://redirect.github.com/kube-rs/kube/pull/1649)

##### Changed

- Add series implementation for `runtime` event recorder by [@&#8203;pando85](https://redirect.github.com/pando85) in [#&#8203;1655](https://redirect.github.com/kube-rs/kube/pull/1655)
- Bump `k8s-openapi` for Kubernetes `v1_32` support and MSRV by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1671](https://redirect.github.com/kube-rs/kube/pull/1671)
- Update tokio-tungstenite requirement from 0.24.0 to 0.25.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [#&#8203;1666](https://redirect.github.com/kube-rs/kube/pull/1666)

##### Fixed

- Add support for UTF-16 encoded kubeconfig files by [@&#8203;goenning](https://redirect.github.com/goenning) in [#&#8203;1654](https://redirect.github.com/kube-rs/kube/pull/1654)

### [`v0.97.0`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#0970--2024-11-20)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.96.0...0.97.0)

\===================

<!-- Release notes generated using configuration in .github/release.yml at 0.97.0 -->

#### Highlights

- [`CustomResource`](https://docs.rs/kube/latest/kube/derive.CustomResource.html) derive added features for crd yaml output:
  - selectable fields [#&#8203;1605](https://redirect.github.com/kube-rs/kube/issues/1605) + [#&#8203;1610](https://redirect.github.com/kube-rs/kube/issues/1610)
  - annotations and labels [#&#8203;1631](https://redirect.github.com/kube-rs/kube/issues/1631)
- Configuration edge cases:
  - Avoid double installations of `aws-lc-rs` (rustls crypto) provider [#&#8203;1617](https://redirect.github.com/kube-rs/kube/issues/1617)
  - Kubeconfig fix for `null` user; [#&#8203;1608](https://redirect.github.com/kube-rs/kube/issues/1608)
  - Default runtime watcher backoff alignment with `client-go` [#&#8203;1603](https://redirect.github.com/kube-rs/kube/issues/1603)
- Feature use:
  - Client proxy feature-set misuse prevention [#&#8203;1626](https://redirect.github.com/kube-rs/kube/issues/1626)
  - Allow disabling `gzip` via `Config` [#&#8203;1627](https://redirect.github.com/kube-rs/kube/issues/1627)
- Dependency minors: `thiserror`, `hashbrown`, `jsonptr`, `json-patch`. Killed `lazy_static` / `once_cell`

#### What's Changed

##### Added

- Feature: Allow to pass selectableFields for CRD definition by [@&#8203;Danil-Grigorev](https://redirect.github.com/Danil-Grigorev) in [#&#8203;1605](https://redirect.github.com/kube-rs/kube/pull/1605)
- add support for CRD annotations and labels in kube-derive by [@&#8203;verokarhu](https://redirect.github.com/verokarhu) in [#&#8203;1631](https://redirect.github.com/kube-rs/kube/pull/1631)
- Feature: Add config setting to disable gzip compression [#&#8203;1627](https://redirect.github.com/kube-rs/kube/issues/1627) by [@&#8203;markdingram](https://redirect.github.com/markdingram) in [#&#8203;1628](https://redirect.github.com/kube-rs/kube/pull/1628)

##### Changed

- upgrade to hashbrown 0.15.0 by [@&#8203;rorosen](https://redirect.github.com/rorosen) in [#&#8203;1599](https://redirect.github.com/kube-rs/kube/pull/1599)
- update jsonptr + json-patch by [@&#8203;aviramha](https://redirect.github.com/aviramha) in [#&#8203;1600](https://redirect.github.com/kube-rs/kube/pull/1600)

##### Fixed

- fix(kube-runtime): setup backoff with builder pattern by [@&#8203;tiagolobocastro](https://redirect.github.com/tiagolobocastro) in [#&#8203;1603](https://redirect.github.com/kube-rs/kube/pull/1603)
- allow null user in kubeconfig's context by [@&#8203;aviramha](https://redirect.github.com/aviramha) in [#&#8203;1608](https://redirect.github.com/kube-rs/kube/pull/1608)
- Gauge SelectableField by k8s 1.30 version by [@&#8203;Danil-Grigorev](https://redirect.github.com/Danil-Grigorev) in [#&#8203;1610](https://redirect.github.com/kube-rs/kube/pull/1610)
- Add a compile\_error if setting selectable fields on K8s < 1.30 by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1612](https://redirect.github.com/kube-rs/kube/pull/1612)
- conditionally install `aws-lc-rs` by [@&#8203;goenning](https://redirect.github.com/goenning) in [#&#8203;1617](https://redirect.github.com/kube-rs/kube/pull/1617)
- Warn when trying to use an unsupported proxy protocol by [@&#8203;nightkr](https://redirect.github.com/nightkr) in [#&#8203;1626](https://redirect.github.com/kube-rs/kube/pull/1626)

### [`v0.96.0`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#0960--2024-10-09)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.95.0...0.96.0)

\===================

<!-- Release notes generated using configuration in .github/release.yml at 0.96.0 -->

#### Highlights

- **[Features](https://kube.rs/features/)**: `webpki-roots` added [#&#8203;1323](https://redirect.github.com/kube-rs/kube/issues/1323), and [predicates](https://docs.rs/kube/latest/kube/runtime/utils/predicates/index.html) no longer require `unstable-runtime` [#&#8203;1578](https://redirect.github.com/kube-rs/kube/issues/1578)
- **Local auth**: improve leniency/kubectl-alignment [#&#8203;1595](https://redirect.github.com/kube-rs/kube/issues/1595), remove http proxy vars [#&#8203;1520](https://redirect.github.com/kube-rs/kube/issues/1520)
- **Dependencies**: upgrades to `tower` and `secrecy`, and `derivative` swapped for `educe`

#### What's Changed

##### Added

- rustls: optionally use WebPKI roots to avoid panicking on Android & iOS by [@&#8203;ewilken](https://redirect.github.com/ewilken) in [#&#8203;1323](https://redirect.github.com/kube-rs/kube/pull/1323)
- Stabilise runtime predicates by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1578](https://redirect.github.com/kube-rs/kube/pull/1578)
- Add `ObjectRef::from` as alias for `::from_obj` by [@&#8203;nightkr](https://redirect.github.com/nightkr) in [#&#8203;1598](https://redirect.github.com/kube-rs/kube/pull/1598)

##### Changed

- Bump `secrecy` to 0.10 by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1588](https://redirect.github.com/kube-rs/kube/pull/1588)
- Upgrades `tower` to 0.5.1 by [@&#8203;markdingram](https://redirect.github.com/markdingram) in [#&#8203;1589](https://redirect.github.com/kube-rs/kube/pull/1589)
- runtime: rename references from Flatten to Decode by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1520](https://redirect.github.com/kube-rs/kube/pull/1520)

##### Removed

- remove using HTTP PROXY from environment variable by [@&#8203;aviramha](https://redirect.github.com/aviramha) in [#&#8203;1587](https://redirect.github.com/kube-rs/kube/pull/1587)

##### Fixed

- replace derivative dependency with educe by [@&#8203;rorosen](https://redirect.github.com/rorosen) in [#&#8203;1585](https://redirect.github.com/kube-rs/kube/pull/1585)
- change auth behavior to match upstream on unknown/empty user - use null auth by [@&#8203;aviramha](https://redirect.github.com/aviramha) in [#&#8203;1595](https://redirect.github.com/kube-rs/kube/pull/1595)

### [`v0.95.0`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#0950--2024-09-16)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.94.2...0.95.0)

\===================

<!-- Release notes generated using configuration in .github/release.yml at 0.95.0 -->

#### Kubernetes `v1_31` support via `k8s-openapi` [0.23](https://redirect.github.com/Arnavion/k8s-openapi/releases/tag/v0.23.0)

Please [upgrade k8s-openapi along with kube](https://kube.rs/upgrading/) to avoid conflicts.

New minimum versions: [MSRV](https://kube.rs/rust-version/) 1.77.2, [MK8SV](https://kube.rs/kubernetes-version/): 1.26

#### What's Changed

##### Changed

- Update tokio-tungstenite requirement from 0.23.0 to 0.24.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [#&#8203;1579](https://redirect.github.com/kube-rs/kube/pull/1579)
- Bump `k8s-openapi` to 0.23 for Kubernetes 1.31 support by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1581](https://redirect.github.com/kube-rs/kube/pull/1581)

### [`v0.94.2`](https://redirect.github.com/kube-rs/kube/releases/tag/0.94.2)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.94.1...0.94.2)

<!-- Release notes generated using configuration in .github/release.yml at 0.94.2 -->

##### What's Changed

Fixes a runtime regression in [`watch_object`](https://docs.rs/kube/latest/kube/runtime/watcher/fn.watch_object.html).

##### Fixed

- Ensure `watch_object` handles objects removed before init by [@&#8203;markdingram](https://redirect.github.com/markdingram) in [#&#8203;1577](https://redirect.github.com/kube-rs/kube/pull/1577)

##### New Contributors

- [@&#8203;markdingram](https://redirect.github.com/markdingram) made their first contribution in [#&#8203;1577](https://redirect.github.com/kube-rs/kube/pull/1577)

**Full Changelog**: <https://github.com/kube-rs/kube/compare/0.94.1...0.94.2>

### [`v0.94.1`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#0941--2024-09-09)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.94.0...0.94.1)

\===================

<!-- Release notes generated using configuration in .github/release.yml at 0.94.1 -->

#### What's Changed

Convenience release. Adjusted a version bound to avoid possibility of running into version compatibility errors with `hyper-rustls`.

##### Fixed

- Update hyper-rustls minimum version by [@&#8203;divergentdave](https://redirect.github.com/divergentdave) in [#&#8203;1575](https://redirect.github.com/kube-rs/kube/pull/1575)

### [`v0.94.0`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#0940--2024-09-09)

[Compare Source](https://redirect.github.com/kube-rs/kube/compare/0.93.1...0.94.0)

\===================

<!-- Release notes generated using configuration in .github/release.yml at 0.94.0 -->

#### Highlights

Support for `rustls`'s [aws-lc-rs](https://aws.amazon.com/blogs/opensource/introducing-aws-libcrypto-for-rust-an-open-source-cryptographic-library-for-rust/) is available under a new `kube/aws-lc-rs` feature. Via [#&#8203;1568](https://redirect.github.com/kube-rs/kube/pull/1568) for [#&#8203;1562](https://redirect.github.com/kube-rs/kube/issues/1562)

Furthermore, there are improvements to [partial typing](https://kube.rs/controllers/object/#partially-typed-resource):

1. Added a [`DeserializeGuard`](https://docs.rs/kube/latest/kube/core/struct.DeserializeGuard.html) safety wrapper to lift deserialisation errors (to e.g. not break watchers). See the [errorbound example](https://redirect.github.com/kube-rs/kube/blob/main/examples/errorbounded_configmap_watcher.rs) and [core module](https://docs.rs/kube/latest/kube/core/error_boundary/index.html) module.  Wrapped type be used with e.g. `Api::<DeserializeGuard<CaConfigMap>>`. Via [#&#8203;1556](https://redirect.github.com/kube-rs/kube/pull/1556)
2. A derive macro for [`Resource`](https://docs.rs/kube/latest/kube/trait.Resource.html); [`#[derive(Resource)]`](https://docs.rs/kube/latest/kube/derive.Resource.html) allows inheriting existing `k8s-openapi` resource implementations to avoid stepping down to the dynamic api. See the [cert check example](https://redirect.github.com/kube-rs/kube/blob/main/examples/cert_check.rs) for usage. Via [#&#8203;1565](https://redirect.github.com/kube-rs/kube/pull/1565)

#### What's Changed

##### Added

- Add error boundary wrapper type by [@&#8203;nightkr](https://redirect.github.com/nightkr) in [#&#8203;1556](https://redirect.github.com/kube-rs/kube/pull/1556)
- Implement Error for error\_boundary::InvalidObject by [@&#8203;nightkr](https://redirect.github.com/nightkr) in [#&#8203;1558](https://redirect.github.com/kube-rs/kube/pull/1558)
- Add finalizers predicate filter by [@&#8203;ivan-kiselev](https://redirect.github.com/ivan-kiselev) in [#&#8203;1560](https://redirect.github.com/kube-rs/kube/pull/1560)
- optional feature to use `aws-lc-rs` rustls feature by [@&#8203;mcluseau](https://redirect.github.com/mcluseau) in [#&#8203;1568](https://redirect.github.com/kube-rs/kube/pull/1568)
- Add `Resource` derive macro by [@&#8203;Danil-Grigorev](https://redirect.github.com/Danil-Grigorev) in [#&#8203;1565](https://redirect.github.com/kube-rs/kube/pull/1565)

##### Changed

- Make implicitly dependent feature explicitly depend on each other by [@&#8203;clux](https://redirect.github.com/clux) in [#&#8203;1551](https://redirect.github.com/kube-rs/kube/pull/1551)

</details>

<details>
<summary>metrics-rs/metrics (metrics-util)</summary>

### [`v0.20.3`](https://redirect.github.com/metrics-rs/metrics/compare/metrics-util-v0.20.2...metrics-util-v0.20.3)

[Compare Source](https://redirect.github.com/metrics-rs/metrics/compare/metrics-util-v0.20.2...metrics-util-v0.20.3)

### [`v0.20.2`](https://redirect.github.com/metrics-rs/metrics/compare/metrics-util-v0.20.1...metrics-util-v0.20.2)

[Compare Source](https://redirect.github.com/metrics-rs/metrics/compare/metrics-util-v0.20.1...metrics-util-v0.20.2)

</details>

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

### [`v0.32.0`](https://redirect.github.com/open-telemetry/opentelemetry-rust/blob/HEAD/opentelemetry-semantic-conventions/CHANGELOG.md#0320)

[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-rust/compare/v0.31.0...opentelemetry-semantic-conventions-0.32.0)

Released 2026-May-08

</details>

<details>
<summary>taiki-e/pin-project (pin-project)</summary>

### [`v1.1.12`](https://redirect.github.com/taiki-e/pin-project/blob/HEAD/CHANGELOG.md#1112---2026-05-05)

[Compare Source](https://redirect.github.com/taiki-e/pin-project/compare/v1.1.11...v1.1.12)

- Documentation improvements.

</details>

<details>
<summary>rustls/rcgen (rcgen)</summary>

### [`v0.14.8`](https://redirect.github.com/rustls/rcgen/releases/tag/v0.14.8): 0.14.8

[Compare Source](https://redirect.github.com/rustls/rcgen/compare/v0.14.7...v0.14.8)

#### What's Changed

- Fix incorrect identifier for ML-DSA signature algorithms by [@&#8203;DarkmatterVale](https://redirect.github.com/DarkmatterVale) in [#&#8203;412](https://redirect.github.com/rustls/rcgen/pull/412)
- Upgrade yasna to 0.6 by [@&#8203;djc](https://redirect.github.com/djc) in [#&#8203;419](https://redirect.github.com/rustls/rcgen/pull/419)
- Add support for is\_ca in CSR Params by [@&#8203;5Dev24](https://redirect.github.com/5Dev24) in [#&#8203;420](https://redirect.github.com/rustls/rcgen/pull/420)
- Add support for serializing BasicConstraints in CSR's by [@&#8203;5Dev24](https://redirect.github.com/5Dev24) in [#&#8203;422](https://redirect.github.com/rustls/rcgen/pull/422)
- update key\_pair to signing\_key in README.md by [@&#8203;fakelozic](https://redirect.github.com/fakelozic) in [#&#8203;427](https://redirect.github.com/rustls/rcgen/pull/427)
- Fix encoding of directoryName constraints by [@&#8203;sfackler](https://redirect.github.com/sfackler) in [#&#8203;429](https://redirect.github.com/rustls/rcgen/pull/429)

</details>

<details>
<summary>jonasbb/serde_with (serde_with)</summary>

### [`v3.20.0`](https://redirect.github.com/jonasbb/serde_with/releases/tag/v3.20.0): serde_with v3.20.0

[Compare Source](https://redirect.github.com/jonasbb/serde_with/compare/v3.19.0...v3.20.0)

##### Added

- Add support for `base58` encoding, similar to the existing `base64` setup by [@&#8203;mitinarseny](https://redirect.github.com/mitinarseny) ([#&#8203;943](https://redirect.github.com/jonasbb/serde_with/issues/943))

##### Fixed

- Extend `base64` with `schemars` support by [@&#8203;mitinarseny](https://redirect.github.com/mitinarseny) ([#&#8203;9949](https://redirect.github.com/jonasbb/serde_with/issues/9949))

### [`v3.19.0`](https://redirect.github.com/jonasbb/serde_with/releases/tag/v3.19.0): serde_with v3.19.0

[Compare Source](https://redirect.github.com/jonasbb/serde_with/compare/v3.18.0...v3.19.0)

##### Added

- Add support for `hashbrown` v0.17 ([#&#8203;940](https://redirect.github.com/jonasbb/serde_with/issues/940))

  This extends the existing support for `hashbrown` to the newly released version.

</details>

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

### [`v1.52.3`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.52.3): Tokio v1.52.3

[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.52.2...tokio-1.52.3)

### 1.52.3 (May 8th, 2026)

##### Fixed

- sync: fix underflow in mpsc channel `len()` ([#&#8203;8062])
- sync: notify receivers in mpsc `OwnedPermit::release()` method ([#&#8203;8075])
- sync: require that an `RwLock` has `max_readers != 0` ([#&#8203;8076])
- sync: return `Empty` from `try_recv()` when mpsc is closed with outstanding permits ([#&#8203;8074])

[#&#8203;8062]: https://redirect.github.com/tokio-rs/tokio/pull/8062

[#&#8203;8074]: https://redirect.github.com/tokio-rs/tokio/pull/8074

[#&#8203;8075]: https://redirect.github.com/tokio-rs/tokio/pull/8075

[#&#8203;8076]: https://redirect.github.com/tokio-rs/tokio/pull/8076

</details>

<details>
<summary>hyperium/tonic (tonic)</summary>

### [`v0.14.6`](https://redirect.github.com/hyperium/tonic/releases/tag/tonic-v0.14.6)

[Compare Source](https://redirect.github.com/hyperium/tonic/compare/v0.14.5...tonic-v0.14.6)

##### Added

- *(transport/channel)* expose ServerCertVerifier API ([#&#8203;2612](https://redirect.github.com/hyperium/tonic/pull/2612))

##### Fixed

- map no trailers ok status to unknown ([#&#8203;2543](https://redirect.github.com/hyperium/tonic/pull/2543))

##### Other

- add max\_frame\_size to client Endpoint ([#&#8203;2592](https://redirect.github.com/hyperium/tonic/pull/2592))
- Allow setting the HTTP/2 client header table size ([#&#8203;2582](https://redirect.github.com/hyperium/tonic/pull/2582))
- update rust edition and version to 2024 and 1.88, respectively ([#&#8203;2525](https://redirect.github.com/hyperium/tonic/pull/2525))

</details>

<details>
<summary>tower-rs/tower-http (tower-http)</summary>

### [`v0.6.10`](https://redirect.github.com/tower-rs/tower-http/releases/tag/tower-http-0.6.10)

[Compare Source](https://redirect.github.com/tower-rs/tower-http/compare/tower-http-0.6.9...tower-http-0.6.10)

#### Added

- `follow-redirect`: expose `Attempt::method()` and `Attempt::previous_method()`
  so redirect policies can react to method changes across redirects (e.g.
  POST to GET on 301/303) ([#&#8203;559])

#### Fixed

- Restore `tokio` and `async-compression` as no-op features. These will be
  removed next breaking release ([#&#8203;667])

[#&#8203;559]: https://redirect.github.com/tower-rs/tower-http/pull/559

[#&#8203;667]: https://redirect.github.com/tower-rs/tower-http/pull/667

#### What's Changed

- fix: restore tokio and async-compression as no-op features by [@&#8203;jlizen](https://redirect.github.com/jlizen) in [#&#8203;667](https://redirect.github.com/tower-rs/tower-http/pull/667)
- fix gate-ing of atomic64 in tests by [@&#8203;alexanderkjall](https://redirect.github.com/alexanderkjall) in [#&#8203;607](https://redirect.github.com/tower-rs/tower-http/pull/607)
- follow\_redirect: expose previous and next request methods by [@&#8203;lucab](https://redirect.github.com/lucab) in [#&#8203;559](https://redirect.github.com/tower-rs/tower-http/pull/559)
- chore: release tower-http 0.6.10 by [@&#8203;jlizen](https://redirect.github.com/jlizen) in [#&#8203;669](https://redirect.github.com/tower-rs/tower-http/pull/669)

#### New Contributors

- [@&#8203;lucab](https://redirect.github.com/lucab) made their first contribution in [#&#8203;559](https://redirect.github.com/tower-rs/tower-http/pull/559)

**Full Changelog**: <https://github.com/tower-rs/tower-http/compare/tower-http-0.6.9...tower-http-0.6.10>

### [`v0.6.9`](https://redirect.github.com/tower-rs/tower-http/releases/tag/tower-http-0.6.9)

[Compare Source](https://redirect.github.com/tower-rs/tower-http/compare/tower-http-0.6.8...tower-http-0.6.9)

#### Added:

- `on-early-drop`: middleware that detects when a response future or response
  body is dropped before completion ([#&#8203;636])

  Two events get hooks: the response future being dropped before
  the inner service produces a response, and the response body being
  dropped before reaching end-of-stream.

  Install custom callbacks with `OnEarlyDropLayer::builder()`:

  ```rust
  use http::Request;
  use tower_http::on_early_drop::{OnBodyDropFn, OnEarlyDropLayer};

  let layer = OnEarlyDropLayer::builder()
      .on_future_drop(|req: &Request<()>| {
          let uri = req.uri().clone();
          move || eprintln!("future dropped for {}", uri)
      })
      .on_body_drop(OnBodyDropFn::new(|req: &Request<()>| {
          let uri = req.uri().clone();
          move |parts: &http::response::Parts| {
              let status = parts.status;
              move || eprintln!("body dropped for {} status {}", uri, status)
          }
      }));
  ```

  Or route both events through a `trace::OnFailure` hook with
  `EarlyDropsAsFailures`. Place this layer inside a `TraceLayer` so the
  emitted events inherit the request span:

  ```rust
  use tower::ServiceBuilder;
  use tower_http::on_early_drop::{OnEarlyDropLayer, EarlyDropsAsFailures};
  use tower_http::trace::{DefaultOnFailure, TraceLayer};

  let stack = ServiceBuilder::new()
      .layer(TraceLayer::new_for_http())
      .layer(OnEarlyDropLayer::new(
          EarlyDropsAsFailures::new(DefaultOnFailure::default()),
      ));
  ```
- `fs`: make `AsyncReadBody::with_capacity` public ([#&#8203;415])

#### Changed:

- The implicit `async-compression` feature is removed ([#&#8203;642])
- The implicit `tokio` feature is removed ([#&#8203;628])
- `fs`: no longer auto-enables the `tracing` crate feature; enable `tracing`
  explicitly to restore error logging on `ServeDir` IO failures ([#&#8203;614])

#### Fixed

- `trace`: restore failure classification at end-of-stream ([#&#8203;483])
- `follow-redirect`: support unicode URLs (swaps `iri-string` dep for
  `url`) ([#&#8203;646])
- `fs`: reject reserved Windows DOS device names (`CON`, `COM1`, etc.) in
  `ServeDir` ([#&#8203;663])

[#&#8203;415]: https://redirect.github.com/tower-rs/tower-http/pull/415

[#&#8203;483]: https://redirect.github.com/tower-rs/tower-http/pull/483

[#&#8203;614]: https://redirect.github.com/tower-rs/tower-http/pull/614

[#&#8203;628]: https://redirect.github.com/tower-rs/tower-http/pull/628

[#&#8203;636]: https://redirect.github.com/tower-rs/tower-http/pull/636

[#&#8203;642]: https://redirect.github.com/tower-rs/tower-http/pull/642

[#&#8203;646]: https://redirect.github.com/tower-rs/tower-http/pull/646

[#&#8203;663]: https://redirect.github.com/tower-rs/tower-http/pull/663

#### All the PRs

- ci: update deny action to v2 by [@&#8203;seanmonstar](https://redirect.github.com/seanmonstar) in [#&#8203;627](https://redirect.github.com/tower-rs/tower-http/pull/627)
- chore: improve code comments clarity by [@&#8203;xibeiyoumian](https://redirect.github.com/xibeiyoumian) in [#&#8203;626](https://redirect.github.com/tower-rs/tower-http/pull/626)
- ci: Update to actions/checkout v6 by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;629](https://redirect.github.com/tower-rs/tower-http/pull/629)
- ci: msrv resolver by [@&#8203;seanmonstar](https://redirect.github.com/seanmonstar) in [#&#8203;635](https://redirect.github.com/tower-rs/tower-http/pull/635)
- chore: Remove resolved cargo-deny config by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;631](https://redirect.github.com/tower-rs/tower-http/pull/631)
- ci: Update to cargo-check-external-types 0.4.0 by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;633](https://redirect.github.com/tower-rs/tower-http/pull/633)
- examples: Use typed default value clap config by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;634](https://redirect.github.com/tower-rs/tower-http/pull/634)
- examples: Disable unused reqwest feature by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;632](https://redirect.github.com/tower-rs/tower-http/pull/632)
- examples: Update to reqwest 0.13 by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;640](https://redirect.github.com/tower-rs/tower-http/pull/640)
- Fix clippy warnings in warp-key-value-store example by [@&#8203;jplatte](https://redirect.github.com/jplatte) in [#&#8203;637](https://redirect.github.com/tower-rs/tower-http/pull/637)
- ci: Use Swatinem/rust-cache\@&#8203;v2 to cache by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;644](https://redirect.github.com/tower-rs/tower-http/pull/644)
- ci: Remove unused working-directory config by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;645](https://redirect.github.com/tower-rs/tower-http/pull/645)
- Use cargo-deny graph config by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;639](https://redirect.github.com/tower-rs/tower-http/pull/639)
- Fix: follow redirect unicode in [#&#8203;646](https://redirect.github.com/tower-rs/tower-http/pull/646)
- doc: remove mention of deprecated bearer method in lib.rs comment by [@&#8203;VojtaStanek](https://redirect.github.com/VojtaStanek) in [#&#8203;641](https://redirect.github.com/tower-rs/tower-http/pull/641)
- Allow Unicode-3.0 license by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;648](https://redirect.github.com/tower-rs/tower-http/pull/648)
- fix(docs): typo by [@&#8203;carlocorradini](https://redirect.github.com/carlocorradini) in [#&#8203;649](https://redirect.github.com/tower-rs/tower-http/pull/649)
- fix: remove unused GzEncoder import in decompression in [#&#8203;647](https://redirect.github.com/tower-rs/tower-http/pull/647)
- docs: update Example server in [#&#8203;652](https://redirect.github.com/tower-rs/tower-http/pull/652)
- Don't automatically enable tracing for fs feature by [@&#8203;ginnyTheCat](https://redirect.github.com/ginnyTheCat) in [#&#8203;614](https://redirect.github.com/tower-rs/tower-http/pull/614)
- examples: Remove unnecessary trait bound by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;651](https://redirect.github.com/tower-rs/tower-http/pull/651)
- Remove implicit async-compression feature by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;642](https://redirect.github.com/tower-rs/tower-http/pull/642)
- fix clippy warnings by [@&#8203;alexanderkjall](https://redirect.github.com/alexanderkjall) in [#&#8203;659](https://redirect.github.com/tower-rs/tower-http/pull/659)
- Check for reserved DOS names by [@&#8203;Darksonn](https://redirect.github.com/Darksonn) in [#&#8203;663](https://redirect.github.com/tower-rs/tower-http/pull/663)
- enable clippy for tower-http and fix current issues by [@&#8203;GlenDC](https://redirect.github.com/GlenDC) in [#&#8203;407](https://redirect.github.com/tower-rs/tower-http/pull/407)
- chore: remove implicit tokio feature by [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer) in [#&#8203;628](https://redirect.github.com/tower-rs/tower-http/pull/628)
- trace: adds back call to classify\_eos on trailers by [@&#8203;markdingram](https://redirect.github.com/markdingram) in [#&#8203;483](https://redirect.github.com/tower-rs/tower-http/pull/483)
- Make AsyncReadBody::with\_capacity public by [@&#8203;bouk](https://redirect.github.com/bouk) in [#&#8203;415](https://redirect.github.com/tower-rs/tower-http/pull/415)
- examples: Use axum::body::to\_bytes by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;650](https://redirect.github.com/tower-rs/tower-http/pull/650)
- ci: Remove unnecessary protoc setup by [@&#8203;tottoto](https://redirect.github.com/tottoto) in [#&#8203;665](https://redirect.github.com/tower-rs/tower-http/pull/665)
- feat(on-early-drop): Add middleware for client early drop detection by [@&#8203;fbergero](https://redirect.github.com/fbergero) in [#&#8203;636](https://redirect.github.com/tower-rs/tower-http/pull/636)
- chore: release tower-http 0.6.9 by [@&#8203;jlizen](https://redirect.github.com/jlizen) in [#&#8203;666](https://redirect.github.com/tower-rs/tower-http/pull/666)

#### New Contributors

- [@&#8203;xibeiyoumian](https://redirect.github.com/xibeiyoumian) made their first contribution in [#&#8203;626](https://redirect.github.com/tower-rs/tower-http/pull/626)
- [@&#8203;VojtaStanek](https://redirect.github.com/VojtaStanek) made their first contribution in [#&#8203;641](https://redirect.github.com/tower-rs/tower-http/pull/641)
- [@&#8203;carlocorradini](https://redirect.github.com/carlocorradini) made their first contribution in [#&#8203;649](https://redirect.github.com/tower-rs/tower-http/pull/649)
- [@&#8203;ginnyTheCat](https://redirect.github.com/ginnyTheCat) made their first contribution in [#&#8203;614](https://redirect.github.com/tower-rs/tower-http/pull/614)
- [@&#8203;alexanderkjall](https://redirect.github.com/alexanderkjall) made their first contribution in [#&#8203;659](https://redirect.github.com/tower-rs/tower-http/pull/659)
- [@&#8203;Darksonn](https://redirect.github.com/Darksonn) made their first contribution in [#&#8203;663](https://redirect.github.com/tower-rs/tower-http/pull/663)
- [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer) made their first contribution in [#&#8203;628](https://redirect.github.com/tower-rs/tower-http/pull/628)
- [@&#8203;bouk](https://redirect.github.com/bouk) made their first contribution in [#&#8203;415](https://redirect.github.com/tower-rs/tower-http/pull/415)
- [@&#8203;fbergero](https://redirect.github.com/fbergero) made their first contribution in [#&#8203;636](https://redirect.github.com/tower-rs/tower-http/pull/636)
- [@&#8203;jlizen](https://redirect.github.com/jlizen) made their first contribution in [#&#8203;666](https://redirect.github.com/tower-rs/tower-http/pull/666)

**Full Changelog**: <https://github.com/tower-rs/tower-http/compare/tower-http-0.6.8...tower-http-0.6.9>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/DataDog/saluki).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: webern <matt.briggs@datadoghq.com> 17e6738efd1932e83552b6151dda0feea7f47f6f
@tobz tobz deleted the renovate/all-minor-patch branch May 18, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant