diff --git a/Cargo.lock b/Cargo.lock index d905b4b6..b5a2677f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -99,7 +99,7 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.8.8" +version = "0.8.9" dependencies = [ "anyhow", "axum-core", @@ -172,7 +172,7 @@ dependencies = [ [[package]] name = "axum-extra" -version = "0.12.5" +version = "0.12.6" dependencies = [ "axum", "axum-core", @@ -215,7 +215,7 @@ dependencies = [ [[package]] name = "axum-macros" -version = "0.5.0" +version = "0.5.1" dependencies = [ "axum", "axum-extra", diff --git a/axum-extra/CHANGELOG.md b/axum-extra/CHANGELOG.md index 9b09a65f..675304a9 100644 --- a/axum-extra/CHANGELOG.md +++ b/axum-extra/CHANGELOG.md @@ -7,11 +7,6 @@ and this project adheres to [Semantic Versioning]. # Unreleased -- **fixed:** Escape backslashes and double quotes in `Content-Disposition` filenames - to prevent header parameter injection in `Attachment` and `FileStream` ([#3664]) -- `vpath!` macro now stops the compilation if your path is using deprecated - path variables in the old `107` format, such as `:var` and `*var`. the - only allowed way now is `{var}`. - **breaking:** Remove the deprecated `Host`, `Scheme` and `OptionalPath` extractors ([#3599]) - Also remove `HostRejection` which only had `FailedToResolveHost` @@ -28,10 +23,22 @@ and this project adheres to [Semantic Versioning]. .route_with_tsr("/path", post(/* handler */)) ``` -[#3664]: https://github.com/tokio-rs/axum/pull/3664 [#3599]: https://github.com/tokio-rs/axum/pull/3599 [#3586]: https://github.com/tokio-rs/axum/pull/3586 +# 0.12.6 + +- **fixed:** Escape backslashes and double quotes in `Content-Disposition` filenames + to prevent header parameter injection in `Attachment` and `FileStream` ([#3664]) +- `vpath!` macro now stops the compilation if your path is using deprecated + path variables in the old `107` format, such as `:var` and `*var`. the + only allowed way now is `{var}`. ([#3618]) +- **fixed:** Return specific error message when multipart body limit is exceeded ([#3611]) + +[#3664]: https://github.com/tokio-rs/axum/pull/3664 +[#3618]: https://github.com/tokio-rs/axum/pull/3618 +[#3611]: https://github.com/tokio-rs/axum/pull/3611 + # 0.12.5 - **fixed:** `JsonLines` now correctly respects the default body limit ([#3591]) diff --git a/axum-extra/Cargo.toml b/axum-extra/Cargo.toml index 4e204d2f..936da035 100644 --- a/axum-extra/Cargo.toml +++ b/axum-extra/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT" name = "axum-extra" readme = "README.md" repository = "https://github.com/tokio-rs/axum" -version = "0.12.5" +version = "0.12.6" [package.metadata.docs.rs] all-features = true @@ -111,8 +111,8 @@ tower-layer = "0.3" tower-service = "0.3" # optional dependencies -axum = { path = "../axum", version = "0.8.8", default-features = false, optional = true } -axum-macros = { path = "../axum-macros", version = "0.5.0", optional = true } +axum = { path = "../axum", version = "0.8.9", default-features = false, optional = true } +axum-macros = { path = "../axum-macros", version = "0.5.1", optional = true } cookie = { package = "cookie", version = "0.18.0", features = ["percent-encode"], optional = true } fastrand = { version = "2.1.0", optional = true } form_urlencoded = { version = "1.1.0", optional = true } diff --git a/axum-macros/CHANGELOG.md b/axum-macros/CHANGELOG.md index 46ae0e9b..e60a5770 100644 --- a/axum-macros/CHANGELOG.md +++ b/axum-macros/CHANGELOG.md @@ -9,10 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **breaking:** `#[from_request(via(Extractor))]` now uses the extractor's rejection type instead of `axum::response::Response` ([#3261]) + +[#3261]: https://github.com/tokio-rs/axum/pull/3261 + +# 0.5.1 + - **fixed:** Fix compilation error when deriving `TypedPath` with `OptionalFromRequestParts` being in scope ([#3645]) -[#3261]: https://github.com/tokio-rs/axum/pull/3261 [#3645]: https://github.com/tokio-rs/axum/pull/3645 # 0.5.0 diff --git a/axum-macros/Cargo.toml b/axum-macros/Cargo.toml index dbbfcbe0..0d4cc731 100644 --- a/axum-macros/Cargo.toml +++ b/axum-macros/Cargo.toml @@ -9,7 +9,7 @@ license = "MIT" name = "axum-macros" readme = "README.md" repository = "https://github.com/tokio-rs/axum" -version = "0.5.0" # remember to also bump the version that axum and axum-extra depends on +version = "0.5.1" # remember to also bump the version that axum and axum-extra depends on [package.metadata.docs.rs] all-features = true diff --git a/axum/CHANGELOG.md b/axum/CHANGELOG.md index 95e5c848..c1c53eaf 100644 --- a/axum/CHANGELOG.md +++ b/axum/CHANGELOG.md @@ -16,11 +16,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 (because it was already never terminating if that method wasn't used) ([#3601]) - **added:** New `ListenerExt::limit_connections` allows limiting concurrent `axum::serve` connections ([#3489]) - **added:** `MethodRouter::method_filter` ([#3586]) -- **added:** `WebSocketUpgrade::{requested_protocols, set_selected_protocol}` for more - flexible subprotocol selection ([#3597]) - **changed:** `serve` has an additional generic argument and can now work with any response body type, not just `axum::body::Body` ([#3205]) -- **changed:** Update minimum rust version to 1.80 ([#3620]) - **changed:** `Redirect` constructors now accept any `impl Into` ([#3635]) [#3158]: https://github.com/tokio-rs/axum/pull/3158 @@ -30,8 +27,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#3601]: https://github.com/tokio-rs/axum/pull/3601 [#3489]: https://github.com/tokio-rs/axum/pull/3489 [#3586]: https://github.com/tokio-rs/axum/pull/3586 + +# 0.8.9 + +- **added:** `WebSocketUpgrade::{requested_protocols, set_selected_protocol}` for more + flexible subprotocol selection ([#3597]) +- **changed:** Update minimum rust version to 1.80 ([#3620]) +- **fixed:** Set connect endpoint on correct field in MethodRouter ([#3656]) +- **fixed:** Return specific error message when multipart body limit is exceeded ([#3611]) + [#3597]: https://github.com/tokio-rs/axum/pull/3597 [#3620]: https://github.com/tokio-rs/axum/pull/3620 +[#3656]: https://github.com/tokio-rs/axum/pull/3656 +[#3611]: https://github.com/tokio-rs/axum/pull/3611 # 0.8.8 diff --git a/axum/Cargo.toml b/axum/Cargo.toml index 0da92c39..059fe302 100644 --- a/axum/Cargo.toml +++ b/axum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axum" -version = "0.8.8" # remember to bump the version that axum-extra depends on +version = "0.8.9" # remember to bump the version that axum-extra depends on categories = ["asynchronous", "network-programming", "web-programming::http-server"] description = "HTTP routing and request handling library that focuses on ergonomics and modularity" edition = "2021" @@ -123,7 +123,7 @@ tower-layer = "0.3.2" tower-service = "0.3" # optional dependencies -axum-macros = { path = "../axum-macros", version = "0.5.0", optional = true } +axum-macros = { path = "../axum-macros", version = "0.5.1", optional = true } base64 = { version = "0.22.1", optional = true } form_urlencoded = { version = "1.1.0", optional = true } futures-sink = { version = "0.3", optional = true } diff --git a/examples/Cargo.lock b/examples/Cargo.lock index d46d6efe..b7292b74 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -258,7 +258,7 @@ dependencies = [ [[package]] name = "axum" -version = "0.8.8" +version = "0.8.9" dependencies = [ "axum-core", "axum-macros", @@ -313,7 +313,7 @@ dependencies = [ [[package]] name = "axum-extra" -version = "0.12.5" +version = "0.12.6" dependencies = [ "axum", "axum-core", @@ -333,7 +333,7 @@ dependencies = [ [[package]] name = "axum-macros" -version = "0.5.0" +version = "0.5.1" dependencies = [ "proc-macro2", "quote", diff --git a/examples/key-value-store/src/main.rs b/examples/key-value-store/src/main.rs index 490da742..bdb84cad 100644 --- a/examples/key-value-store/src/main.rs +++ b/examples/key-value-store/src/main.rs @@ -114,6 +114,7 @@ async fn list_keys(State(state): State) -> String { .join("\n") } +#[allow(deprecated)] fn admin_routes() -> Router { async fn delete_all_keys(State(state): State) { state.write().unwrap().db.clear();