Skip to content

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 12 Apr 09:22

What's new in v0.3.2

Fixes

  • RUSTSEC-2025-0134: removed rustls-pemfile dependency (archived, unmaintained since August 2025). PEM parsing now uses rustls-pki-types::pem::PemObject which was already in the dependency tree via rustls. Zero new dependencies, one direct dependency removed.
  • SonarCloud code duplication: reduced duplicated code from 41 blocks (736 lines) to 29 blocks (444 lines, all in carbon_profiles.rs data tables). Five refactorings:
    • impl_energy_state! macro in energy_state.rs eliminates the identical ScaphandreState / CloudEnergyState wrapper impls
    • build_per_trace_finding() helper in detect/mod.rs eliminates the duplicated Finding struct literal between n_plus_one.rs and slow.rs
    • emit_report_and_gate() helper in main.rs eliminates the duplicated format/emit/gate logic between cmd_analyze and cmd_tempo
    • FetchError + fetch_get() in http_client.rs eliminates the duplicated HTTP fetch logic between scaphandre/scraper.rs and cloud_energy/scraper.rs
    • test_scrape_fixture() helper in scaphandre/tests.rs eliminates duplicated test setup
  • SonarCloud cognitive complexity: process_traces() refactored from 19 to under 15 by extracting record_slow_durations() and emit_findings_and_update_metrics()

Install

# Prebuilt binaries (Linux amd64/arm64, macOS arm64, Windows amd64)
curl -LO https://github.com/robintra/perf-sentinel/releases/download/v0.3.2/perf-sentinel-linux-amd64
chmod +x perf-sentinel-linux-amd64
sudo mv perf-sentinel-linux-amd64 /usr/local/bin/perf-sentinel
# From crates.io
cargo install perf-sentinel
# Docker
docker pull robintrassard/perf-sentinel:0.3.2

Also available on GHCR: ghcr.io/robintra/perf-sentinel:0.3.2

Verify the binary against SHA256SUMS.txt:

curl -LO https://github.com/robintra/perf-sentinel/releases/download/v0.3.2/SHA256SUMS.txt
sha256sum -c SHA256SUMS.txt --ignore-missing

Full diff: v0.3.1...v0.3.2