Skip to content

v0.8.3

Choose a tag to compare

@snonux snonux released this 02 Mar 19:02
· 36 commits to master since this release

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 /proc filesystem. 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 separate scripts/loadbars-remote.sh file to install or locate — just copy the single binary and you're done.

Improvements

  • Simplified installation — mage install now copies the binary to ~/go/bin (or $GOPATH/bin). The old DESTDIR-based install/uninstall targets and the NOTICE file 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 deinstall removed — If you previously installed via sudo mage install to /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 localhost when running on macOS.

Known Limitations (macOS)

  • Per-core CPU statistics are unavailable (macOS iostat limitation); only the aggregate CPU bar is shown.
  • Swap usage always reports 0 (macOS uses compressed memory rather than traditional swap).