# axum release history: 0.8 and the unreleased queue

Source page: https://dev-news.anonyfox.com/axum/

How long each axum minor line has lasted since 0.5, every axum release since 2024 from crates.io, and what is waiting in the Unreleased section of the changelog on main.

## Where it stands (2026-10-24)

axum 0.8.9 went up on crates.io on 14 April 2026, and nothing has followed in the 193 days since. It added subprotocol selection to WebSocketUpgrade and raised the minimum Rust version to 1.80.

0.8 has been the current minor line for 22 months. 0.6 lasted 12 and 0.7 lasted 13. The Unreleased section of the changelog on main lists 22 changes, 5 of them breaking, and there is no 0.9 prerelease on crates.io. The next axum is written down, just not shipped.

## Latest stable releases

- [0.8.9](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.9) (2026-04-14): added: WebSocketUpgrade::{requestedprotocols, setselectedprotocol} for more flexible subprotocol selection
- [0.8.8](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.8) (2025-12-20): Clarify documentation for Router::routelayer
- [0.8.7](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.7) (2025-11-14): Relax implicit Send / Sync bounds on RouterAsService, RouterIntoService
- [0.8.6](https://crates.io/crates/axum/0.8.6) (2025-09-30)
- [0.8.5](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.5) (2025-09-28): fixed: Reject JSON request bodies with trailing characters after the JSON document
- [0.8.4](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.4) (2025-04-30): added: Router::resetfallback
- [0.8.3](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.3) (2025-03-28): added: Implement From<Bytes> for Message
- [0.8.2](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.2) (2025-01-21): added: Implement OptionalFromRequest for Json
- [0.8.1](https://crates.io/crates/axum/0.8.1) (2025-01-01)
- [0.8.0](https://github.com/tokio-rs/axum/releases/tag/axum-v0.8.0) (2025-01-01): breaking: axum::extract::ws::Message now uses Bytes in place of Vec<u8>,
- [0.7.9](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.9) (2024-11-16): fixed: Avoid setting content-length before middleware
- [0.7.8](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.8) (2024-11-15): fixed: Skip SSE incompatible chars of serdejson::RawValue in Event::jsondata
- [0.7.7](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.7) (2024-09-27): change: Remove manual tables of content from the documentation, since
- [0.7.6](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.6) (2024-09-20): change: Avoid cloning Arc during deserialization of Path
- [0.7.5](https://github.com/tokio-rs/axum/releases/tag/axum-v0.7.5) (2024-03-24): fixed: Fixed layers being cloned when calling axum::serve directly with

Releases since 2024: 16 stable, 2 prereleases. JSON: https://dev-news.anonyfox.com/axum.json. Feed: https://dev-news.anonyfox.com/axum/feed.xml
