Skip to content

v0.5.0

Pre-release
Pre-release

Choose a tag to compare

@rocketman-code rocketman-code released this 05 Mar 06:10
· 456 commits to main since this release

CPU time profiling, instrument-everything default, panic-safe data capture, and project-local storage.

Added

  • CPU time profiling via --cpu-time flag (Linux + macOS, 64-bit)
  • Instrument all functions by default when no --fn/--file/--mod specified
  • Project-local run data: output written to target/piano/runs/ instead of global ~/.piano/runs/
  • Panic-safe data capture: profiling data is collected even when the instrumented program panics
  • Hidden-function footer in summary and frames reports

Fixed

  • Unparseable source files are skipped with a warning instead of aborting
  • Async functions skipped with a warning instead of silently producing wrong data
  • Cross-thread functions correctly merged into NDJSON report
  • Symlinks followed when staging project files for instrumentation
  • Bare stdout path suppressed in interactive terminals
  • --fn help text clarified with substring matching example including qualified names
  • Actionable error messages when project directory or src/ is missing

Changed

  • Default behavior: piano build instruments all functions when no targeting flags are given
  • Run data location: project-local target/piano/runs/