Skip to content

Commit

Permalink
Release axum v0.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jplatte committed Jan 1, 2025
1 parent c8259dc commit efd80c3
Show file tree
Hide file tree
Showing 9 changed files with 169 additions and 80 deletions.
132 changes: 66 additions & 66 deletions Cargo.lock

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions axum-core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

# 0.5.0

## since rc.1

<details>

- **change:** The `Display` impl of all rejections generated by the
`define_rejection!()` will now include the `Display` output of the
inner error too. This matches the `body_text()` fn output now. ([#3118])

</details>

## full changelog

- **breaking:** Replace `#[async_trait]` with [return-position `impl Trait` in traits][RPITIT] ([#2308])
- **breaking:**: `Option<T>` as an extractor now requires `T` to implement the
new trait `OptionalFromRequest` (if used as the last extractor) or
`OptionalFromRequestParts` (other extractors) ([#2475])
- **change:** Update minimum rust version to 1.75 ([#2943])
- **change:** The `Display` impl of all rejections generated by the
`define_rejection!()` will now include the `Display` output of the
inner error too. This matches the `body_text()` fn output now. ([#3118])
Expand Down
2 changes: 1 addition & 1 deletion axum-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ license = "MIT"
name = "axum-core"
readme = "README.md"
repository = "https://github.com/tokio-rs/axum"
version = "0.5.0-rc.1" # remember to bump the version that axum and axum-extra depend on
version = "0.5.0" # remember to bump the version that axum and axum-extra depend on

[features]
tracing = ["dep:tracing"]
Expand Down
26 changes: 24 additions & 2 deletions axum-extra/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,35 @@ and this project adheres to [Semantic Versioning].

# Unreleased

# 0.10.0

## since rc.1

<details>

- **breaking:** Remove `OptionalFromRequestParts` impl for `Query` ([#3088])
- **changed:** Query/Form: Use `serde_path_to_error` to report fields that failed to parse ([#3081])

[#3081]: https://github.com/tokio-rs/axum/pull/3081
[#3088]: https://github.com/tokio-rs/axum/pull/3088

# 0.10.0
</details>

## full changelog

- **breaking:** Update to prost 0.13. Used for the `Protobuf` extractor ([#2829])
- **changed:** Update minimum rust version to 1.75 ([#2943])
- **changed:** Deprecated `OptionalPath<T>` ([#2475])
- **changed:** Query/Form: Use `serde_path_to_error` to report fields that failed to parse ([#3081])
- **changed:** The `multipart` feature is no longer on by default ([#3058])
- **fixed:** `Host` extractor includes port number when parsing authority ([#2242])
- **added:** Add `RouterExt::typed_connect` ([#2961])
- **added:** Add `json!` for easy construction of JSON responses ([#2962])
- **added:** Add `InternalServerError` response for logging an internal error
and returning HTTP 500 in a convenient way. ([#3010])
- **added:** Add `FileStream` for easy construction of file stream responses ([#3047])
- **added:** Add `Scheme` extractor ([#2507])

[#3081]: https://github.com/tokio-rs/axum/pull/3081

## rc.1

Expand Down
8 changes: 4 additions & 4 deletions axum-extra/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ license = "MIT"
name = "axum-extra"
readme = "README.md"
repository = "https://github.com/tokio-rs/axum"
version = "0.10.0-rc.1"
version = "0.10.0"

[features]
default = ["tracing"]
Expand Down Expand Up @@ -42,8 +42,8 @@ typed-header = ["dep:headers"]
typed-routing = ["dep:axum-macros", "dep:percent-encoding", "dep:serde_html_form", "dep:form_urlencoded"]

[dependencies]
axum = { path = "../axum", version = "0.8.0-rc.1", default-features = false, features = ["original-uri"] }
axum-core = { path = "../axum-core", version = "0.5.0-rc.1" }
axum = { path = "../axum", version = "0.8.0", default-features = false, features = ["original-uri"] }
axum-core = { path = "../axum-core", version = "0.5.0" }
bytes = "1.1.0"
futures-util = { version = "0.3", default-features = false, features = ["alloc"] }
http = "1.0.0"
Expand All @@ -58,7 +58,7 @@ tower-service = "0.3"

# optional dependencies
async-stream = { version = "0.3", optional = true }
axum-macros = { path = "../axum-macros", version = "0.5.0-rc.1", optional = true }
axum-macros = { path = "../axum-macros", version = "0.5.0", 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 }
Expand Down
7 changes: 7 additions & 0 deletions axum-macros/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

# 0.5.0

*No changes since alpha.1*

## full changelog

- **breaking:** Update code generation for axum-core 0.5.0
- **change:** Update minimum rust version to 1.75 ([#2943])

## alpha.1

- **breaking:** Update code generation for axum-core 0.5.0-alpha.1
Expand Down
2 changes: 1 addition & 1 deletion axum-macros/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ license = "MIT"
name = "axum-macros"
readme = "README.md"
repository = "https://github.com/tokio-rs/axum"
version = "0.5.0-rc.1" # remember to also bump the version that axum and axum-extra depends on
version = "0.5.0" # remember to also bump the version that axum and axum-extra depends on

[features]
default = []
Expand Down
49 changes: 46 additions & 3 deletions axum/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

# Unreleased

# 0.8.0

## since rc.1

<details>

- **breaking:** `axum::extract::ws::Message` now uses `Bytes` in place of `Vec<u8>`,
and a new `Utf8Bytes` type in place of `String`, for its variants ([#3078])
- **breaking:** Remove `OptionalFromRequestParts` impl for `Query` ([#3088])
- **changed:** Upgraded `tokio-tungstenite` to 0.26 ([#3078])
- **changed:** Query/Form: Use `serde_path_to_error` to report fields that failed to parse ([#3081])

[#3078]: https://github.com/tokio-rs/axum/pull/3078
[#3081]: https://github.com/tokio-rs/axum/pull/3081
[#3088]: https://github.com/tokio-rs/axum/pull/3088

# 0.8.0
</details>

## full changelog

*Note: there are further relevant changes in [axum-core's changelog][core-changelog]*

- **breaking:** Upgrade matchit to 0.8, changing the path parameter syntax from `/:single` and `/*many`
to `/{single}` and `/{*many}`; the old syntax produces a panic to avoid silent change in behavior ([#2645])
- **breaking:** Require `Sync` for all handlers and services added to `Router`
and `MethodRouter` ([#2473])
- **breaking:** The tuple and tuple_struct `Path` extractor deserializers now check that the number of parameters matches the tuple length exactly ([#2931])
- **breaking:** Move `Host` extractor to `axum-extra` ([#2956])
- **breaking:** Remove `WebSocket::close`.
Users should explicitly send close messages themselves. ([#2974])
- **breaking:** Make `serve` generic over the listener and IO types ([#2941])
- **breaking:** Remove `Serve::tcp_nodelay` and `WithGracefulShutdown::tcp_nodelay`.
See `serve::ListenerExt` for an API that let you set arbitrary TCP stream properties. ([#2941])
- **breaking:** `Option<Path<T>>` no longer swallows all error conditions,
instead rejecting the request in many cases; see its documentation for details ([#2475])
- **breaking:** `axum::extract::ws::Message` now uses `Bytes` in place of `Vec<u8>`,
and a new `Utf8Bytes` type in place of `String`, for its variants ([#3078])
- **fixed:** Skip SSE incompatible chars of `serde_json::RawValue` in `Event::json_data` ([#2992])
- **fixed:** Don't panic when array type is used for path segment ([#3039])
- **fixed:** Avoid setting `content-length` before middleware.
This allows middleware to add bodies to requests without needing to manually set `content-length` ([#2897])
- **change:** Update minimum rust version to 1.75 ([#2943])
- **changed:** Upgraded `tokio-tungstenite` to 0.26 ([#3078])
- **changed:** Query/Form: Use `serde_path_to_error` to report fields that failed to parse ([#3081])
- **added:** Add `method_not_allowed_fallback` to set a fallback when a path matches but there is no handler for the given HTTP method ([#2903])
- **added:** Add `NoContent` as a self-described shortcut for `StatusCode::NO_CONTENT` ([#2978])
- **added:** Add support for WebSockets over HTTP/2.
They can be enabled by changing `get(ws_endpoint)` handlers to `any(ws_endpoint)` ([#2894])
- **added:** Add `MethodFilter::CONNECT`, `routing::connect[_service]`
and `MethodRouter::connect[_service]` ([#2961])
- **added:** Extend `FailedToDeserializePathParams::kind` enum with (`ErrorKind::DeserializeError`)
This new variant captures both `key`, `value`, and `message` from named path parameters parse errors,
instead of only deserialization error message in `ErrorKind::Message`. ([#2720])

[#3078]: https://github.com/tokio-rs/axum/pull/3078
[#3081]: https://github.com/tokio-rs/axum/pull/3081

## rc.1

Expand Down
6 changes: 3 additions & 3 deletions axum/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "axum"
version = "0.8.0-rc.1" # remember to bump the version that axum-extra and axum-macros depend on
version = "0.8.0" # remember to bump the version that axum-extra depends on
categories = ["asynchronous", "network-programming", "web-programming::http-server"]
description = "Web framework that focuses on ergonomics and modularity"
edition = "2021"
Expand Down Expand Up @@ -50,7 +50,7 @@ __private_docs = [
__private = ["tokio", "http1", "dep:reqwest"]

[dependencies]
axum-core = { path = "../axum-core", version = "0.5.0-rc.1" }
axum-core = { path = "../axum-core", version = "0.5.0" }
bytes = "1.0"
futures-util = { version = "0.3", default-features = false, features = ["alloc"] }
http = "1.0.0"
Expand All @@ -70,7 +70,7 @@ tower-layer = "0.3.2"
tower-service = "0.3"

# optional dependencies
axum-macros = { path = "../axum-macros", version = "0.5.0-rc.1", optional = true }
axum-macros = { path = "../axum-macros", version = "0.5.0", optional = true }
base64 = { version = "0.22.1", optional = true }
form_urlencoded = { version = "1.1.0", optional = true }
hyper = { version = "1.1.0", optional = true }
Expand Down

0 comments on commit efd80c3

Please sign in to comment.