Update Rust crate axum to 0.5 - autoclosed #5

Closed
kjuulh wants to merge 1 commits from renovate/axum-0.x into main
Owner

This PR contains the following updates:

Package Type Update Change
axum dependencies minor 0.4 -> 0.5

Release Notes

tokio-rs/axum

v0.5.17

  • fixed: Annotate panicking functions with #[track_caller] so the error
    message points to where the user added the invalid router, rather than
    somewhere internally in axum (#​1248)
  • fixed: Make Multipart extractor work with RequestBodyLimit middleware (#​1379)
  • added: Add DefaultBodyLimit::max for changing the default body limit (#​1397)
  • added: Various documentation improvements

v0.5.16

Security

  • breaking: Added default limit to how much data Bytes::from_request will
    consume. Previously it would attempt to consume the entire request body
    without checking its length. This meant if a malicious peer sent an large (or
    infinite) request body your server might run out of memory and crash.

    The default limit is at 2 MB and can be disabled by adding the new
    DefaultBodyLimit::disable() middleware. See its documentation for more
    details.

    This also applies to these extractors which used Bytes::from_request
    internally:

    • Form
    • Json
    • String

    Thanks to Shachar Menashe for reporting this vulnerability.

    (#​1346)

v0.5.15

Note: This is a re-release of 0.5.14 that fixes an accidental breaking change.

  • fixed: Don't expose internal type names in QueryRejection response. (#​1171)
  • fixed: Improve performance of JSON serialization (#​1178)
  • fixed: Improve build times by generating less IR (#​1192)

v0.5.14

Yanked, as it contained an accidental breaking change.

v0.5.13

  • fixed: If WebSocketUpgrade cannot upgrade the connection it will return a
    WebSocketUpgradeRejection::ConnectionNotUpgradable rejection (#​1135)
  • changed: WebSocketUpgradeRejection has a new variant ConnectionNotUpgradable
    variant (#​1135)

v0.5.12

  • added: Added debug_handler which is an attribute macro that improves
    type errors when applied to handler function. It is re-exported from
    axum-macros (#​1144)

v0.5.11

  • added: Implement TryFrom<http:: Method> for MethodFilter and use new
    NoMatchingMethodFilter error in case of failure (#​1130)
  • added: Document how to run extractors from middleware (#​1140)

v0.5.10

  • fixed: Make Router cheaper to clone (#​1123)
  • fixed: Fix possible panic when doing trailing slash redirect (#​1124)

v0.5.9

  • fixed: Fix compile error when the headers is enabled and the form
    feature is disabled (#​1107)

v0.5.8

  • added: Support resolving host name via Forwarded header in Host
    extractor (#​1078)
  • added: Implement IntoResponse for Form (#​1095)
  • change: axum's MSRV is now 1.56 (#​1098)

v0.5.7

  • added: Implement Default for Extension (#​1043)
  • fixed: Support deserializing Vec<(String, String)> in extract::Path<_> to get vector of
    key/value pairs (#​1059)
  • added: Add extract::ws::close_code which contains constants for close codes (#​1067)
  • fixed: Use impl IntoResponse less in docs (#​1049)

v0.5.6

  • added: Add WebSocket::protocol to return the selected WebSocket subprotocol, if there is one. (#​1022)
  • fixed: Improve error message for PathRejection::WrongNumberOfParameters to hint at using
    Path<(String, String)> or Path<SomeStruct> (#​1023)
  • fixed: PathRejection::WrongNumberOfParameters now uses 500 Internal Server Error since
    it's a programmer error and not a client error (#​1023)
  • fixed: Fix InvalidFormContentType mentioning the wrong content type

v0.5.5

  • fixed: Correctly handle GET, HEAD, and OPTIONS requests in ContentLengthLimit.
    Request with these methods are now accepted if they do not have a Content-Length header, and
    the request body will not be checked. If they do have a Content-Length header they'll be
    rejected. This allows ContentLengthLimit to be used as middleware around several routes,
    including GET routes (#​989)
  • added: Add MethodRouter::{into_make_service, into_make_service_with_connect_info} (#​1010)

v0.5.4

  • added: Add response::ErrorResponse and response::Result for
    IntoResponse-based error handling (#​921)
  • added: Add middleware::from_extractor and deprecate extract::extractor_middleware (#​957)
  • changed: Update to tower-http 0.3 (#​965)

v0.5.3

  • added: Add AppendHeaders for appending headers to a response rather than overriding them (#​927)
  • added: Add axum::extract::multipart::Field::chunk method for streaming a single chunk from
    the field (#​901)
  • fixed: Fix trailing slash redirection with query parameters (#​936)

v0.5.2

Yanked, as it contained an accidental breaking change.

v0.5.1

Compare Source

  • added: Add RequestParts::extract which allows applying an extractor as a method call ([#​897)

v0.5.0

Compare Source

  • added: Document sharing state between handler and middleware (#​783)

  • added: Extension<_> can now be used in tuples for building responses, and will set an
    extension on the response (#​797)

  • added: extract::Host for extracting the hostname of a request (#​827)

  • added: Add IntoResponseParts trait which allows defining custom response
    types for adding headers or extensions to responses (#​797)

  • added: TypedHeader implements the new IntoResponseParts trait so they
    can be returned from handlers as parts of a response (#​797)

  • changed: Router::merge now accepts Into<Router> (#​819)

  • breaking: sse::Event now accepts types implementing AsRef<str> instead of Into<String>
    as field values.

  • breaking: sse::Event now panics if a setter method is called twice instead of silently
    overwriting old values.

  • breaking: Require Output = () on WebSocketStream::on_upgrade (#​644)

  • breaking: Make TypedHeaderRejectionReason #[non_exhaustive] (#​665)

  • breaking: Using HeaderMap as an extractor will no longer remove the headers and thus
    they'll still be accessible to other extractors, such as axum::extract::Json. Instead
    HeaderMap will clone the headers. You should prefer to use TypedHeader to extract only the
    headers you need (#​698)

    This includes these breaking changes:

    • RequestParts::take_headers has been removed.
    • RequestParts::headers returns &HeaderMap.
    • RequestParts::headers_mut returns &mut HeaderMap.
    • HeadersAlreadyExtracted has been removed.
    • The HeadersAlreadyExtracted variant has been removed from these rejections:
      • RequestAlreadyExtracted
      • RequestPartsAlreadyExtracted
      • JsonRejection
      • FormRejection
      • ContentLengthLimitRejection
      • WebSocketUpgradeRejection
    • <HeaderMap as FromRequest<_>>::Rejection has been changed to std::convert::Infallible.
  • breaking: axum::http::Extensions is no longer an extractor (ie it
    doesn't implement FromRequest). The axum::extract::Extension extractor is
    not impacted by this and works the same. This change makes it harder to
    accidentally remove all extensions which would result in confusing errors
    elsewhere (#​699)
    This includes these breaking changes:

    • RequestParts::take_extensions has been removed.
    • RequestParts::extensions returns &Extensions.
    • RequestParts::extensions_mut returns &mut Extensions.
    • RequestAlreadyExtracted has been removed.
    • <Request as FromRequest>::Rejection is now BodyAlreadyExtracted.
    • <http::request::Parts as FromRequest>::Rejection is now Infallible.
    • ExtensionsAlreadyExtracted has been removed.
    • The ExtensionsAlreadyExtracted removed variant has been removed from these rejections:
      • ExtensionRejection
      • PathRejection
      • MatchedPathRejection
      • WebSocketUpgradeRejection
  • breaking: Redirect::found has been removed (#​800)

  • breaking: AddExtensionLayer has been removed. Use Extension instead. It now implements
    tower::Layer (#​807)

  • breaking: AddExtension has been moved from the root module to middleware

  • breaking: .nest("/foo/", Router::new().route("/bar", _)) now does the right thing and
    results in a route at /foo/bar instead of /foo//bar (#​824)

  • breaking: Routes are now required to start with /. Previously routes such as :foo would
    be accepted but most likely result in bugs (#​823)

  • breaking: Headers has been removed. Arrays of tuples directly implement
    IntoResponseParts so ([("x-foo", "foo")], response) now works (#​797)

  • breaking: InvalidJsonBody has been replaced with JsonDataError to clearly signal that the
    request body was syntactically valid JSON but couldn't be deserialized into the target type

  • breaking: Handler is no longer an #[async_trait] but instead has an
    associated Future type. That allows users to build their own Handler types
    without paying the cost of #[async_trait] (#​879)

  • changed: New JsonSyntaxError variant added to JsonRejection. This is returned when the
    request body contains syntactically invalid JSON

  • fixed: Correctly set the Content-Length header for response to HEAD
    requests (#​734)

  • fixed: Fix wrong content-length for HEAD requests to endpoints that returns chunked
    responses (#​755)

  • fixed: Fixed several routing bugs related to nested "opaque" tower services (i.e.
    non-Router services) (#​841 and #​842)

  • changed: Update to tokio-tungstenite 0.17 (#​791)

  • breaking: Redirect::{to, temporary, permanent} now accept &str instead
    of Uri (#​889)

  • breaking: Remove second type parameter from Router::into_make_service_with_connect_info
    and Handler::into_make_service_with_connect_info to support MakeServices
    that accept multiple targets (#​892)

v0.4.8

Compare Source

v0.4.7

Compare Source

  • added: Implement tower::Layer for Extension (#​801)
  • changed: Deprecate AddExtensionLayer. Use Extension instead (#​805)

v0.4.6

Compare Source

  • added: middleware::from_fn for creating middleware from async functions.
    This previously lived in axum-extra but has been moved to axum (#​719)
  • fixed: Set Allow header when responding with 405 Method Not Allowed (#​733)

v0.4.5

Compare Source

v0.4.4

Compare Source

  • fixed: Fix using incorrect path prefix when nesting Routers at / (#​691)
  • fixed: Make nest("", service) work and mean the same as nest("/", service) (#​691)
  • fixed: Replace response code 301 with 308 for trailing slash redirects. Also deprecates
    Redirect::found (302) in favor of Redirect::temporary (307) or Redirect::to (303).
    This is to prevent clients from changing non-GET requests to GET requests (#​682)

v0.4.3

Compare Source

See the CHANGELOG for release notes.

v0.4.2

Compare Source

See the CHANGELOG for release notes.

v0.4.1

Compare Source

See the CHANGELOG for release notes.


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Enabled.

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.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [axum](https://github.com/tokio-rs/axum) | dependencies | minor | `0.4` -> `0.5` | --- ### Release Notes <details> <summary>tokio-rs/axum</summary> ### [`v0.5.17`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.17) - **fixed:** Annotate panicking functions with `#[track_caller]` so the error message points to where the user added the invalid router, rather than somewhere internally in axum ([#&#8203;1248]) - **fixed:** Make `Multipart` extractor work with `RequestBodyLimit` middleware ([#&#8203;1379]) - **added:** Add `DefaultBodyLimit::max` for changing the default body limit ([#&#8203;1397]) - **added:** Various documentation improvements [#&#8203;1248]: https://github.com/tokio-rs/axum/pull/1248 [#&#8203;1379]: https://github.com/tokio-rs/axum/pull/1379 [#&#8203;1397]: https://github.com/tokio-rs/axum/pull/1397 ### [`v0.5.16`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.16) #### Security - **breaking:** Added default limit to how much data `Bytes::from_request` will consume. Previously it would attempt to consume the entire request body without checking its length. This meant if a malicious peer sent an large (or infinite) request body your server might run out of memory and crash. The default limit is at 2 MB and can be disabled by adding the new `DefaultBodyLimit::disable()` middleware. See its documentation for more details. This also applies to these extractors which used `Bytes::from_request` internally: - `Form` - `Json` - `String` Thanks to Shachar Menashe for reporting this vulnerability. ([#&#8203;1346]) [#&#8203;1346]: https://github.com/tokio-rs/axum/pull/1346 ### [`v0.5.15`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.15) Note: This is a re-release of 0.5.14 that fixes an accidental breaking change. - **fixed:** Don't expose internal type names in `QueryRejection` response. ([#&#8203;1171]) - **fixed:** Improve performance of JSON serialization ([#&#8203;1178]) - **fixed:** Improve build times by generating less IR ([#&#8203;1192]) [#&#8203;1171]: https://github.com/tokio-rs/axum/pull/1171 [#&#8203;1178]: https://github.com/tokio-rs/axum/pull/1178 [#&#8203;1192]: https://github.com/tokio-rs/axum/pull/1192 ### [`v0.5.14`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.14) Yanked, as it contained an accidental breaking change. ### [`v0.5.13`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.13) - **fixed:** If `WebSocketUpgrade` cannot upgrade the connection it will return a `WebSocketUpgradeRejection::ConnectionNotUpgradable` rejection ([#&#8203;1135]) - **changed:** `WebSocketUpgradeRejection` has a new variant `ConnectionNotUpgradable` variant ([#&#8203;1135]) [#&#8203;1135]: https://github.com/tokio-rs/axum/pull/1135 ### [`v0.5.12`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.12) - **added:** Added `debug_handler` which is an attribute macro that improves type errors when applied to handler function. It is re-exported from `axum-macros` ([#&#8203;1144]) [#&#8203;1144]: https://github.com/tokio-rs/axum/pull/1144 ### [`v0.5.11`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.11) - **added:** Implement `TryFrom<http:: Method>` for `MethodFilter` and use new `NoMatchingMethodFilter` error in case of failure ([#&#8203;1130]) - **added:** Document how to run extractors from middleware ([#&#8203;1140]) [#&#8203;1130]: https://github.com/tokio-rs/axum/pull/1130 [#&#8203;1140]: https://github.com/tokio-rs/axum/pull/1140 ### [`v0.5.10`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.10) - **fixed:** Make `Router` cheaper to clone ([#&#8203;1123]) - **fixed:** Fix possible panic when doing trailing slash redirect ([#&#8203;1124]) [#&#8203;1123]: https://github.com/tokio-rs/axum/pull/1123 [#&#8203;1124]: https://github.com/tokio-rs/axum/pull/1124 ### [`v0.5.9`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.9) - **fixed:** Fix compile error when the `headers` is enabled and the `form` feature is disabled ([#&#8203;1107]) [#&#8203;1107]: https://github.com/tokio-rs/axum/pull/1107 ### [`v0.5.8`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.8) - **added:** Support resolving host name via `Forwarded` header in `Host` extractor ([#&#8203;1078]) - **added:** Implement `IntoResponse` for `Form` ([#&#8203;1095]) - **change:** axum's MSRV is now 1.56 ([#&#8203;1098]) [#&#8203;1078]: https://github.com/tokio-rs/axum/pull/1078 [#&#8203;1095]: https://github.com/tokio-rs/axum/pull/1095 [#&#8203;1098]: https://github.com/tokio-rs/axum/pull/1098 ### [`v0.5.7`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.7) - **added:** Implement `Default` for `Extension` ([#&#8203;1043]) - **fixed:** Support deserializing `Vec<(String, String)>` in `extract::Path<_>` to get vector of key/value pairs ([#&#8203;1059]) - **added:** Add `extract::ws::close_code` which contains constants for close codes ([#&#8203;1067]) - **fixed:** Use `impl IntoResponse` less in docs ([#&#8203;1049]) [#&#8203;1043]: https://github.com/tokio-rs/axum/pull/1043 [#&#8203;1049]: https://github.com/tokio-rs/axum/pull/1049 [#&#8203;1059]: https://github.com/tokio-rs/axum/pull/1059 [#&#8203;1067]: https://github.com/tokio-rs/axum/pull/1067 ### [`v0.5.6`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.6) - **added:** Add `WebSocket::protocol` to return the selected WebSocket subprotocol, if there is one. ([#&#8203;1022]) - **fixed:** Improve error message for `PathRejection::WrongNumberOfParameters` to hint at using `Path<(String, String)>` or `Path<SomeStruct>` ([#&#8203;1023]) - **fixed:** `PathRejection::WrongNumberOfParameters` now uses `500 Internal Server Error` since it's a programmer error and not a client error ([#&#8203;1023]) - **fixed:** Fix `InvalidFormContentType` mentioning the wrong content type [#&#8203;1022]: https://github.com/tokio-rs/axum/pull/1022 [#&#8203;1023]: https://github.com/tokio-rs/axum/pull/1023 ### [`v0.5.5`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.5) - **fixed:** Correctly handle `GET`, `HEAD`, and `OPTIONS` requests in `ContentLengthLimit`. Request with these methods are now accepted if they *do not* have a `Content-Length` header, and the request body will not be checked. If they do have a `Content-Length` header they'll be rejected. This allows `ContentLengthLimit` to be used as middleware around several routes, including `GET` routes ([#&#8203;989]) - **added:** Add `MethodRouter::{into_make_service, into_make_service_with_connect_info}` ([#&#8203;1010]) [#&#8203;989]: https://github.com/tokio-rs/axum/pull/989 [#&#8203;1010]: https://github.com/tokio-rs/axum/pull/1010 ### [`v0.5.4`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.4) - **added:** Add `response::ErrorResponse` and `response::Result` for `IntoResponse`-based error handling ([#&#8203;921]) - **added:** Add `middleware::from_extractor` and deprecate `extract::extractor_middleware` ([#&#8203;957]) - **changed:** Update to tower-http 0.3 ([#&#8203;965]) [#&#8203;921]: https://github.com/tokio-rs/axum/pull/921 [#&#8203;957]: https://github.com/tokio-rs/axum/pull/957 [#&#8203;965]: https://github.com/tokio-rs/axum/pull/965 ### [`v0.5.3`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.3) - **added:** Add `AppendHeaders` for appending headers to a response rather than overriding them ([#&#8203;927]) - **added:** Add `axum::extract::multipart::Field::chunk` method for streaming a single chunk from the field ([#&#8203;901]) - **fixed:** Fix trailing slash redirection with query parameters ([#&#8203;936]) [#&#8203;901]: https://github.com/tokio-rs/axum/pull/901 [#&#8203;927]: https://github.com/tokio-rs/axum/pull/927 [#&#8203;936]: https://github.com/tokio-rs/axum/pull/936 ### [`v0.5.2`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.2) Yanked, as it contained an accidental breaking change. ### [`v0.5.1`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.1) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.5.0...axum-v0.5.1) - **added:** Add `RequestParts::extract` which allows applying an extractor as a method call (\[[#&#8203;897](https://github.com/tokio-rs/axum/issues/897)) [#&#8203;897]: https://github.com/tokio-rs/axum/pull/897 ### [`v0.5.0`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.5.0) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.8...axum-v0.5.0) - **added:** Document sharing state between handler and middleware ([#&#8203;783]) - **added:** `Extension<_>` can now be used in tuples for building responses, and will set an extension on the response ([#&#8203;797]) - **added:** `extract::Host` for extracting the hostname of a request ([#&#8203;827]) - **added:** Add `IntoResponseParts` trait which allows defining custom response types for adding headers or extensions to responses ([#&#8203;797]) - **added:** `TypedHeader` implements the new `IntoResponseParts` trait so they can be returned from handlers as parts of a response ([#&#8203;797]) - **changed:** `Router::merge` now accepts `Into<Router>` ([#&#8203;819]) - **breaking:** `sse::Event` now accepts types implementing `AsRef<str>` instead of `Into<String>` as field values. - **breaking:** `sse::Event` now panics if a setter method is called twice instead of silently overwriting old values. - **breaking:** Require `Output = ()` on `WebSocketStream::on_upgrade` ([#&#8203;644]) - **breaking:** Make `TypedHeaderRejectionReason` `#[non_exhaustive]` ([#&#8203;665]) - **breaking:** Using `HeaderMap` as an extractor will no longer remove the headers and thus they'll still be accessible to other extractors, such as `axum::extract::Json`. Instead `HeaderMap` will clone the headers. You should prefer to use `TypedHeader` to extract only the headers you need ([#&#8203;698]) This includes these breaking changes: - `RequestParts::take_headers` has been removed. - `RequestParts::headers` returns `&HeaderMap`. - `RequestParts::headers_mut` returns `&mut HeaderMap`. - `HeadersAlreadyExtracted` has been removed. - The `HeadersAlreadyExtracted` variant has been removed from these rejections: - `RequestAlreadyExtracted` - `RequestPartsAlreadyExtracted` - `JsonRejection` - `FormRejection` - `ContentLengthLimitRejection` - `WebSocketUpgradeRejection` - `<HeaderMap as FromRequest<_>>::Rejection` has been changed to `std::convert::Infallible`. - **breaking:** `axum::http::Extensions` is no longer an extractor (ie it doesn't implement `FromRequest`). The `axum::extract::Extension` extractor is *not* impacted by this and works the same. This change makes it harder to accidentally remove all extensions which would result in confusing errors elsewhere ([#&#8203;699]) This includes these breaking changes: - `RequestParts::take_extensions` has been removed. - `RequestParts::extensions` returns `&Extensions`. - `RequestParts::extensions_mut` returns `&mut Extensions`. - `RequestAlreadyExtracted` has been removed. - `<Request as FromRequest>::Rejection` is now `BodyAlreadyExtracted`. - `<http::request::Parts as FromRequest>::Rejection` is now `Infallible`. - `ExtensionsAlreadyExtracted` has been removed. - The `ExtensionsAlreadyExtracted` removed variant has been removed from these rejections: - `ExtensionRejection` - `PathRejection` - `MatchedPathRejection` - `WebSocketUpgradeRejection` - **breaking:** `Redirect::found` has been removed ([#&#8203;800]) - **breaking:** `AddExtensionLayer` has been removed. Use `Extension` instead. It now implements `tower::Layer` ([#&#8203;807]) - **breaking:** `AddExtension` has been moved from the root module to `middleware` - **breaking:** `.nest("/foo/", Router::new().route("/bar", _))` now does the right thing and results in a route at `/foo/bar` instead of `/foo//bar` ([#&#8203;824]) - **breaking:** Routes are now required to start with `/`. Previously routes such as `:foo` would be accepted but most likely result in bugs ([#&#8203;823]) - **breaking:** `Headers` has been removed. Arrays of tuples directly implement `IntoResponseParts` so `([("x-foo", "foo")], response)` now works ([#&#8203;797]) - **breaking:** `InvalidJsonBody` has been replaced with `JsonDataError` to clearly signal that the request body was syntactically valid JSON but couldn't be deserialized into the target type - **breaking:** `Handler` is no longer an `#[async_trait]` but instead has an associated `Future` type. That allows users to build their own `Handler` types without paying the cost of `#[async_trait]` ([#&#8203;879]) - **changed:** New `JsonSyntaxError` variant added to `JsonRejection`. This is returned when the request body contains syntactically invalid JSON - **fixed:** Correctly set the `Content-Length` header for response to `HEAD` requests ([#&#8203;734]) - **fixed:** Fix wrong `content-length` for `HEAD` requests to endpoints that returns chunked responses ([#&#8203;755]) - **fixed:** Fixed several routing bugs related to nested "opaque" tower services (i.e. non-`Router` services) ([#&#8203;841] and [#&#8203;842]) - **changed:** Update to tokio-tungstenite 0.17 ([#&#8203;791]) - **breaking:** `Redirect::{to, temporary, permanent}` now accept `&str` instead of `Uri` ([#&#8203;889]) - **breaking:** Remove second type parameter from `Router::into_make_service_with_connect_info` and `Handler::into_make_service_with_connect_info` to support `MakeService`s that accept multiple targets ([#&#8203;892]) [#&#8203;644]: https://github.com/tokio-rs/axum/pull/644 [#&#8203;665]: https://github.com/tokio-rs/axum/pull/665 [#&#8203;698]: https://github.com/tokio-rs/axum/pull/698 [#&#8203;699]: https://github.com/tokio-rs/axum/pull/699 [#&#8203;734]: https://github.com/tokio-rs/axum/pull/734 [#&#8203;755]: https://github.com/tokio-rs/axum/pull/755 [#&#8203;783]: https://github.com/tokio-rs/axum/pull/783 [#&#8203;791]: https://github.com/tokio-rs/axum/pull/791 [#&#8203;797]: https://github.com/tokio-rs/axum/pull/797 [#&#8203;800]: https://github.com/tokio-rs/axum/pull/800 [#&#8203;807]: https://github.com/tokio-rs/axum/pull/807 [#&#8203;819]: https://github.com/tokio-rs/axum/pull/819 [#&#8203;823]: https://github.com/tokio-rs/axum/pull/823 [#&#8203;824]: https://github.com/tokio-rs/axum/pull/824 [#&#8203;827]: https://github.com/tokio-rs/axum/pull/827 [#&#8203;841]: https://github.com/tokio-rs/axum/pull/841 [#&#8203;842]: https://github.com/tokio-rs/axum/pull/842 [#&#8203;879]: https://github.com/tokio-rs/axum/pull/879 [#&#8203;889]: https://github.com/tokio-rs/axum/pull/889 [#&#8203;892]: https://github.com/tokio-rs/axum/pull/892 ### [`v0.4.8`](https://github.com/tokio-rs/axum/compare/axum-v0.4.7...axum-v0.4.8) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.7...axum-v0.4.8) ### [`v0.4.7`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.4.7) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.6...axum-v0.4.7) - **added:** Implement `tower::Layer` for `Extension` ([#&#8203;801]) - **changed:** Deprecate `AddExtensionLayer`. Use `Extension` instead ([#&#8203;805]) [#&#8203;801]: https://github.com/tokio-rs/axum/pull/801 [#&#8203;805]: https://github.com/tokio-rs/axum/pull/805 ### [`v0.4.6`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.4.6) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.5...axum-v0.4.6) - **added:** `middleware::from_fn` for creating middleware from async functions. This previously lived in axum-extra but has been moved to axum ([#&#8203;719]) - **fixed:** Set `Allow` header when responding with `405 Method Not Allowed` ([#&#8203;733]) [#&#8203;719]: https://github.com/tokio-rs/axum/pull/719 [#&#8203;733]: https://github.com/tokio-rs/axum/pull/733 ### [`v0.4.5`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.4.5) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.4...axum-v0.4.5) - Reference [axum-macros] instead of [axum-debug]. The latter has been superseded by axum-macros and is deprecated ([#&#8203;738]) [#&#8203;738]: https://github.com/tokio-rs/axum/pull/738 [axum-debug]: https://docs.rs/axum-debug [axum-macros]: https://docs.rs/axum-macros ### [`v0.4.4`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.4.4) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.3...axum-v0.4.4) - **fixed:** Fix using incorrect path prefix when nesting `Router`s at `/` ([#&#8203;691]) - **fixed:** Make `nest("", service)` work and mean the same as `nest("/", service)` ([#&#8203;691]) - **fixed:** Replace response code `301` with `308` for trailing slash redirects. Also deprecates `Redirect::found` (`302`) in favor of `Redirect::temporary` (`307`) or `Redirect::to` (`303`). This is to prevent clients from changing non-`GET` requests to `GET` requests ([#&#8203;682]) [#&#8203;691]: https://github.com/tokio-rs/axum/pull/691 [#&#8203;682]: https://github.com/tokio-rs/axum/pull/682 ### [`v0.4.3`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.4.3) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.2...axum-v0.4.3) See the [CHANGELOG](https://github.com/tokio-rs/axum/blob/main/axum/CHANGELOG.md#&#8203;043-21-december-2021) for release notes. ### [`v0.4.2`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.4.2) [Compare Source](https://github.com/tokio-rs/axum/compare/axum-v0.4.1...axum-v0.4.2) See the [CHANGELOG](https://github.com/tokio-rs/axum/blob/main/axum/CHANGELOG.md#&#8203;042-06-december-2021) for release notes. ### [`v0.4.1`](https://github.com/tokio-rs/axum/releases/tag/axum-v0.4.1) [Compare Source](https://github.com/tokio-rs/axum/compare/v0.4.0...axum-v0.4.1) See the [CHANGELOG](https://github.com/tokio-rs/axum/blob/main/axum/CHANGELOG.md#&#8203;041-06-december-2021) for release notes. </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
kjuulh force-pushed renovate/axum-0.x from 24622c152a to 94ddc79f99 2022-10-26 17:04:31 +02:00 Compare
kjuulh force-pushed renovate/axum-0.x from 94ddc79f99 to 2ed2255653 2022-10-26 17:22:34 +02:00 Compare
kjuulh changed title from Update Rust crate axum to 0.5 to Update Rust crate axum to 0.5 - autoclosed 2022-10-26 19:53:22 +02:00
kjuulh closed this pull request 2022-10-26 19:53:22 +02:00
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kjuulh/prae#5
No description provided.