🚀 What's New
Changed
-
Modular Architecture: Split monolithic
monitor.py(2000+ lines) into 9 focused modules:Module Purpose version.pyVersion string (single source of truth) config.pyConfiguration dataclasses + YAML loader state.pyMonitorState dataclass logger.pyTimezoneFormatter + UPSLogger notifications.pyNotificationWorker (Apprise integration) utils.pyHelper functions (run_command, etc.) actions.pyREMOTE_ACTIONS templates monitor.pyUPSMonitor class (core daemon) cli.pyCLI argument parsing + main() -
Developer Documentation: Added
CLAUDE.mdfor 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
- Read The Docs - Full documentation
- Contributing Guide - Updated with modular structure
📋 Full Changelog
Full Changelog: v4.9...v4.10