mirror of
https://github.com/tokio-rs/axum.git
synced 2024-11-25 08:37:29 +01:00
7.3 KiB
7.3 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
- Overall compile time improvements. If you're having issues with compile time please file an issue!
- Remove
prelude
. Explicit imports are now required. - Make
FromRequest
default to being generic overbody::Body
(#146) - Implement
std::error::Error
for all rejections (#153) - Add
RoutingDsl::or
for combining routes (#108) - Add
handle_error
toservice::OnMethod
(#160) - Add
OriginalUri
for extracting original request URI in nested services (#197) - Implement
FromRequest
forhttp::Extensions
- Implement SSE as an
IntoResponse
instead of a service (#98) - Add
Headers
for easily customizing headers on a response (#193) - Add
Redirect
response (#192) - Make
RequestParts::{new, try_into_request}
public (#194)
Breaking changes
- Add associated
Body
andBodyError
types toIntoResponse
. This is required for returning responses with bodies other thanhyper::Body
from handlers. See the docs for advice on how to implementIntoResponse
(#86) - Replace
body::BoxStdError
withError
, which supports downcasting (#150) get
routes will now also be called forHEAD
requests but will always have the response body removed (#129)- Change WebSocket API to use an extractor (#121)
- Make WebSocket
Message
an enum (#116) WebSocket
now usesError
as its error type (#150)- Ensure a
HandleError
service created fromServiceExt::handle_error
does not implementRoutingDsl
as that could lead to confusing routing behavior (#120) - Implement
routing::MethodFilter
viabitflags
- Removed
extract::UrlParams
andextract::UrlParamsMap
. Useextract::Path
instead EmptyRouter
now requires the response body to implementSend + Sync + 'static'
(#108)ServiceExt
has been removed and its methods have been moved toRoutingDsl
(#160)extractor_middleware
now requiresRequestBody: Default
(#167)- Convert
RequestAlreadyExtracted
to an enum with each possible error variant (#167) RoutingDsl::check_infallible
now returns aCheckInfallible
service. This is to improve compile times.- These future types have been moved
extract::extractor_middleware::ExtractorMiddlewareResponseFuture
moved toextract::extractor_middleware::future::ResponseFuture
(#133)routing::BoxRouteFuture
moved torouting::future::BoxRouteFuture
(#133)routing::EmptyRouterFuture
moved torouting::future::EmptyRouterFuture
(#133)routing::RouteFuture
moved torouting::future::RouteFuture
(#133)service::BoxResponseBodyFuture
moved toservice::future::BoxResponseBodyFuture
(#133)
- The following types no longer implement
Copy
(#132)EmptyRouter
ExtractorMiddleware
ExtractorMiddlewareLayer
QueryStringMissing
RequestParts
changes (#153)method
new returns an&http::Method
method_mut
new returns an&mut http::Method
take_method
has been removeduri
new returns an&http::Uri
uri_mut
new returns an&mut http::Uri
take_uri
has been removed
- These rejections have been removed as they're no longer used
- The following services have new response future types:
service::OnMethod
handler::OnMethod
routing::Nested
- Remove
axum::sse
(#98)
0.1.3 (06. August, 2021)
- Fix stripping prefix when nesting services at
/
(#91) - Add support for WebSocket protocol negotiation (#83)
- Use
pin-project-lite
instead ofpin-project
(#95) - Re-export
http
crate andhyper::Server
(#110) - Fix
Query
andForm
extractors giving bad request error when query string is empty. (#117) - Add
Path
extractor. (#124) - Fixed the implementation of
IntoResponse
of(HeaderMap, T)
and(StatusCode, HeaderMap, T)
would ignore headers fromT
(#137) - Deprecate
extract::UrlParams
andextract::UrlParamsMap
. Useextract::Path
instead (#138)
0.1.2 (01. August, 2021)
- Implement
Stream
forWebSocket
(#52) - Implement
Sink
forWebSocket
(#52) - Implement
Deref
most extractors (#56) - Return
405 Method Not Allowed
for unsupported method for route (#63) - Add extractor for remote connection info (#55)
- Improve error message of
MissingExtension
rejections (#72) - Improve documentation for routing (#71)
- Clarify required response body type when routing to
tower::Service
s (#69) - Add
axum::body::box_body
to converting anhttp_body::Body
toaxum::body::BoxBody
(#69) - Add
axum::sse
for Server-Sent Events (#75) - Mention required dependencies in docs (#77)
- Fix WebSockets failing on Firefox (#76)
0.1.1 (30. July, 2021)
- Misc readme fixes.
0.1.0 (30. July, 2021)
- Initial release.