Repository navigation
v0.8.3
Release v0.8.3
Release Notes
Overview
This release adds macOS support, embeds the remote monitoring script directly into the binary for simpler installation, and includes significant internal refactoring of the display engine along with a comprehensive test suite.
Features
-
macOS support — Loadbars now runs natively on macOS. Localhost monitoring uses macOS-specific tools (
sysctl,vm_stat,netstat,iostat) while remote hosts continue to use the Linux/procfilesystem. The SDL window is automatically brought to the foreground on macOS. -
Self-contained binary — The remote monitoring scripts are now embedded into the binary at build time using Go's
//go:embed. There is no longer a separatescripts/loadbars-remote.shfile to install or locate — just copy the single binary and you're done.
Improvements
-
Simplified installation —
mage installnow copies the binary to~/go/bin(or$GOPATH/bin). The oldDESTDIR-based install/uninstall targets and theNOTICEfile dependency have been removed. -
Display engine refactored — The main rendering loop has been broken into smaller, testable functions (
handleEvents,handleKey,drawFrame,drawBars, etc.), improving maintainability without changing visible behaviour. -
New display test suite — Over 500 lines of headless tests (using
SDL_VIDEODRIVER=dummy) covering CPU bar drawing, memory bars, network bars, peak history, colour thresholds, event handling, and layout calculations. -
Stale pixel fix — Resolved an artifact where toggling bar layouts left stale pixels at the right edge of the window. The renderer now clears the full back buffer every frame, correctly handling SDL2 double-buffering and remainder pixels from integer division.
-
Minimum window width — The window now enforces an 800px minimum width to prevent unusably narrow layouts.
Breaking Changes
-
mage uninstall/mage deinstallremoved — If you previously installed viasudo mage installto/usr/bin, you will need to manually remove the old binary and/usr/share/loadbars/directory. -
Remote macOS hosts not supported — All remote hosts are assumed to be Linux. macOS-specific monitoring only applies to
localhostwhen running on macOS.
Known Limitations (macOS)
- Per-core CPU statistics are unavailable (macOS
iostatlimitation); only the aggregate CPU bar is shown. - Swap usage always reports 0 (macOS uses compressed memory rather than traditional swap).