Update Rust crate tower-http to v0.6.9 #361

Merged
renovate-bot merged 1 commit from renovate/tower-http-0.x-lockfile into main 2026-05-05 20:57:43 +02:00
Collaborator

This PR contains the following updates:

Package Type Update Change
tower-http dependencies patch 0.6.80.6.9

Release Notes

tower-rs/tower-http (tower-http)

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: https://github.com/tower-rs/tower-http/compare/tower-http-0.6.8...tower-http-0.6.9


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tower-http](https://github.com/tower-rs/tower-http) | dependencies | patch | `0.6.8` → `0.6.9` | --- ### Release Notes <details> <summary>tower-rs/tower-http (tower-http)</summary> ### [`v0.6.9`](https://github.com/tower-rs/tower-http/releases/tag/tower-http-0.6.9) [Compare Source](https://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://github.com/tower-rs/tower-http/pull/415 [#&#8203;483]: https://github.com/tower-rs/tower-http/pull/483 [#&#8203;614]: https://github.com/tower-rs/tower-http/pull/614 [#&#8203;628]: https://github.com/tower-rs/tower-http/pull/628 [#&#8203;636]: https://github.com/tower-rs/tower-http/pull/636 [#&#8203;642]: https://github.com/tower-rs/tower-http/pull/642 [#&#8203;646]: https://github.com/tower-rs/tower-http/pull/646 [#&#8203;663]: https://github.com/tower-rs/tower-http/pull/663 #### All the PRs - ci: update deny action to v2 by [@&#8203;seanmonstar](https://github.com/seanmonstar) in [#&#8203;627](https://github.com/tower-rs/tower-http/pull/627) - chore: improve code comments clarity by [@&#8203;xibeiyoumian](https://github.com/xibeiyoumian) in [#&#8203;626](https://github.com/tower-rs/tower-http/pull/626) - ci: Update to actions/checkout v6 by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;629](https://github.com/tower-rs/tower-http/pull/629) - ci: msrv resolver by [@&#8203;seanmonstar](https://github.com/seanmonstar) in [#&#8203;635](https://github.com/tower-rs/tower-http/pull/635) - chore: Remove resolved cargo-deny config by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;631](https://github.com/tower-rs/tower-http/pull/631) - ci: Update to cargo-check-external-types 0.4.0 by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;633](https://github.com/tower-rs/tower-http/pull/633) - examples: Use typed default value clap config by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;634](https://github.com/tower-rs/tower-http/pull/634) - examples: Disable unused reqwest feature by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;632](https://github.com/tower-rs/tower-http/pull/632) - examples: Update to reqwest 0.13 by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;640](https://github.com/tower-rs/tower-http/pull/640) - Fix clippy warnings in warp-key-value-store example by [@&#8203;jplatte](https://github.com/jplatte) in [#&#8203;637](https://github.com/tower-rs/tower-http/pull/637) - ci: Use Swatinem/rust-cache\@&#8203;v2 to cache by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;644](https://github.com/tower-rs/tower-http/pull/644) - ci: Remove unused working-directory config by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;645](https://github.com/tower-rs/tower-http/pull/645) - Use cargo-deny graph config by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;639](https://github.com/tower-rs/tower-http/pull/639) - Fix: follow redirect unicode in [#&#8203;646](https://github.com/tower-rs/tower-http/pull/646) - doc: remove mention of deprecated bearer method in lib.rs comment by [@&#8203;VojtaStanek](https://github.com/VojtaStanek) in [#&#8203;641](https://github.com/tower-rs/tower-http/pull/641) - Allow Unicode-3.0 license by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;648](https://github.com/tower-rs/tower-http/pull/648) - fix(docs): typo by [@&#8203;carlocorradini](https://github.com/carlocorradini) in [#&#8203;649](https://github.com/tower-rs/tower-http/pull/649) - fix: remove unused GzEncoder import in decompression in [#&#8203;647](https://github.com/tower-rs/tower-http/pull/647) - docs: update Example server in [#&#8203;652](https://github.com/tower-rs/tower-http/pull/652) - Don't automatically enable tracing for fs feature by [@&#8203;ginnyTheCat](https://github.com/ginnyTheCat) in [#&#8203;614](https://github.com/tower-rs/tower-http/pull/614) - examples: Remove unnecessary trait bound by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;651](https://github.com/tower-rs/tower-http/pull/651) - Remove implicit async-compression feature by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;642](https://github.com/tower-rs/tower-http/pull/642) - fix clippy warnings by [@&#8203;alexanderkjall](https://github.com/alexanderkjall) in [#&#8203;659](https://github.com/tower-rs/tower-http/pull/659) - Check for reserved DOS names by [@&#8203;Darksonn](https://github.com/Darksonn) in [#&#8203;663](https://github.com/tower-rs/tower-http/pull/663) - enable clippy for tower-http and fix current issues by [@&#8203;GlenDC](https://github.com/GlenDC) in [#&#8203;407](https://github.com/tower-rs/tower-http/pull/407) - chore: remove implicit tokio feature by [@&#8203;WaterWhisperer](https://github.com/WaterWhisperer) in [#&#8203;628](https://github.com/tower-rs/tower-http/pull/628) - trace: adds back call to classify\_eos on trailers by [@&#8203;markdingram](https://github.com/markdingram) in [#&#8203;483](https://github.com/tower-rs/tower-http/pull/483) - Make AsyncReadBody::with\_capacity public by [@&#8203;bouk](https://github.com/bouk) in [#&#8203;415](https://github.com/tower-rs/tower-http/pull/415) - examples: Use axum::body::to\_bytes by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;650](https://github.com/tower-rs/tower-http/pull/650) - ci: Remove unnecessary protoc setup by [@&#8203;tottoto](https://github.com/tottoto) in [#&#8203;665](https://github.com/tower-rs/tower-http/pull/665) - feat(on-early-drop): Add middleware for client early drop detection by [@&#8203;fbergero](https://github.com/fbergero) in [#&#8203;636](https://github.com/tower-rs/tower-http/pull/636) - chore: release tower-http 0.6.9 by [@&#8203;jlizen](https://github.com/jlizen) in [#&#8203;666](https://github.com/tower-rs/tower-http/pull/666) #### New Contributors - [@&#8203;xibeiyoumian](https://github.com/xibeiyoumian) made their first contribution in [#&#8203;626](https://github.com/tower-rs/tower-http/pull/626) - [@&#8203;VojtaStanek](https://github.com/VojtaStanek) made their first contribution in [#&#8203;641](https://github.com/tower-rs/tower-http/pull/641) - [@&#8203;carlocorradini](https://github.com/carlocorradini) made their first contribution in [#&#8203;649](https://github.com/tower-rs/tower-http/pull/649) - [@&#8203;ginnyTheCat](https://github.com/ginnyTheCat) made their first contribution in [#&#8203;614](https://github.com/tower-rs/tower-http/pull/614) - [@&#8203;alexanderkjall](https://github.com/alexanderkjall) made their first contribution in [#&#8203;659](https://github.com/tower-rs/tower-http/pull/659) - [@&#8203;Darksonn](https://github.com/Darksonn) made their first contribution in [#&#8203;663](https://github.com/tower-rs/tower-http/pull/663) - [@&#8203;WaterWhisperer](https://github.com/WaterWhisperer) made their first contribution in [#&#8203;628](https://github.com/tower-rs/tower-http/pull/628) - [@&#8203;bouk](https://github.com/bouk) made their first contribution in [#&#8203;415](https://github.com/tower-rs/tower-http/pull/415) - [@&#8203;fbergero](https://github.com/fbergero) made their first contribution in [#&#8203;636](https://github.com/tower-rs/tower-http/pull/636) - [@&#8203;jlizen](https://github.com/jlizen) made their first contribution in [#&#8203;666](https://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 - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Update Rust crate tower-http to v0.6.9
All checks were successful
/ build-image (push) Successful in 2m4s
f1382a9bec
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-05-05 20:04:37 +02:00
renovate-bot deleted branch renovate/tower-http-0.x-lockfile 2026-05-05 20:57:43 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
psYchotic/montferland-afval-kalender!361
No description provided.