# Changelog

## Score

- CAI 46 → 23 (-23.0)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 95 → 100 (+5.1)
- Maturity 56 → 51 (-4.3)
- Readiness 43 → 20 (-22.7)
- Security 29 → 3 (-25.7)

## Resolved (19)

- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- FileTooLong: from_request/mod.rs (axum-macros/src/from_request/mod.rs)
- FileTooLong: routing/method_routing.rs (axum/src/routing/method_routing.rs)
- FileTooLong: src/debug_handler.rs (axum-macros/src/debug_handler.rs)
- Further orphaned files (smaller)
- Further sole-owners (lower concentration)
- Medium advisory (unsound): RUSTSEC-2026-0097 (Cargo.lock)
- Off-boarding risk: anonymized user #1
- PR-triggered workflow without a permissions block
- The Safety section states the crate uses `#![forbid(unsafe_code)]` to ensure everything is implemented in safe Rust, but there is no corresponding Safety note for the axum macros crate itself. (axum-macros/README.md)
- debug_handler::check_inputs_impls_from_request (cognitive 16) (axum-macros/src/debug_handler.rs)
- debug_handler::check_output_tuples (cognitive 18) (axum-macros/src/debug_handler.rs)
- debug_handler::self_receiver (cognitive 17) (axum-macros/src/debug_handler.rs)
- from_request::expand (cognitive 26) (axum-macros/src/from_request/mod.rs)
- from_request::extract_fields (cognitive 32) (axum-macros/src/from_request/mod.rs)
- from_request::extract_fields (cyclomatic 17) (axum-macros/src/from_request/mod.rs)
- from_request::impl_struct_by_extracting_all_at_once (cognitive 18) (axum-macros/src/from_request/mod.rs)
- from_request::parse_single_generic_type_on_struct (cognitive 17) (axum-macros/src/from_request/mod.rs)

## New (5)

- Dimension evaluation failed
- No automated tests
- No tests found
- Secret: private-key (examples/serve-with-hyper-rustls/self_signed_certs/key.pem)
- The 'Examples' subfolder README is a one-line entry ('This folder contains numerous examples...') and does not describe what the examples show. (examples/README.md)

## Changes since last survey

- 7 commits — 6 feature/other, 1 fixes

## By area

- axum/src — 3 commits
- .github/workflows — 2 commits
- axum-core/src — 1 commit
- examples/Cargo.lock — 1 commit

## Notable commits

- fix: axum-core: fix nested error downcast (#3858)
- change: axum: add docs describing how, why and when to use `&'static` state (#3838)
- change: axum: use `futures_util::future::select` instead of `tokio::select!` in serve (#3851)
- change: chore(deps): bump release-plz/action from 0.5.130 to 0.5.131 (#3840)
- change: chore(deps): bump taiki-e/cache-cargo-install-action from 3 to 3.0.7 (#3857)
- change: examples: Update to askama 0.16 (#3855)
- change: feat: add QUERY method routing (#3801)
