Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jan 9, 2025

This PR contains the following updates:

Package Type Update Change
axum dependencies minor 0.7.4 -> 0.8.0
axum-macros dependencies minor 0.4.1 -> 0.5.0

Release Notes

tokio-rs/axum (axum)

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)

v0.7.9: axum - v0.7.9

Compare Source

  • fixed: Avoid setting content-length before middleware (#​3031)

v0.7.8: axum - v0.7.8

Compare Source

  • fixed: Skip SSE incompatible chars of serde_json::RawValue in Event::json_data (#​2992)
  • 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 MethodFilter::CONNECT, routing::connect[_service]
    and MethodRouter::connect[_service] (#​2961)
  • added: Add NoContent as a self-described shortcut for StatusCode::NO_CONTENT (#​2978)

v0.7.7: axum - v0.7.7

Compare Source

  • change: Remove manual tables of content from the documentation, since
    rustdoc now generates tables of content in the sidebar (#​2921)

v0.7.6: axum - v0.7.6

Compare Source

  • change: Avoid cloning Arc during deserialization of Path
  • added: axum::serve::Serve::tcp_nodelay and axum::serve::WithGracefulShutdown::tcp_nodelay (#​2653)
  • added: Router::has_routes function (#​2790)
  • change: Update tokio-tungstenite to 0.23 (#​2841)
  • added: Serve::local_addr and WithGracefulShutdown::local_addr functions (#​2881)

v0.7.5: axum - v0.7.5

Compare Source

  • fixed: Fixed layers being cloned when calling axum::serve directly with
    a Router or MethodRouter (#​2586)
  • fixed: h2 is no longer pulled as a dependency unless the http2 feature
    is enabled (#​2605)

Configuration

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

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

Rebasing: Whenever PR is behind base branch, 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 force-pushed the renovate/axum-monorepo branch from 72f0985 to 9e5528f Compare August 13, 2025 20:10
@renovate renovate bot force-pushed the renovate/axum-monorepo branch from 9e5528f to a5628e3 Compare September 26, 2025 04:04
@renovate
Copy link
Contributor Author

renovate bot commented Sep 26, 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 [email protected] --precise 0.8.6
error: failed to acquire package cache lock

Caused by:
  failed to open: /home/ubuntu/.cargo/.package-cache

Caused by:
  failed to create directory `/home/ubuntu/.cargo`

Caused by:
  File exists (os error 17)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants