Yunus
a2e64a8fc3
feat: add QUERY method routing ( #3801 )
2026-08-03 21:29:39 +02:00
tottoto
98884fb7be
examples: Update to askama 0.16 ( #3855 )
2026-08-03 19:32:15 +09:00
Minh Vu
a35916c63f
docs(axum-extra): fix CookieJar request header guidance ( #3847 )
2026-08-03 00:22:41 +09:00
tottoto
01ac7372e3
examples: Update to validator 0.21 ( #3854 )
2026-08-02 21:46:47 +09:00
tottoto
ed86b172dd
examples: Update to jsonwebtoken 11 ( #3853 )
2026-08-02 21:46:29 +09:00
Minh Vu
3f06eadb1d
fix(axum-extra): reject opaque Attachment filenames ( #3848 )
2026-07-28 08:39:28 +02:00
David Mládek
14e353d0bd
docs: remove redundant explicit links ( #3843 )
2026-07-24 13:46:07 +02:00
oab24413gmai and Mira Sato
8ef714c12b
axum: support RawForm extraction from HEAD query strings ( #3772 )
...
Co-authored-by: Mira Sato <[email protected] >
2026-07-23 22:12:25 +00:00
Minh Vu
502aa875b7
fix(axum-core): skip non-data frames in BytesMut ( #3811 )
2026-07-23 23:08:47 +02:00
Yann Simon
0704574455
update examples dep ( #3825 )
2026-07-20 21:33:05 +02:00
Zane Wang
b7e3788993
fix(axum): deduplicate methods in the Allow header after merging MethodRouters ( #3836 )
2026-07-16 11:16:22 +02:00
Shudhanshu Patel
98aea470f9
feat(macros): add compile-time validations to TypedPath macro ( #3797 )
2026-07-14 15:06:04 +02:00
Marek Novotný
b70b6ad90b
examples: remove stale ecosystem link from examples ( #3835 )
2026-07-14 10:52:39 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b859fc0aec
chore(deps): bump dtolnay/rust-toolchain from 3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 to fa04a1451ff1842e2626ccb99004d0195b455a88 ( #3820 )
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 09:29:51 +00:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
26a1c685e3
chore(deps): bump crate-ci/typos from 1.47.2 to 1.48.0 ( #3821 )
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 09:29:25 +00:00
Yann Simon
2149ec915b
fix err very large ( #3824 )
2026-07-07 11:22:26 +02:00
Yann Simon
bcd08593d8
fix RUSTSEC-2026-0190 ( #3822 )
2026-07-07 10:54:38 +02:00
Yann Simon
b5addd5980
remove unused import ( #3823 )
2026-07-07 10:43:45 +02:00
Minh Vu
b90b8e02d0
fix(axum-extra): escape multipart Content-Disposition params ( #3776 )
2026-06-29 11:26:47 +02:00
Michiel
600e762b30
axum-extra: prevent ?& in TypedPath query params ( #3805 )
2026-06-23 10:57:02 +02:00
Michiel
ef349f82c9
docs: fix link reference for pull request template ( #3806 )
2026-06-22 13:14:35 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
485c603ddd
chore(deps): bump release-plz/action from 0.5.129 to 0.5.130 ( #3798 )
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 09:12:36 +02:00
Mochammad Farros Fatchur Roji
5b52bcdcfa
Support affixed typed path captures ( #3782 )
2026-06-10 21:24:35 +02:00
Pete Hayes
42d6fdc80d
Exclude feature tokio/net for WASM builds ( #3784 )
2026-06-10 15:24:30 +02:00
Billard Philippe
e1f5f5eaa7
Error handling example not displaying the correct behavior ( #3788 )
2026-06-08 20:55:03 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f042e6de6e
chore(deps): bump taiki-e/cache-cargo-install-action from 2 to 3 ( #3790 )
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-08 20:53:58 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7235c91d85
chore(deps): bump crate-ci/typos from 1.29.4 to 1.47.2 ( #3789 )
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-08 20:53:14 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c0044d6123
chore(deps): bump release-plz/action from 0.5.128 to 0.5.129 ( #3791 )
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-08 20:52:28 +02:00
Yann Simon
df2b4a0830
keep github actions updated ( #3785 )
2026-06-08 20:36:26 +02:00
Tim Vilgot Mikael Fredenberg
ffe32473cc
document ws cancellation & delegation ( #3786 )
2026-06-05 09:21:16 +02:00
Justin and JustinCMR
4a72e063b9
examples: remove redundant borrows in form example format args ( #3781 )
...
Co-authored-by: JustinCMR <[email protected] >
2026-05-27 09:09:38 +02:00
tottoto
b99e25d01f
examples: Update to sqlx 0.9 ( #3539 )
2026-05-22 09:21:54 +02:00
Hugo Ma and Hugo Ma
7eee934487
fix(examples): add missing sink feature for futures-channel in example-testing-websockets ( #3773 )
...
Co-authored-by: Hugo Ma <[email protected] >
2026-05-18 17:33:17 +02:00
David Pedersen
d97edd2eb3
chore: write changelogs manually ( #3764 )
2026-05-18 10:38:29 +02:00
吴杨帆 and Cursor
c21fcae087
docs(axum): document that path must start with / in Router::route ( #3771 )
...
Co-authored-by: Cursor <[email protected] >
2026-05-17 10:51:06 +02:00
吴杨帆 and Cursor
16313be447
docs(axum-extra): clarify cookie-key-expansion for Key::derive_from ( fixes #2646 ) ( #3769 )
...
Co-authored-by: Cursor <[email protected] >
2026-05-17 10:41:49 +02:00
patelshudhanshu1999-maker
6ed9210351
fix(axum-macros): use OptionalFromRequest for Option<T> fields ( #3760 )
2026-05-16 23:33:44 +02:00
Zelys and Claude Sonnet 4.6
a480d71f6d
examples: fix using_serve_dir_with_assets_fallback to not expose assets at root ( #3762 )
...
Co-authored-by: Claude Sonnet 4.6 <[email protected] >
2026-05-16 22:54:23 +02:00
tottoto
7a37cdd00a
examples: Update to diesel-async 0.9 ( #3759 )
2026-05-15 16:14:10 +02:00
David Pedersen
5bc0046084
chore: fix typos ( #3758 )
2026-05-15 12:32:46 +00:00
David Pedersen
c8276951b0
feat: Add RawPathParams::from_request_extensions ( #3757 )
2026-05-15 12:46:49 +02:00
Lorenz Leutgeb
c2612e2839
feat: Introduce Bodies of Unknown Size
2026-05-15 10:13:47 +02:00
David Pedersen
c853e44ffc
chore: use a more recent nightly for axum-macros tests
2026-05-05 15:16:24 +02:00
Yann Simon
9b203a8912
integrate release-plz ( #3739 )
2026-05-05 13:16:39 +02:00
David Pedersen
986abe8df6
refactor: remove duplication between IntoResponse and IntoResponseParts for Redirect ( #3743 )
2026-05-02 19:19:13 +02:00
shonya3
5f679ce0fb
chore: Remove ECOSYSTEM.md mentions from README.md ( #3744 )
2026-05-02 18:41:49 +02:00
Dihan Nahdi
b0123f7051
feat: impl IntoResponseParts for Redirect ( #3721 )
2026-05-02 17:46:22 +02:00
Dihan Nahdi
bff1764b70
test: add serve module integration tests ( #3724 )
2026-05-02 15:34:42 +00:00
David Pedersen
9f4d52e310
remove ECOSYSTEM.md ( #3737 )
2026-04-27 15:09:02 +00:00
Julián Montes de Oca
de9f13d809
Add Serve::with_executor and Executor trait for custom task spawning ( #3704 )
...
## Motivation
axum::serve hardcodes TokioExecutor for spawning connection tasks and hyper's internal HTTP/2 tasks. This is the one thing that cannot be customized by wrapping axum's API from the outside, users are forced to reimplement the entire serve loop (~150 lines) just to swap the executor.
This is needed for use cases like runtime telemetry (e.g. dial9-tokio-telemetry) where we want to wrap task spawning, so that we can capture things like wake events.
The goal of this feature is to allow hooking into the current tokio spawns (by being able to set an executor that provides them, rather than hardcoding them) to attach instrumentation. The goal is not the make serve fully runtime agnostic.
## Solution
This PR adds Serve::with_executor() and WithGracefulShutdown::with_executor() builder methods that take an Executor, and an axum::serve::Executor trait for defining the Executor interface.
The default remains a new TokioExecutor (that spawns tokio spawns just like before), so we maintain backward compatibility.
Small design note: this defines a new axum::serve::Executor trait rather than reuse of hyper::rt::Executor<Fut> directly, because the latter is generic at the trait level and I couldn't find a way to bound E to cover all the internal future types hyper needs. So this new trait uses a generic method instead, and then a HyperExecutor<E> adapter bridges to hyper.
2026-04-20 14:49:30 +02:00