Releases: tokio-rs/axum
Releases · tokio-rs/axum
axum v0.8.0-rc.1
Note: there are further relevant changes in axum-core's changelog.
Since v0.8.0-alpha.1:
- breaking: Move
Host
extractor toaxum-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
andWithGracefulShutdown::tcp_nodelay
.
Seeserve::ListenerExt
for an API that let you set arbitrary TCP stream properties. (#2941) - breaking:
Option<Path<T>>
andOption<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
inEvent::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 setcontent-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 forStatusCode::NO_CONTENT
(#2978) - added: Add support for WebSockets over HTTP/2.
They can be enabled by changingget(ws_endpoint)
handlers toany(ws_endpoint)
(#2894) - added: Add
MethodFilter::CONNECT
,routing::connect[_service]
andMethodRouter::connect[_service]
(#2961) - added: Extend
FailedToDeserializePathParams::kind
enum with (ErrorKind::DeserializeError
)
This new variant captures bothkey
,value
, andmessage
from named path parameters parse errors,
instead of only deserialization error message inErrorKind::Message
. (#2720)
axum-extra v0.10.0-rc.1
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>
andOptionalQuery<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
Since v0.5.0-alpha.1:
- breaking::
Option<T>
as an extractor now requiresT
to implement the
new traitOptionalFromRequest
(if used as the last extractor) or
OptionalFromRequestParts
(other extractors) (#2475)
axum - v0.7.9
- fixed: Avoid setting content-length before middleware (#3031)
axum-extra - v0.9.6
- docs: Add links to features table (#3030)
axum - v0.7.8
- fixed: Skip SSE incompatible chars of
serde_json::RawValue
inEvent::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]
andMethodRouter::connect[_service]
(#2961) - added: Add
NoContent
as a self-described shortcut forStatusCode::NO_CONTENT
(#2978)
axum-extra - v0.9.5
axum v0.8.0-alpha.1
Note: there are further relevant changes in axum-core's changelog.
- breaking: Require
Sync
for all handlers and services added toRouter
andMethodRouter
(#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
- breaking: Update code generation for axum-core 0.5.0-alpha.1
- change: Update minimum rust version to 1.75 (#2943)