Open
Conversation
Author
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.6→0.8Release Notes
tokio-rs/axum (axum)
v0.8.8: axum v0.8.8Compare Source
Router::route_layer(#3567)v0.8.7: axum v0.8.7Compare Source
Send/Syncbounds onRouterAsService,RouterIntoService(#3555)v0.8.6Compare Source
v0.8.5: axum v0.8.5Compare Source
OptionalFromRequestforMultipart(#3220)Location::{status_code, location}middleware::ResponseAxumBodyLayerfor mapping response body toaxum::body::Body(#3469)impl FusedStream for WebSocket(#3443)ssemodule andSsetype no longer depend on thetokiofeature (#3154)Redirects constructors is not a valid header value, instead of panicking on construction, theIntoResponseimpl now returns an HTTP 500, just likeJsondoes when serialization fails (#3377)v0.8.4: axum v0.8.4Compare Source
Router::reset_fallback(#3320)WebSocketUpgrade::selected_protocol(#3248)servewithout graceful shutdown (#3129)v0.8.3: axum v0.8.3Compare Source
From<Bytes>forMessage(#3273)OptionalFromRequestforJson(#3142)OptionalFromRequestforExtension(#3157)WebSocketUpgrade(#3178)v0.8.2: axum v0.8.2Yanked from crates.io due to unforeseen breaking change, see #3190 for details
OptionalFromRequestforJson(#3142)OptionalFromRequestforExtension(#3157)statusfunction of rejections aconstfunction, suchas
JsonRejection,QueryRejectionandPathRejection(#3168)v0.8.0: axum v0.8.0Compare Source
since rc.1
Details
axum::extract::ws::Messagenow usesBytesin place ofVec<u8>,and a new
Utf8Bytestype in place ofString, for its variants (#3078)OptionalFromRequestPartsimpl forQuery(#3088)tokio-tungsteniteto 0.26 (#3078)serde_path_to_errorto report fields that failed to parse (#3081)full changelog
You can also read the blog post on tokio
Note: there are further relevant changes in axum-core's changelog
/:singleand/*manyto/{single}and/{*many}; the old syntax produces a panic to avoid silent change in behavior (#2645)Syncfor all handlers and services added toRouterandMethodRouter(#2473)Pathextractor deserializers now check that the number of parameters matches the tuple length exactly (#2931)Hostextractor toaxum-extra(#2956)WebSocket::close. Users should explicitly send close messages themselves. (#2974)servegeneric over the listener and IO types (#2941)Serve::tcp_nodelayandWithGracefulShutdown::tcp_nodelay.See
serve::ListenerExtfor an API that let you set arbitrary TCP stream properties. (#2941)Option<Path<T>>no longer swallows all error conditions,instead rejecting the request in many cases; see its documentation for details (#2475)
axum::extract::ws::Messagenow usesBytesin place ofVec<u8>,and a new
Utf8Bytestype in place ofString, for its variants (#3078)serde_json::RawValueinEvent::json_data(#2992)content-lengthbefore middleware.This allows middleware to add bodies to requests without needing to manually set
content-length(#2897)tokio-tungsteniteto 0.26 (#3078)serde_path_to_errorto report fields that failed to parse (#3081)method_not_allowed_fallbackto set a fallback when a path matches but there is no handler for the given HTTP method (#2903)NoContentas a self-described shortcut forStatusCode::NO_CONTENT(#2978)get(ws_endpoint)handlers toany(ws_endpoint)(#2894)MethodFilter::CONNECT,routing::connect[_service]andMethodRouter::connect[_service](#2961)FailedToDeserializePathParams::kindenum with (ErrorKind::DeserializeError). This new variant captures bothkey,value, andmessagefrom named path parameters parse errors, instead of only deserialization error message inErrorKind::Message. (#2720)v0.7.9: axum - v0.7.9Compare Source
v0.7.8: axum - v0.7.8Compare Source
serde_json::RawValueinEvent::json_data(#2992)method_not_allowed_fallbackto set a fallback when a path matches but there is no handler for the given HTTP method (#2903)MethodFilter::CONNECT,routing::connect[_service]and
MethodRouter::connect[_service](#2961)NoContentas a self-described shortcut forStatusCode::NO_CONTENT(#2978)v0.7.7: axum - v0.7.7Compare Source
rustdoc now generates tables of content in the sidebar (#2921)
v0.7.6: axum - v0.7.6Compare Source
Arcduring deserialization ofPathaxum::serve::Serve::tcp_nodelayandaxum::serve::WithGracefulShutdown::tcp_nodelay(#2653)Router::has_routesfunction (#2790)Serve::local_addrandWithGracefulShutdown::local_addrfunctions (#2881)v0.7.5: axum - v0.7.5Compare Source
axum::servedirectly witha
RouterorMethodRouter(#2586)h2is no longer pulled as a dependency unless thehttp2featureis enabled (#2605)
v0.7.4: axum - v0.7.4Compare Source
debug_handleron tuple response types (#2201)must_useattribute toServeandWithGracefulShutdown(#2484)axum_core::body::BodyDataStreamfrom axumv0.7.3: axum - v0.7.3Compare Source
BodyimplementsFrom<()>now (#2411)tracingfeature by default (#2460)serve(#2398)RouterIntoServiceimplementsClone(#2456)v0.7.2: axum - v0.7.2Compare Source
axum::body::to_bytes(#2373)serve(#2400)v0.7.1: axum - v0.7.1Compare Source
v0.7.0: axum - v0.7.0Compare Source
WebSocketUpgrade::max_send_queue(i.e. the
Btype param has been removed) (#1751 and #1789):FromRequestPartsFromRequestHandlerServiceHandlerWithoutStateExtHandlerLayeredFutureLayeredMethodRouterNextRequestExtRouteFutureRouteRouterhyper::Bodyas that type is removedin hyper 1.0. Instead axum has its own body type at
axum::body::Body(#1751)extract::BodyStreamhas been removed asbody::Bodyimplements
StreamandFromRequestdirectly (#1751)sse::Event::json_datato useaxum_core::Erroras its error type (#1762)DefaultOnFailedUpdgradetoDefaultOnFailedUpgrade(#1664)OnFailedUpdgradetoOnFailedUpgrade(#1664)TypedHeaderhas been move toaxum-extra(#1850)EmptyandFull. Useaxum::body::Body::emptyandaxum::body::Body::fromrespectively (#1789)IntoResponse::into_responsemust useaxum::body::Bodyas the body type.axum::response::Responsedoes this(#1789)
BoxBodytype alias and itsbox_bodyconstructor. Use
axum::body::Body::newinstead (#1789)RawBodyextractor.axum::body::BodyimplementsFromRequestdirectly (#1789)http-bodyno longer implementIntoResponse:Full, useBody::frominsteadEmpty, useBody::emptyinsteadBoxBody, useBody::newinsteadUnsyncBoxBody, useBody::newinsteadMapData, useBody::newinsteadMapErr, useBody::newinsteadaxum::extract::Requesttype alias where the body isaxum::body::Body(#1789)Router::as_serviceandRouter::into_serviceto workaroundtype inference issues when calling
ServiceExtmethods on aRouter(#1835)axum::Serveras it was removed in hyper 1.0. Insteaduse
axum::serve(listener, service)or hyper/hyper-util for more configuration options (#1868)Router::nest.Routers nested with
Router::nest_servicewill no longer inherit fallbacks (#1956)Sec-WebSocket-Keyheader inWebSocketUpgrade(#1972)axum::extract::Query::try_from_uri(#2058)IntoResponseforBox<str>andBox<[u8]>([#2035])MethodFilter. It no longer uses bitflags (#2073).source()of composite rejections (#2030)#[debug_handler](#2014)IntoResponsefor(R,) where R: IntoResponse(#2143)NestedPathextractor (#1924)handle_errorfunction to existingServiceExttrait (#2235)impl<T> IntoResponse(Parts) for Extension<T>now requiresT: Clone, as that is required by the http crate (#1882)axum::Json::from_bytes(#2244)FromRequestPartsforhttp::request::Parts(#2328)FromRequestPartsforhttp::Extensions(#2328)DefaultBodyLimitto individual routes (#2157)v0.6.20: axum - v0.6.20Compare Source
WebSocketUpgrade::write_buffer_sizeandWebSocketUpgrade::max_write_buffer_sizeWebSocketUpgrade::max_send_queueHandlerforT: IntoResponse(#2140)v0.6.19: axum - v0.6.19Compare Source
axum::extract::Query::try_from_uri(#2058)IntoResponseforBox<str>andBox<[u8]>(#2035).source()of composite rejections (#2030)#[debug_handler](#2014)v0.6.18: axum - v0.6.18Compare Source
Sec-WebSocket-Keyheader inWebSocketUpgrade(#1972)v0.6.17: axum - v0.6.17Compare Source
CONNECTrequests (#1958)v0.6.16: axum - v0.6.16Compare Source
MatchedPathin fallbacks (#1934)Routerwith something nested at/was used as a fallback (#1934)Router::new().fallback(...)isn't optimal (#1940)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.