Repository navigation
Releases: vladkens/macmon
Releases Β· vladkens/macmon
Release list
v0.10.0
Breaking Changes
- Added
cpu_tierstoSocInfoandMetricsandvmtoSocInfoin the Rust library, so code that builds these structs or matches them exhaustively needs updating; theecpu_*andpcpu_*fields are deprecated in favor ofcpu_tiers(#85, #100)
Features
- Added support for the three CPU tiers of M6 Macs, with per-tier CPU metrics in JSON (
cpu_tiers) and Prometheus (macmon_cpu_tier_*) (#85) - Added an info overlay (
i) with the working directory, open files and sockets of the selected process, grouped by type and filterable (#95, #97) - Added killing the selected process with
k, with Terminate and Force kill (#89) - Added revealing the selected process or file in Finder with
eand copying its path withc(#95, #98) - Added several terms to the process filter,
!to exclude matches, and a total row for each term (#86) - Added a sortable CPU time column (
TIME) to the process list (#104, #105) - Added a total power box with fan speed to the power row (#94, by @NicholasClooney)
- Added scrollbars to the process list, the info overlay and the help (#98, #104)
- Added support for running in a macOS virtual machine, where unavailable power and frequency readings are hidden; the
socJSON object gainsvm(#99, #100)
Fixes
- Fixed processes of the
nobodyuser missing from the process list (#104) - Fixed the base M5 Efficiency cores being labeled
Pinstead ofE(#85) - Fixed CPU core counts in
macmon debugon macOS 27 (#85)
Improvements
- Reduced the TUI's own CPU usage by about half with the process list shown (#103)
- Made key hints easier to read in both light and dark terminal themes (#92)
- Updated the Grafana dashboard to plot per-tier CPU metrics; it needs this version's exporter (#85)
Full Changelog: v0.9.0...v0.10.0
Dev build
v0.9.0
Features
- Restored power readings on supported Macs running macOS 27 without requiring sudo
- Redesigned the TUI and added a sortable, filterable process list with CPU, GPU, memory, and power usage
- Added
stress anefor Neural Engine load testing and included ANE workloads instress all - Added
stress all --pulse [SECONDS]to alternate all workloads between busy and idle periods - Added
find-clpcto diagnose CPU, GPU, and ANE power counters, with optional comparison against Apple'spowermetrics
Fixes
- Fixed CPU and GPU frequency detection on M6 Macs (#79, by @johntdavies)
Breaking Changes
- Changed
cpu_temp_avgandgpu_temp_avginTempMetricsfromf32toOption<f32>; unavailable temperatures now appear asnullin JSON instead of0.0. Unavailable temperature metrics are omitted from Prometheus output (#81, by @omar16100)
Full Changelog: v0.8.2...v0.9.0
v0.8.2
Fixes
- Fixed a regression that caused missing per-core CPU metrics on M3 Ultra systems (#55)
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Features
- Added selectable pulse, CPU, GPU, and combined stress modes with an interactive terminal progress indicator
- Added a TUI toggle between frequency-scaled and active-residency usage views
- Added an optional
appfeature so Rust library users can exclude CLI and TUI dependencies with--no-default-features
Fixes
- Fixed CPU usage ratios when hardware samples omit inactive cores
- Restored v0.7 JSON and Prometheus metric names as compatibility aliases
- Fixed server startup output to report the actual bound address
Full Changelog: v0.8.0...v0.8.1
v0.8.0
Breaking Changes
- Narrowed the public Rust library API to hardware sampling types;
App,Config,ViewType, andzero_divare no longer exported
Features
- Added a toggleable detailed per-core CPU view and exposed per-core CPU metrics (by @it7760)
- Added named aggregate frequency and effective-usage metrics, plus CPU and GPU active residency ratios (#61)
- Added fan speed and fan name metrics to JSON and Prometheus output (#64, by @chodorenko)
- Added a
--hostoption for the metrics server and its launchd service (by @claytono) - Added a
stresscommand with cyclic CPU and full CPU/GPU load modes
Fixes
- Fixed RAM and swap gauge labels becoming unreadable at higher usage
- Fixed the TUI showing an empty swap section when swap is unavailable
- Fixed Prometheus chip labels containing special characters
Improvements
- Improved
Sampler::get_metricsto collect complete caller-scheduled intervals with faster startup (#60, by @homm) - Sped up hardware detection
Full Changelog: v0.7.2...v0.8.0
v0.7.2
Fixes
- Fixed sparkline chart rendering gaps in Apple Terminal
- Fixed frequency scale on MacBook Neo (#57)
Full Changelog: v0.7.1...v0.7.2
v0.7.1
Fixes
- Fixed CPU usage always showing 0% on Ultra chips (M1/M2/M3 Ultra) (#55)
- Fixed GPU temperature sometimes reporting bogus values (#54, by @gtalusan)
- Fixed potential data race when sharing metrics between threads
- Fixed memory size showing 0GB on systems with 256GB or more RAM
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Features
- Added HTTP server mode with JSON and Prometheus metrics endpoints (#34, #53)
- Added launchd service install/uninstall commands for the HTTP server (#34)
- Added
cpu_usage_pctmetric (#28) - Added RAM usage percentage display in the label (#31)
- Exposed macmon as a library crate for programmatic use (#52, by @tasleson)
Fixes
- Fixed crash on Apple M5 Max due to renumbered voltage-states keys (by @swiftraccoon)
- Fixed processor count parsing and dynamic E/P/S core labels on M5 (by @swiftraccoon)
- Fixed bogus sensor temperature readings being included in averages (#50, by @gtalusan)
Docs
- Added Nix installation instructions (by @thibmaek)
Full Changelog: v0.6.1...v0.7.0
v0.6.1
Features
- Added SoC info output in pipe/JSON mode via
--soc-infoflag (by @aliasaria)
Full Changelog: v0.6.0...v0.6.1