turbo
282407a4 - chore: Upgrade axum 0.7 to 0.8, deduplicate tower/tower-http (#12003)

Commit
92 days ago
chore: Upgrade axum 0.7 to 0.8, deduplicate tower/tower-http (#12003) ## Summary - Upgrade axum from 0.7.5 to 0.8.4 - Upgrade axum-server from 0.7.1 to 0.8.0 - Upgrade tower-http from 0.5.2 to 0.6 in turborepo-lib and turborepo-devtools ## Why The workspace was compiling duplicate versions of axum, axum-core, tower-http, and matchit because axum 0.7 was pinned while axum 0.8 was pulled in transitively by `tonic 0.14` and `async-graphql-axum 7.0.16`. This upgrade aligns all consumers to a single version. ### Duplicates eliminated - `axum` 0.7.5 (unified to 0.8.4) - `axum-core` 0.4.3 (unified to 0.5.2) - `tower-http` 0.5.2 (unified to 0.6.8) - `matchit` 0.7.0 (unified to 0.8.4) ### Measurements | Metric | Before | After | Delta | |--------|--------|-------|-------| | Crates compiled | 628 | 624 | -4 | | Wall clock (clean) | 57.31s | 57.23s | ~same | The wall-clock improvement is minimal since these crates are small and compile in parallel with larger ones. The primary value is reduced incremental rebuild surface, dependency consistency (no more axum 0.7/0.8 type incompatibilities), and fewer artifacts to cache. ### Code changes - **`turborepo-vercel-api-mock`**: Route path params changed from `/:hash` to `/{hash}` (axum 0.8 syntax) - **`turborepo-devtools`**: `Message::Text` now wraps `Utf8Bytes` instead of `String` (axum 0.8 WebSocket change) Note: `tower 0.4` remains in the lockfile via `tower-lsp` (used only by the LSP binary), which hasn't released a tower 0.5 compatible version.
Author
Parents
Loading