Skip to content

v4.10 - 🧩 Modular Architecture

Latest

Choose a tag to compare

@m4r1k m4r1k released this 18 Jan 19:25

🚀 What's New

Changed

  • Modular Architecture: Split monolithic monitor.py (2000+ lines) into 9 focused modules:

    Module Purpose
    version.py Version string (single source of truth)
    config.py Configuration dataclasses + YAML loader
    state.py MonitorState dataclass
    logger.py TimezoneFormatter + UPSLogger
    notifications.py NotificationWorker (Apprise integration)
    utils.py Helper functions (run_command, etc.)
    actions.py REMOTE_ACTIONS templates
    monitor.py UPSMonitor class (core daemon)
    cli.py CLI argument parsing + main()
  • Developer Documentation: Added CLAUDE.md for Claude Code AI-assisted development


No Breaking Changes

  • Public API unchanged—existing scripts and integrations work as-is
  • Configuration format unchanged—no migration required
  • All 190 tests pass, E2E testing, and over two weeks of real-world testing
  • Over two weeks of real-world testing before release

📚 Documentation


📋 Full Changelog

Full Changelog: v4.9...v4.10