Skip to content

v1.0.0 — First stable release

Latest

Choose a tag to compare

@inequitas inequitas released this 19 Jul 19:46
  • Signed auto-updates — updates downloaded in-app are now cryptographically verified with an Ed25519 (Curve25519) signature before the archive is unpacked or its quarantine flag is cleared. Because this app has no Apple Developer ID and is not notarised, this signature check is what stands in for Gatekeeper's trust guarantee. Downloads are also restricted to trusted GitHub hosts (github.com, objects.githubusercontent.com).
    • Transition note: this is the first signed release — it ships both the verifying client and its own signature. Older installed clients (which predate this change) will still install this release without verifying, since their code has no verification step. From the release after this one, verification is effectively enforced everywhere: every client in the field verifies, and any update whose signature is missing or invalid is refused. Each release must upload both PerformanceApp.zip and PerformanceApp.zip.sig.
  • Beta update channel1.x.y-beta.N builds are published as GitHub pre-releases and are only offered to installs of the separate "Performance Monitor Beta" app (own bundle ID, own settings, badged icon). Stable installs can never be offered a beta; beta installs are offered newer betas and the next stable.
  • Big internal restructure — the monolithic metrics engine was split into a thin coordinator with per-domain samplers, a settings store, a history store, and pure parsing/formatting logic in a separate library covered by a test suite (88 tests, from zero).
  • Lower own footprint — process lists (ps/nettop) are only sampled while a window that shows them is actually visible (max every 3 s), and all IOKit/mach reads moved off the main thread. The app no longer spawns helper processes every second while idle in the menu bar.
  • First-run onboarding — a one-time welcome window explains the menu bar location, key features, the Bluetooth/notification permission prompts, and offers Start-at-login. Existing users don't see it.
  • Accessibility — VoiceOver label on the menu bar item with live values, chart summaries, and text alternatives for colour-only status (connection dots, temperature, battery).
  • Local crash reports — crashes are captured via Apple's MetricKit and written as JSON to ~/Library/Application Support/PerformanceApp/CrashReports/. Nothing is uploaded; everything stays on your Mac.
  • Apple Silicon only — the app is built and verified arm64-only (M1 or later, macOS 14+); requirements are now stated explicitly.