Announcing axum 0.8.0

submited by
Style Pass
2025-01-01 18:30:03

Today, we're happy to announce axum version 0.8. axum is an ergonomic and modular web framework built with tokio, tower, and hyper.

There are many reasons for this change, but the most important one is that the old syntax was not allowing route definitions with leading : or * characters.

This new syntax was introduced with our upgrade to matchit 0.8. It should feel somewhat familiar from the format!() macro, and it's also the syntax that is being used in OpenAPI descriptions. Escaping is done with double braces, so if you want to match a literal { or } character, you can do so by writing {{ or }}.

We understand that this is a breaking change for basically all axum users, but we believe that it's better to make this change now than to have to do it later when even more users depend on the old syntax. The migration path should also be relatively straightforward, so we hope that this change won't cause too much trouble for you.

You can find more information and migration examples in the corresponding pull request. Thank you to David Mládek for the implementation in axum and to Ibraheem Ahmed for your continued work on matchit.

Leave a Comment