mirror of
https://github.com/tokio-rs/axum.git
synced 2024-11-25 00:28:07 +01:00
14 KiB
14 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
- None.
0.9.0 (27. November, 2023)
- added:
OptionalQuery
extractor (#2310) - added:
TypedHeader
which used to be inaxum
(#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 anyT: Into<Cookie>
(#2348)
0.8.0 (16. September, 2023)
- breaking: Update to prost 0.12. Used for the
Protobuf
extractor (#2224)
0.7.7 (03. August, 2023)
- added:
Clone
implementation forErasedJson
(#2142)
0.7.6 (02. August, 2023)
- fixed: Remove unused dependency (#2135)
0.7.5 (17. July, 2023)
- fixed: Remove explicit auto deref from
PrivateCookieJar
example (#2028)
0.7.4 (18. April, 2023)
- added: Add
Html
response type (#1921) - added: Add
Css
response type (#1921) - added: Add
JavaScript
response type (#1921) - added: Add
Wasm
response type (#1921)
0.7.3 (11. April, 2023)
- added: Implement
Deref
andDerefMut
for built-in extractors (#1922) - added: Add
OptionalPath
extractor (#1889)
0.7.2 (22. March, 2023)
- added: Implement
IntoResponse
forMultipartError
(#1861)
0.7.1 (13. March, 2023)
- Updated to latest
axum-macros
0.7.0 (03. March, 2023)
- breaking: Remove the
spa
feature which should have been removed in 0.6.0 (#1802) - added: Add
Multipart
. This is similar toaxum::extract::Multipart
except that it enforces field exclusivity at runtime instead of compile time, as this improves usability (#1692) - added: Implement
Clone
forCookieJar
,PrivateCookieJar
andSignedCookieJar
(#1808) - fixed: Add
#[must_use]
attributes to types that do nothing unless used (#1809)
0.6.0 (24. February, 2022)
-
breaking: Change casing of
ProtoBuf
toProtobuf
(#1595) -
breaking:
SpaRouter
has been removed. UseServeDir
andServeFile
fromtower-http
instead:// before Router::new().merge(SpaRouter::new("/assets", "dist")); // with ServeDir Router::new().nest_service("/assets", ServeDir::new("dist")); // before with `index_file` Router::new().merge(SpaRouter::new("/assets", "dist").index_file("index.html")); // with ServeDir + ServeFile Router::new().nest_service( "/assets", ServeDir::new("dist").not_found_service(ServeFile::new("dist/index.html")), );
See the static-file-server-example for more examples (#1784)
0.5.0 (12. February, 2022)
- added: Add
option_layer
for converting anOption<Layer>
into aLayer
(#1696) - added: Implement
Layer
andService
forEither
(#1696) - added: Add
TypedPath::with_query_params
(#1744) - breaking: Update to
cookie
0.17 (#1747)
0.4.2 (02. December, 2022)
- fixed: Bug fixes for
RouterExt:{route_with_tsr, route_service_with_tsr}
(#1608):- Redirects to the correct URI if the route contains path parameters
- Keeps query parameters when redirecting
- Better improved error message if adding route for
/
0.4.1 (29. November, 2022)
- fixed: Fix wrong
From
impl forResource
(#1589)
0.4.0 (25. November, 2022)
- added: Add
RouterExt::route_with_tsr
for adding routes with an additional "trailing slash redirect" route (#1119) - added: Support chaining handlers with
HandlerCallWithExtractors::or
(#1170) - added: Add Protocol Buffer extractor and response (#1239)
- added: Add
Either*
types for combining extractors and responses into a single type (#1263) - added:
WithRejection
extractor for customizing other extractors' rejections (#1262) - added: Add sync constructors to
CookieJar
,PrivateCookieJar
, andSignedCookieJar
so they're easier to use in custom middleware - changed: For methods that accept some
S: Service
, the bounds have been relaxed so the return type can be any type that implementsIntoResponse
rather than being a literalResponse
- change: axum-extra's MSRV is now 1.60 (#1239)
- breaking:
Form
has a new rejection type (#1496) - breaking:
Query
has a new rejection type (#1496) - breaking:
Resource::nest
andResource::nest_collection
have been removed. You can instead convert theResource
into aRouter
and add additional routes as necessary (#1086) - breaking:
SignedCookieJar
andPrivateCookieJar
now extracts the keys from the router's state, rather than extensions - breaking:
Resource
has a newS
type param which represents the state (#1155) - breaking:
RouterExt::route_with_tsr
now only acceptsMethodRouter
s (#1155) - added:
RouterExt::route_service_with_tsr
for routing to anyService
(#1155)
0.4.0 Pre-Releases
0.4.0-rc.3 (19. November, 2022)
- breaking: Depend axum 0.6.0-rc.5 and axum-macros 0.3.0-rc.3
0.4.0-rc.2 (8. November, 2022)
0.4.0-rc.1 (23. August, 2022)
- added: Add
RouterExt::route_with_tsr
for adding routes with an additional "trailing slash redirect" route (#1119) - breaking:
Resource::nest
andResource::nest_collection
has been removed. You can instead convert theResource
into aRouter
and add additional routes as necessary (#1086) - changed: For methods that accept some
S: Service
, the bounds have been relaxed so the response type must implementIntoResponse
rather than being a literalResponse
- added: Support chaining handlers with
HandlerCallWithExtractors::or
(#1170) - change: axum-extra's MSRV is now 1.60 (#1239)
- breaking:
SignedCookieJar
andPrivateCookieJar
now extracts the keys from the router's state, rather than extensions - added: Add Protocol Buffer extractor and response (#1239)
- added: Add
Either*
types for combining extractors and responses into a single type (#1263) - added:
WithRejection
extractor for customizing other extractors' rejections (#1262) - added: Add sync constructors to
CookieJar
,PrivateCookieJar
, andSignedCookieJar
so they're easier to use in custom middleware - breaking:
Resource
has a newS
type param which represents the state (#1155) - breaking:
RouterExt::route_with_tsr
now only acceptsMethodRouter
s (#1155) - added:
RouterExt::route_service_with_tsr
for routing to anyService
(#1155)
0.3.7 (09. August, 2022)
- fixed: Depend on axum 0.5.15 which contains a fix for an accidental breaking change.
0.3.6 (02. July, 2022)
- fixed: Fix feature labels missing in generated docs (#1137)
0.3.5 (27. June, 2022)
- added: Add
JsonLines
for streaming newline delimited JSON (#1093) - change: axum-extra's MSRV is now 1.56 (#1098)
0.3.4 (08. June, 2022)
- fixed: Use
impl IntoResponse
less in docs (#1049) - added: Add
AsyncReadBody
for creating a body from atokio::io::AsyncRead
(#1072)
0.3.3 (18. May, 2022)
- added: Add
extract::Query
which supports multi-value items (#1041) - added: Support customizing rejections for
#[derive(TypedPath)]
(#1012)
0.3.2 (15. May, 2022)
- added: Add
extract::Form
which supports multi-value items (#1031)
0.3.1 (10. May, 2022)
- fixed:
Option
andResult
are now supported in typed path route handler parameters (#1001) - fixed: Support wildcards in typed paths (#1003)
- added: Support using a custom rejection type for
#[derive(TypedPath)]
instead ofPathRejection
(#1012)
0.3.0 (27. April, 2022)
- fixed: Don't depend on axum with default features enabled (#913)
- breaking: Private and signed cookies now requires enabling the
cookie-private
andcookie-signed
features respectively (#949) - changed: Update to tower-http 0.3 (#965)
0.2.1 (03. April, 2022)
- added: Re-export
SameSite
andExpiration
from thecookie
crate (#898) - added: Add
PrivateCookieJar
for managing private cookies (#900) - added: Add
SpaRouter
for routing setups commonly used for single page applications (#904) - fixed: Fix
SignedCookieJar
when using custom key types (#899)
0.2.0 (31. March, 2022)
- added: Add
TypedPath::to_uri
for converting the path into aUri
(#790) - added: Extractors and responses for dealing with cookies. See
extract::cookies
for more details (#816) - breaking:
CachedRejection
has been removed (#699) - breaking:
<Cached<T> as FromRequest>::Rejection
is nowT::Rejection
. (#699) - breaking:
middleware::from_fn
has been remove from axum-extra and moved into the main axum crate (#719) - breaking:
HasRoutes
has been removed.Router::merge
now acceptsInto<Router>
(#819) - breaking:
RouterExt::with
method has been removed. UseRouter::merge
instead. It works identically (#819)
0.1.5 (1. March, 2022)
- added: Add
TypedPath::to_uri
for converting the path into aUri
(#790)
0.1.4 (22. February, 2022)
- fix: Depend on the right versions of axum and axum-macros (#782)
0.1.3 (22. February, 2022)
- added: Add type safe routing. See
axum_extra::routing::typed
for more details (#756) - fix: Depend on tower with
default_features = false
(#666) - change:
middleware::from_fn
has been deprecated and moved into the main axum crate (#719)
0.1.2 (13. January, 2022)
- fix: Depend on tower with
default_features = false
(#666)
0.1.1 (27. December, 2021)
- Add
middleware::from_fn
for creating middleware from async functions (#656) - Add support for returning pretty JSON response in
response::ErasedJson
(#662)
0.1.0 (02. December, 2021)
- Initial release.