What's new
Every feature, fix, and improvement shipped in MacPulse — from day one to the latest release.
1.2.0
April 17, 2026
Latest
Added
- Insights History: New sidebar entry under Analytics showing every insight your Mac has produced, with 24h / 7d / 30d range, category, and severity filters. Insights were already persisted for 30 days — now you can actually browse them.
- Quick Actions on insights: Each insight detail popover has one-click buttons for the right follow-up — Open Activity Monitor, Storage Settings, Energy Settings, Disk Utility, Network Settings, Display Settings. No more digging through System Settings.
- Snooze: Right-click any insight on the Dashboard to hide it for 1 hour, 6 hours, or until tomorrow. Unlike Dismiss, the rule keeps running — it just stops showing until the timer is up.
- Per-rule enable/disable: Settings → Insights now includes a collapsible list of every rule with a toggle. Turn off the ones you don't care about; Reset to Defaults clears the disabled set too.
- Top Memory Consumers on Memory tab (Direct): The Memory detail view now lists the top 5 processes by resident memory, with columns for memory, percent of total RAM, and thread count. Updates every 10 seconds while the tab is visible.
- SMART disk health rule (Direct): Surfaces a warning the moment any drive's SMART status flips from Verified to Failing, with a one-click Disk Utility shortcut.
- Bluetooth reconnection churn rule (Direct): Detects devices that repeatedly connect and disconnect within an hour (5+ transitions = noteworthy, 10+ = warning) and names the worst-offending device — so you know which AirPod battery to check.
- Process-aware insight messages: Memory and CPU insights now name the actual apps using the most resources — "Top memory users right now: Chrome (3.2 GB), Xcode (1.1 GB)" instead of generic "close unused apps" text. Direct build only; MAS falls back to the generic message.
Changed / Fixed
- Dismissals persist across midnight. Previously, dismissing an insight near midnight could see it resurface at 12:01 AM because the dedup id contained the date. Dismissals now persist by rule id with a 24-hour TTL.
- Notification throttle: the same warning no longer fires a duplicate macOS notification every 5 minutes while the condition persists — 24 hours per (rule, severity).
- Hysteresis on CPU and Thermal rules. Metrics oscillating around the threshold no longer flip the warning on and off; rules now require a 3-sample consecutive streak in minute-level records before firing.
- Network anomaly baseline floor. The rule now requires a baseline above 100 KB/s before comparing today's throughput — at very low baselines, a single browsing spike would produce misleadingly huge ratios.
- Battery drain anomaly uses a median across per-interval rates instead of a global mean, so one short hot-GPU interval can't trigger a false alarm.
- Insight suggestions no longer look like fake links. Suggestion text is now muted italic (card) / primary (popover) rather than blue — the clickable elements are the new Quick Actions buttons, which are obviously interactive.
1.1.9
April 16, 2026
Fixed
- Insights readability: Long insight messages no longer appear truncated with no way to see the full text. Every insight row is now tappable and opens a popover with the full message, suggestion, and a new Details section explaining what was measured and likely causes. Text is selectable and a "Copy" button makes it easy to share with support.
- Fan insights: Fan anomaly rules now include concrete diagnostic details — sample counts, peak temperature, thresholds, and next steps (e.g. SMC reset instructions,
powermetricscross-check command).
1.1.8
April 16, 2026
Added
- Menu Bar Only Mode shortcut: New "hide dock" button in the menu bar popover and a Window menu command (⇧⌘M) to switch into menu-bar-only mode instantly — no more digging through Settings.
1.1.7
April 14, 2026
Added
- Network: Cumulative download/upload traffic counters in the detail view and per-interface rows (lifetime since boot).
- Auto-updates (direct build): Sparkle updates now install silently on next launch.
Fixed
- Insights: Recommended action text now wraps vertically instead of being cut off with an ellipsis.
- Menu bar popover: CPU/RAM/Disk mini gauges no longer show truncated percentages (e.g. "20....").
1.1.6
April 12, 2026
Fixed
- MAS in-app purchase: Fixed critical bug where the purchase button was permanently disabled for users whose trial had expired. An
async letcancellation issue preventedProduct.products(for:)from completing, leaving the price unloaded and the button non-functional.
1.1.4
April 6, 2026
Fixed
- Bug fixes
1.1.0
March 9, 2026
Smarter Insights Engine
- Completely overhauled Insights Engine with pluggable rule architecture
- 10 new insight rules: CPU user/system imbalance, recurring weekly patterns, fan speed anomalies, charging patterns, disk read I/O spikes, GPU memory pressure, GPU temperature warnings, daily network usage tracking, system overload detection, and heavy workload alerts
- Actionable suggestions on every insight — tells you what to do, not just what's wrong
- Category badges (Performance, Memory, Storage, Thermal, Power, Network, System) for at-a-glance grouping
- Configurable thresholds in Settings > Insights
- Insight history persisted to database with 30-day retention
- Warning-level insights pushed as system notifications (opt-in)
- Statistical anomaly detection using z-score analysis
- Cross-module compound insights detect system-wide overload
- Fanless Mac detection — no more false fan warnings on MacBook Air
Accessibility
- VoiceOver support across all charts, gauges, meters, cards, and interactive elements
- Accessibility labels, hints, and values throughout the app
Localization
- Language picker in Settings (English, Spanish, French, German, Japanese, Simplified Chinese)
- Localized UI strings throughout dashboard and menu bar
New Features
- TipKit integration with contextual tips for export, history, performance, fan control, and menu bar
- What's New sheet shown automatically after updates
- App Intents / Siri Shortcuts support
- Redesigned 5-page onboarding walkthrough
- Privacy manifest (PrivacyInfo.xcprivacy) for App Store compliance
UI Polish
- Native ContentUnavailableView for empty states
- Animated memory composition bar segments
- Smooth dashboard view transitions
- Show All toggle for insights with more than 5 items
1.0.9.9
March 8, 2026
Fixed
- Fix license wipe caused by UserDefaults key collision with macOS system keys (
com.apple.*keys) - Hardening data moved to dedicated
UserDefaults(suiteName:)to prevent collision - Legacy key migration validates format before migrating
- Improved license reliability and data integrity
- Fix flaky
testCPUTimeOfDayPeakDetectionby using dynamic peak hours
1.0.9.8
March 7, 2026
Fixed
- Tighten battery drain insight: require 2-hour baseline, cap ratio at 5x to avoid false positives
- Fix battery drain insight comparison logic
- Fixed-width network speed display in menu bar to prevent layout jumps
1.0.9.4
March 6, 2026
Fixed
- Fix FPS permission loop caused by
CGRequestScreenCaptureAccesstriggering infinite requests - Improved Screen Recording permission UX with clear permission-denied state
1.0.9
March 5, 2026
Changed
- Replace CVDisplayLink FPS counter with ScreenCaptureKit for accurate display frame rate measurement
- CVDisplayLink measured VSync rate (~122fps on 60Hz), not actual rendered frames
- New SCK-based counter reports real frame delivery (~47fps idle, ~60fps gaming)
- Labels changed to "Display FPS" for transparency
Added
- Memory chart and summary stats (Avg/Max Memory) added to performance session views
1.0.8
March 4, 2026
Fixed
- Fix P-core/E-core swap in per-core grid display
- Fix dashboard window activation when opening from menu bar
- Improve widget data reliability and refresh timing
- Fix FPS averaging calculation
- MAS branding: "System Insights" name for App Store (Apple rejected "MacPulse" under Guideline 5.2.5)
1.0.5
March 3, 2026
Fixed
- Fix dashboard window not activating when opened from menu bar popover
- Fix dock icon not persisting across launches
- Fix widget extension discovery (re-register with LaunchServices on build number change)
- Fix Time Machine hang during widget data writes
- Fix thermal sensor numbering in detail view
1.0.3
March 2, 2026
Fixed
- Fix CPU notification firing immediately on fresh installs due to 0% threshold default
1.0.2
March 1, 2026
Fixed
- Fix help URL pointing to correct feedback repository
- Fix thermal gauge missing degree symbol
- Add Fahrenheit temperature unit toggle in Settings
1.0.1
February 28, 2026
Added
- Privileged helper for SMC fan control (avoids requiring root for fan speed writes)
- Per-app resource breakdown in top processes
- Extended notification types: GPU sustained usage, GPU temperature, battery low charge, fan anomaly
- Top processes dashboard card showing CPU and memory leaders
Changed
- Build script updated for helper tool signing
1.0.0
February 25, 2026
Initial Release
MacPulse — Activity Monitor reimagined as a gorgeous, native SwiftUI dashboard with historical analytics and a menu bar companion.
Real-Time Monitoring
- CPU — Per-core usage with P-core/E-core differentiation (Apple Silicon), user/system breakdown, frequency monitoring via IOReport
- Memory — Usage breakdown (wired/compressed/cached/free), pressure level, swap monitoring
- Network — Per-interface throughput (download/upload), private and public IP display
- Disk — Volume usage, I/O rates (read/write), external disk detection with eject support
- Thermal — SMC temperature sensors (CPU/GPU/ambient), fan RPM and percentage, power sensor readings (Direct only)
- Battery — Charge percent, power source, time remaining, health, cycle count, temperature, Bluetooth device batteries (Direct only)
- GPU — Utilization via IOKit IOAccelerator, memory via Metal, device name, temperature
Analytics & Insights
- Historical trend charts with time range picker (1h / 24h / 7d / 30d)
- CSV data export for all modules
- Plain-English insights from rule-based InsightsEngine (23 rules covering all modules)
- Performance session recording with 1-second polling and live charts (Direct only)
Menu Bar Companion
- Configurable status bar: Icon Only, Text, Sparkline, or Text + Sparkline
- Compact popover with CPU/Memory/Disk gauges, network speed, thermal, GPU, battery rows
- Top 5 processes by CPU usage (Direct only)
- Per-module toggle to customize popover content
Fan Control (Direct only)
- Custom fan curves: Silent, Balanced, Performance, Full Speed, plus custom curve editor
- Thermal watchdog forces max fans if CPU exceeds 95°C
- Automatic fan reset on app quit
Settings
- Configurable poll interval, launch at login, text size scaling
- Per-type notification thresholds with cooldowns
- Temperature unit toggle (Celsius/Fahrenheit)
Architecture
- Native SwiftUI on macOS 14 Sonoma+, Universal Binary (Apple Silicon + Intel)
- SQLite persistence via GRDB.swift with WAL mode and automatic retention policy
- WidgetKit extension for home screen widgets
- Sparkle auto-updates for direct distribution
- 14-day trial with LemonSqueezy activation and Keychain-backed license storage