Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 29, 2025

This PR contains the following updates:

Package Type Update Change
axum workspace.dependencies minor 0.7 -> 0.8

Release Notes

tokio-rs/axum (axum)

v0.8.7: axum v0.8.7

Compare Source

  • Relax implicit Send / Sync bounds on RouterAsService, RouterIntoService (#​3555)
  • Make it easier to visually scan for default features (#​3550)
  • Fix some documentation typos

v0.8.6

Compare Source

v0.8.5: axum v0.8.5

Compare Source

  • fixed: Reject JSON request bodies with trailing characters after the JSON document (#​3453)
  • added: Implement OptionalFromRequest for Multipart (#​3220)
  • added: Getter methods Location::{status_code, location}
  • added: Support for writing arbitrary binary data into server-sent events (#​3425)]
  • added: middleware::ResponseAxumBodyLayer for mapping response body to axum::body::Body (#​3469)
  • added: impl FusedStream for WebSocket (#​3443)
  • changed: The sse module and Sse type no longer depend on the tokio feature (#​3154)
  • changed: If the location given to one of Redirects constructors is not a valid header value, instead of panicking on construction, the IntoResponse impl now returns an HTTP 500, just like Json does when serialization fails (#​3377)
  • changed: Update minimum rust version to 1.78 (#​3412)

v0.8.4: axum v0.8.4

Compare Source

  • added: Router::reset_fallback (#​3320)
  • added: WebSocketUpgrade::selected_protocol (#​3248)
  • fixed: Panic location for overlapping method routes (#​3319)
  • fixed: Don't leak a tokio task when using serve without graceful shutdown (#​3129)

v0.8.3: axum v0.8.3

Compare Source

  • added: Implement From<Bytes> for Message (#​3273)
  • added: Implement OptionalFromRequest for Json (#​3142)
  • added: Implement OptionalFromRequest for Extension (#​3157)
  • added: Allow setting the read buffer capacity of WebSocketUpgrade (#​3178)
  • changed: Improved code size / compile time of dependent crates (#​3285, #​3294)

v0.8.2: axum v0.8.2

Yanked from crates.io due to unforeseen breaking change, see #​3190 for details


  • added: Implement OptionalFromRequest for Json (#​3142)
  • added: Implement OptionalFromRequest for Extension (#​3157)
  • changed: Make the status function of rejections a const function, such
    as JsonRejection, QueryRejection and PathRejection (#​3168)

v0.8.0: axum v0.8.0

Compare Source

since rc.1

  • breaking: axum::extract::ws::Message now uses Bytes in place of Vec<u8>,
    and a new Utf8Bytes type in place of String, for its variants (#​3078)
  • breaking: Remove OptionalFromRequestParts impl for Query (#​3088)
  • changed: Upgraded tokio-tungstenite to 0.26 (#​3078)
  • changed: Query/Form: Use serde_path_to_error to report fields that failed to parse (#​3081)

full changelog

You can also read the blog post on tokio

Note: there are further relevant changes in axum-core's changelog

  • breaking: Upgrade matchit to 0.8, changing the path parameter syntax from /:single and /*many to /{single} and /{*many}; the old syntax produces a panic to avoid silent change in behavior (#​2645)
  • breaking: Require Sync for all handlers and services added to Router and MethodRouter (#​2473)
  • breaking: The tuple and tuple_struct Path extractor deserializers now check that the number of parameters matches the tuple length exactly (#​2931)
  • breaking: Move Host extractor to axum-extra (#​2956)
  • breaking: Remove WebSocket::close. Users should explicitly send close messages themselves. (#​2974)
  • breaking: Make serve generic over the listener and IO types (#​2941)
  • breaking: Remove Serve::tcp_nodelay and WithGracefulShutdown::tcp_nodelay.
    See serve::ListenerExt for an API that let you set arbitrary TCP stream properties. (#​2941)
  • breaking: Option<Path<T>> no longer swallows all error conditions,
    instead rejecting the request in many cases; see its documentation for details (#​2475)
  • breaking: axum::extract::ws::Message now uses Bytes in place of Vec<u8>,
    and a new Utf8Bytes type in place of String, for its variants (#​3078)
  • fixed: Skip SSE incompatible chars of serde_json::RawValue in Event::json_data (#​2992)
  • fixed: Don't panic when array type is used for path segment (#​3039)
  • fixed: Avoid setting content-length before middleware.
    This allows middleware to add bodies to requests without needing to manually set content-length (#​2897)
  • change: Update minimum rust version to 1.75 (#​2943)
  • changed: Upgraded tokio-tungstenite to 0.26 (#​3078)
  • changed: Query/Form: Use serde_path_to_error to report fields that failed to parse (#​3081)
  • added: Add method_not_allowed_fallback to set a fallback when a path matches but there is no handler for the given HTTP method (#​2903)
  • added: Add NoContent as a self-described shortcut for StatusCode::NO_CONTENT (#​2978)
  • added: Add support for WebSockets over HTTP/2. They can be enabled by changing get(ws_endpoint) handlers to any(ws_endpoint) (#​2894)
  • added: Add MethodFilter::CONNECT, routing::connect[_service] and MethodRouter::connect[_service] (#​2961)
  • added: Extend FailedToDeserializePathParams::kind enum with (ErrorKind::DeserializeError). This new variant captures both key, value, and message from named path parameters parse errors, instead of only deserialization error message in ErrorKind::Message. (#​2720)

Configuration

📅 Schedule: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined).

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

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

🔕 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 was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Nov 29, 2025

⚠️ 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 axum@0.7.9 --precise 0.8.7
    Updating git repository `https://github.com/astral-sh/reqwest-middleware`
From https://github.com/astral-sh/reqwest-middleware
 * [new ref]         7650ed76215a962a96d94a79be71c27bffde7ab2 -> refs/commit/7650ed76215a962a96d94a79be71c27bffde7ab2
    Updating git repository `https://github.com/astral-sh/pubgrub`
From https://github.com/astral-sh/pubgrub
 * [new ref]         d8efd77673c9a90792da9da31b6c0da7ea8a324b -> refs/commit/d8efd77673c9a90792da9da31b6c0da7ea8a324b
    Updating crates.io index
    Updating git repository `https://github.com/astral-sh/reqwest-middleware`
    Updating git repository `https://github.com/astral-sh/uv`
From https://github.com/astral-sh/uv
 * [new ref]             d5f39331a73d5042e70ab770463dff632e20c127 -> refs/commit/d5f39331a73d5042e70ab770463dff632e20c127
    Updating git repository `https://github.com/astral-sh/pubgrub`
    Updating git repository `https://github.com/astral-sh/rs-async-zip`
From https://github.com/astral-sh/rs-async-zip
 * [new ref]         285e48742b74ab109887d62e1ae79e7c15fd4878 -> refs/commit/285e48742b74ab109887d62e1ae79e7c15fd4878
    Updating git repository `https://github.com/astral-sh/tl.git`
From https://github.com/astral-sh/tl
 * [new ref]         6e25b2ee2513d75385101a8ff9f591ef51f314ec -> refs/commit/6e25b2ee2513d75385101a8ff9f591ef51f314ec
error: failed to select a version for the requirement `axum = "^0.7"`
candidate versions found which didn't match: 0.8.7
location searched: crates.io index
required by package `tonic v0.12.0`
    ... which satisfies dependency `tonic = "^0.12"` of package `console-subscriber v0.4.1`
    ... which satisfies dependency `console-subscriber = "^0.4.1"` of package `pixi_cli v0.1.0 (/tmp/renovate/repos/github/prefix-dev/pixi/crates/pixi_cli)`
    ... which satisfies path dependency `pixi_cli` (locked to 0.1.0) of package `pixi v0.59.0 (/tmp/renovate/repos/github/prefix-dev/pixi/crates/pixi)`

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