Skip to content

Releases: tokio-rs/axum

axum-core - v0.4.1

04 Dec 08:16
ab36eda
Compare
Choose a tag to compare
  • Fix from_stream doc link to Stream in docs (#2391)

axum - v0.7.1

27 Nov 08:37
Compare
Choose a tag to compare
  • fix: Fix readme.

axum - v0.7.0

27 Nov 08:32
b7d14d3
Compare
Choose a tag to compare
  • breaking: Update public dependencies. axum now requires
  • breaking: axum now requires tower-http 0.5
  • breaking: Remove deprecated WebSocketUpgrade::max_send_queue
  • breaking: The following types/traits are no longer generic over the request body
    (i.e. the B type param has been removed) (#1751 and #1789):
    • FromRequestParts
    • FromRequest
    • HandlerService
    • HandlerWithoutStateExt
    • Handler
    • LayeredFuture
    • Layered
    • MethodRouter
    • Next
    • RequestExt
    • RouteFuture
    • Route
    • Router
  • breaking: axum no longer re-exports hyper::Body as that type is removed
    in hyper 1.0. Instead axum has its own body type at axum::body::Body (#1751)
  • breaking: extract::BodyStream has been removed as body::Body
    implements Stream and FromRequest directly (#1751)
  • breaking: Change sse::Event::json_data to use axum_core::Error as its error type (#1762)
  • breaking: Rename DefaultOnFailedUpdgrade to DefaultOnFailedUpgrade (#1664)
  • breaking: Rename OnFailedUpdgrade to OnFailedUpgrade (#1664)
  • breaking: TypedHeader has been move to axum-extra (#1850)
  • breaking: Removed re-exports of Empty and Full. Use
    axum::body::Body::empty and axum::body::Body::from respectively (#1789)
  • breaking: The response returned by IntoResponse::into_response must use
    axum::body::Body as the body type. axum::response::Response does this
    (#1789)
  • breaking: Removed the BoxBody type alias and its box_body
    constructor. Use axum::body::Body::new instead (#1789)
  • breaking: Remove RawBody extractor. axum::body::Body implements FromRequest directly (#1789)
  • breaking: The following types from http-body no longer implement IntoResponse:
    • Full, use Body::from instead
    • Empty, use Body::empty instead
    • BoxBody, use Body::new instead
    • UnsyncBoxBody, use Body::new instead
    • MapData, use Body::new instead
    • MapErr, use Body::new instead
  • added: Add axum::extract::Request type alias where the body is axum::body::Body (#1789)
  • added: Add Router::as_service and Router::into_service to workaround
    type inference issues when calling ServiceExt methods on a Router (#1835)
  • breaking: Removed axum::Server as it was removed in hyper 1.0. Instead
    use axum::serve(listener, service) or hyper/hyper-util for more configuration options (#1868)
  • breaking: Only inherit fallbacks for routers nested with Router::nest.
    Routers nested with Router::nest_service will no longer inherit fallbacks (#1956)
  • fixed: Don't remove the Sec-WebSocket-Key header in WebSocketUpgrade (#1972)
  • added: Add axum::extract::Query::try_from_uri (#2058)
  • added: Implement IntoResponse for Box<str> and Box<[u8]> ([#2035])
  • breaking: Simplify MethodFilter. It no longer uses bitflags (#2073)
  • fixed: Fix bugs around merging routers with nested fallbacks (#2096)
  • fixed: Fix .source() of composite rejections (#2030)
  • fixed: Allow unreachable code in #[debug_handler] (#2014)
  • change: axum's MSRV is now 1.66 (#1882)
  • added: Implement IntoResponse for (R,) where R: IntoResponse (#2143)
  • changed: For SSE, add space between field and value for compatibility (#2149)
  • added: Add NestedPath extractor (#1924)
  • added: Add handle_error function to existing ServiceExt trait (#2235)
  • breaking: impl<T> IntoResponse(Parts) for Extension<T> now requires
    T: Clone, as that is required by the http crate (#1882)
  • added: Add axum::Json::from_bytes (#2244)
  • added: Implement FromRequestParts for http::request::Parts (#2328)
  • added: Implement FromRequestParts for http::Extensions (#2328)
  • fixed: Clearly document applying DefaultBodyLimit to individual routes (#2157)

axum-macros - v0.4.0

27 Nov 08:32
b7d14d3
Compare
Choose a tag to compare
  • breaking: #[debug_handler] no longer accepts a body = _ argument. The
    body type is always axum::body::Body (#1751)
  • fixed: Fix rust-version specific in Cargo.toml (#2204)

axum-extra - v0.9.0

27 Nov 08:32
b7d14d3
Compare
Choose a tag to compare
  • added: OptionalQuery extractor (#2310)
  • added: TypedHeader which used to be in axum (#1850)
  • breaking: Update to prost 0.12. Used for the Protobuf extractor
  • breaking: Make tokio an optional dependency
  • breaking: Upgrade cookie dependency to 0.18 (#2343)
  • breaking: Functions and methods that previously accepted a Cookie
    now accept any T: Into<Cookie> (#2348)

axum-core - v0.4.0

27 Nov 08:31
b7d14d3
Compare
Choose a tag to compare
  • added: Implement IntoResponse for (R,) where R: IntoResponse (#2143)
  • fixed: Fix broken docs links (#2164)
  • fixed: Clearly document applying DefaultBodyLimit to individual routes (#2157)
  • breaking: The following types/traits are no longer generic over the request body
    (i.e. the B type param has been removed) ([#1751] and [#1789]):
    • FromRequestParts
    • FromRequest
    • RequestExt
  • breaking: axum no longer re-exports hyper::Body as that type is removed
    in hyper 1.0. Instead axum has its own body type at axum_core::body::Body ([#1751])

axum-extra - v0.8.0

16 Sep 19:44
3407de8
Compare
Choose a tag to compare
  • breaking: Update to prost 0.12. Used for the Protobuf extractor (#2224)

axum - v0.6.20

03 Aug 18:00
3b92cd7
Compare
Choose a tag to compare
  • added: WebSocketUpgrade::write_buffer_size and WebSocketUpgrade::max_write_buffer_size
  • changed: Deprecate WebSocketUpgrade::max_send_queue
  • change: Update tokio-tungstenite to 0.20
  • added: Implement Handler for T: IntoResponse (#2140)

axum-extra - v0.7.7

03 Aug 18:00
3b92cd7
Compare
Choose a tag to compare
  • added: Clone implementation for ErasedJson (#2142)

axum-extra - v0.7.6

02 Aug 15:55
a25ed29
Compare
Choose a tag to compare
  • fixed: Remove unused dependency (#2135)