Skip to content

0.5.2

Choose a tag to compare

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

Release 0.5.2

Release Notes

Overview

This release delivers a major codebase restructuring — loadbars has been refactored from a single monolithic script into a clean, modular Perl library architecture. It also introduces Debian packaging support, a proper man page, and drops legacy FreeBSD support.

⚠️ Breaking Changes

  • FreeBSD support has been removed. Loadbars now targets Linux exclusively. Users running FreeBSD with linprocfs should remain on v0.5.1.
  • The --title option has been removed. If your configuration or scripts use this flag, please remove it before upgrading.

Architecture

  • Modular codebase: The monolithic loadbars script (~1,200 lines removed) has been split into well-defined modules under lib/Loadbars/: Main, Config, Constants, HelpDispatch, Shared, and Utils. This makes the code easier to maintain and extend.
  • Fonts directory: Font assets moved from the project root to a dedicated fonts/ directory.
  • Documentation reorganised: BUGS, WISHLIST, HELP, and usage docs moved into docs/, providing a cleaner project layout.

Features

  • Debian packaging: Loadbars can now be built as a .deb package, making installation on Debian/Ubuntu straightforward via dpkg. Includes a proper debian/ directory with control files, changelog, and copyright.
  • Man page: A loadbars(1) man page is now included (docs/loadbars.1), so users can run man loadbars after installation.
  • Makefile added: A standard Makefile simplifies building and installation.

Improvements

  • Faster, cleaner shutdown: The process now terminates instantly rather than hanging, with cleaner PID teardown — especially on Debian-based systems.
  • More resilient config handling: Loadbars no longer quits if it cannot overwrite ~/.loadbarsrc; it continues gracefully instead.
  • Error codes standardised: Internal error handling now uses named constants (SUCCESS, E_*) for clarity and consistency.

Bug Fixes

  • Miscellaneous stability fixes from the 0.5.1.x patch series have been rolled in.