Skip to content
Open

V0.8.9 #3699

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ff8710b
docs: Document that `vpath` and `json` macros are feature-gated (#3615)
matheus-consoli Jan 5, 2026
c32e004
Stop calling axum a 'framework' (#3616)
jplatte Jan 6, 2026
c9096fd
Add customizable WebSocket subprotocol selection (#3597)
Lethe10137 Jan 7, 2026
8281526
Rewrite sec-websocket-protocol handling (#3620)
jplatte Jan 10, 2026
0e96150
Fix `IntoResponse` for tuples overriding error response codes (#3603)
jplatte Jan 18, 2026
833cb40
Fix InternalServerError docs to match current behavior (#3640)
arferreira Jan 27, 2026
6e7b116
fix: empty_enum renamed to empty_enums (#3642)
canmi21 Feb 4, 2026
01ade81
fix: TypedPath conflicts with OptionalFromRequestParts (#3645)
azureqaq Feb 9, 2026
35a2963
fix: Set connect endpoint on correct field in MethodRouter (#3656)
sindrip Feb 13, 2026
ba321fa
fix: silence `clippy::implicit_clone` in `TypedPath` macro expansions…
AlexTMjugador Feb 17, 2026
df87dc8
fix(axum-extra): escape filename in Content-Disposition header (#3664)
4Mathleu Feb 17, 2026
26e5744
Address tower-http deprecated warning (#3672)
tottoto Feb 23, 2026
83cd0c6
Address tower-http deprecated warning
yanns Mar 25, 2026
47fef02
fix: Return specific error message when multipart body limit is excee…
AndreaBozzo Feb 26, 2026
5af9f23
Improve typed path by disallowing deprecated variable definitions (#3…
tcanabrava Mar 19, 2026
86de82a
Update to tokio-tungstenite 0.29 (#3689)
tottoto Mar 19, 2026
e955373
docs: consolidate state management docs in crate root (#3683)
kaze Mar 24, 2026
393fa84
update release notes
yanns Mar 25, 2026
8c6bd2d
axum-core 0.5.6
yanns Mar 25, 2026
2791ab6
axum 0.8.9
yanns Mar 25, 2026
fd407d1
axum-extra 0.12.6
yanns Mar 25, 2026
6046a30
axum-macros 0.5.1
yanns Mar 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CI

env:
CARGO_TERM_COLOR: always
MSRV: '1.78'
MSRV: '1.80'

on:
push:
Expand Down
85 changes: 57 additions & 28 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ exclude = [
resolver = "2"

[workspace.package]
rust-version = "1.78"
rust-version = "1.80"

[workspace.lints.rust]
unsafe_code = "forbid"
Expand All @@ -26,7 +26,7 @@ type_complexity = "allow"

await_holding_lock = "warn"
dbg_macro = "warn"
empty_enum = "warn"
empty_enums = "warn"
enum_glob_use = "warn"
exit = "warn"
filter_map_next = "warn"
Expand Down
4 changes: 2 additions & 2 deletions ECOSYSTEM.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ If your project isn't listed here and you would like it to be, please feel free
- [axum-template](https://github.com/Altair-Bueno/axum-template): Layers, extractors and template engine wrappers for axum based Web MVC applications
- [axum-template](https://github.com/janos-r/axum-template): GraphQL and REST API, SurrealDb, JWT auth, direct error handling, request logs
- [axum-guard-logic](https://github.com/sjud/axum_guard_logic): Use AND/OR logic to extract types and check their values against `Service` inputs.
- [axum-casbin-auth](https://github.com/casbin-rs/axum-casbin-auth): Casbin access control middleware for axum framework
- [axum-casbin-auth](https://github.com/casbin-rs/axum-casbin-auth): Casbin access control middleware for axum
- [aide](https://docs.rs/aide): Code-first Open API documentation generator with [axum integration](https://docs.rs/aide/latest/aide/axum/index.html).
- [axum-typed-routing](https://docs.rs/axum-typed-routing/latest/axum_typed_routing/): Statically typed routing macros with OpenAPI generation using aide.
- [axum-jsonschema](https://docs.rs/axum-jsonschema/): A `Json<T>` extractor that does JSON schema validation of requests.
Expand Down Expand Up @@ -106,7 +106,7 @@ If your project isn't listed here and you would like it to be, please feel free

- [Rust on Nails](https://rust-on-nails.com/): A full stack architecture for Rust web applications
- [axum-tutorial] ([website][axum-tutorial-website]): axum tutorial for beginners
- [demo-rust-axum]: Demo of Rust and axum web framework
- [demo-rust-axum]: Demo of Rust and axum
- [Introduction to axum (talk)]: Talk about axum from the Copenhagen Rust Meetup
- [Getting Started with Axum]: axum tutorial, GET, POST endpoints and serving files
- [Using Rust, Axum, PostgreSQL, and Tokio to build a Blog]
Expand Down
6 changes: 6 additions & 0 deletions axum-core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

# 0.5.6

- **fixed:** Fix IntoResponse for tuples overriding error response codes ([#3603])

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

# 0.5.5

Released without changes to fix docs.rs build.
Expand Down
5 changes: 3 additions & 2 deletions axum-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ description = "Core types and traits for axum"
edition = "2021"
rust-version = { workspace = true }
homepage = "https://github.com/tokio-rs/axum"
keywords = ["http", "web", "framework"]
keywords = ["http", "web", "routing"]
license = "MIT"
name = "axum-core"
readme = "README.md"
repository = "https://github.com/tokio-rs/axum"
version = "0.5.5" # remember to bump the version that axum and axum-extra depend on
version = "0.5.6" # remember to bump the version that axum and axum-extra depend on

[features]
tracing = ["dep:tracing"]
Expand Down Expand Up @@ -38,6 +38,7 @@ axum = { path = "../axum", features = ["__private"] }
axum-extra = { path = "../axum-extra", features = ["typed-header"] }
axum-macros = { path = "../axum-macros", features = ["__private"] }
hyper = "1.0.0"
serde = { version = "1.0.200", features = ["derive"] }
tokio = { version = "1.25.0", features = ["macros"] }
tower-http = { version = "0.6.0", features = ["limit"] }

Expand Down
3 changes: 2 additions & 1 deletion axum-core/src/extract/from_ref.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
/// Used to do reference-to-value conversions thus not consuming the input value.
///
/// This is mainly used with [`State`] to extract "substates" from a reference to main application
/// state.
/// state. See ["Sharing state with handlers"][sharing-state] for a worked example.
///
/// See [`State`] for more details on how library authors should use this trait.
///
/// This trait can be derived using `#[derive(FromRef)]`.
///
/// [`State`]: https://docs.rs/axum/0.8/axum/extract/struct.State.html
/// [sharing-state]: https://docs.rs/axum/0.8/axum/index.html#sharing-state-with-handlers
// NOTE: This trait is defined in axum-core, even though it is mainly used with `State` which is
// defined in axum. That allows crate authors to use it when implementing extractors.
pub trait FromRef<T> {
Expand Down
Loading
Loading