Skip to content

Releases: hakaru/MacSlowCooker

v1.0.3 — Auto-recovery after powermetrics crash

10 May 00:53

Choose a tag to compare

Bug fix

PowerMetricsRunner: permanent give-up after 3 crashes

When powermetrics crashed 3 times the runner stopped retrying forever. The HelperTool kept running under launchd (so no automatic restart occurred), but without a powermetrics child process GPU metrics were stuck until a manual kickstart.

Fix: instead of giving up, switch to a 60-second backoff after the third failure and keep retrying indefinitely — the same resilience model launchd itself uses. Additionally, a successful sample parse now resets the failure counter, so transient crashes across days no longer accumulate toward the give-up threshold.

Symptoms this fixes:

  • GPU% / temperature / power / fan stuck after leaving the Mac idle overnight
  • Required sudo launchctl kickstart -k system/com.macslowcooker.helper to restore metrics

Recovery without update: sudo launchctl kickstart -k system/com.macslowcooker.helper

v1.0.2 — HelperTool CPU busy-loop fix

07 May 14:19

Choose a tag to compare

Bug fix

HelperTool: CPU 100% busy-loop when powermetrics crashes (#31)

When powermetrics crashed 3 times and gave up, the closed pipe's file descriptor became permanently readable, causing `readabilityHandler` to fire in a tight loop indefinitely. This kept the HelperTool pegged at ~100% CPU and prevented GPU% from updating.

Fix: cancel the dispatch source immediately on EOF (`handle.readabilityHandler = nil`), and clear the previous pipe's handler at the start of each restart to prevent handler accumulation.

Symptoms this fixes:

  • HelperTool consuming ~100% CPU continuously
  • GPU% stuck at 0% despite actual GPU activity

Recovery without update: `sudo launchctl kickstart -k system/com.macslowcooker.helper`

v1.0.1 — Permalink fix

06 May 12:54

Choose a tag to compare

Fix: correct Gumroad product permalink (fzlfrw).

v1.0.0 — License Verification

06 May 12:44

Choose a tag to compare

What's New

  • License key input and verification in Preferences (Gumroad)
  • Keychain-backed storage (kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
  • License key field masked with SecureField
  • Prometheus exporter and PNG export (opt-in)