Skip to content

Releases: tokio-rs/axum

axum v0.8.0-rc.1

17 Dec 23:03
axum-v0.8.0-rc.1
5cdd8a4
Compare
Choose a tag to compare
axum v0.8.0-rc.1 Pre-release
Pre-release

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

Since v0.8.0-alpha.1:

  • 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>> and Option<Query<T>> no longer swallow all error conditions,
    instead rejecting the request in many cases; see their documentation for details (#2475)
  • 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)
  • 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)

axum-extra v0.10.0-rc.1

17 Dec 23:06
axum-extra-v0.10.0-rc.1
5cdd8a4
Compare
Choose a tag to compare
Pre-release

Since v0.10.0-alpha.1:

  • breaking: Option<Query<T>> no longer swallows all error conditions, instead rejecting the
    request in many cases; see its documentation for details (#2475)
  • changed: Deprecated OptionalPath<T> and OptionalQuery<T> (#2475)
  • fixed: Host extractor includes port number when parsing authority (#2242)
  • changed: The multipart feature is no longer on by default (#3058)
  • added: Add RouterExt::typed_connect (#2961)
  • added: Add json! for easy construction of JSON responses (#2962)
  • added: Add InternalServerError response for logging an internal error
    and returning HTTP 500 in a convenient way. (#3010)
  • added: Add FileStream for easy construction of file stream responses (#3047)

axum-core - v0.5.0-rc.1

17 Dec 23:01
axum-core-v0.5.0-rc.1
5cdd8a4
Compare
Choose a tag to compare
Pre-release

Since v0.5.0-alpha.1:

  • breaking:: Option<T> as an extractor now requires T to implement the
    new trait OptionalFromRequest (if used as the last extractor) or
    OptionalFromRequestParts (other extractors) (#2475)

axum - v0.7.9

16 Nov 19:41
axum-v0.7.9
9983bc1
Compare
Choose a tag to compare
  • fixed: Avoid setting content-length before middleware (#3031)

axum-extra - v0.9.6

16 Nov 19:40
axum-extra-v0.9.6
9983bc1
Compare
Choose a tag to compare
  • docs: Add links to features table (#3030)

axum - v0.7.8

15 Nov 17:44
axum-v0.7.8
feee742
Compare
Choose a tag to compare
  • 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)

axum-extra - v0.9.5

15 Nov 17:43
axum-extra-v0.9.5
feee742
Compare
Choose a tag to compare
  • added: Add RouterExt::typed_connect (#2961)
  • added: Add json! for easy construction of JSON responses (#2962)

axum v0.8.0-alpha.1

05 Oct 09:48
axum-v0.8.0-alpha.1
9a69e41
Compare
Choose a tag to compare
axum v0.8.0-alpha.1 Pre-release
Pre-release

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

  • 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: 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)
  • change: Update minimum rust version to 1.75 (#2943)

axum-macros - v0.5.0-alpha.1

05 Oct 09:46
axum-macros-v0.5.0-alpha.1
9a69e41
Compare
Choose a tag to compare
Pre-release
  • breaking: Update code generation for axum-core 0.5.0-alpha.1
  • change: Update minimum rust version to 1.75 (#2943)

axum-extra - v0.10.0-alpha.1

05 Oct 09:47
axum-extra-v0.10.0-alpha.1
9a69e41
Compare
Choose a tag to compare
Pre-release
  • breaking: Update to prost 0.13. Used for the Protobuf extractor (#2829)
  • change: Update minimum rust version to 1.75 (#2943)