v0.9.0
Pre-release
Pre-release
Piano is feature-complete. Every metric -- wall time, self time, CPU time, allocations -- is accurate across sync, threaded, and async execution models.
Added
- Async-aware allocation tracking: allocation data survives thread migrations in async programs, so
tokio::spawnandselect!no longer silently drop alloc counts (#226, PR #225)
Fixed
- Allocation data no longer silently lost when async tasks migrate threads
- Migrated async guards report real allocations instead of zeros
- Companion JSON merge validates run_id consistency, skipping mismatched files (#58)
- Child exit code propagated from
piano profile-- non-zero exits no longer swallowed (#93) extern "Rust" fninsidemacro_rules!templates now instrumented (#144)- Stale files removed from staging directory on rebuild
tempfilemoved to dev-dependencies, shrinking the dependency tree for users
Changed
- Staging directory uses a stable path (
target/piano/staging/) for incremental compilation instead of a fresh tempdir per build