diff --git a/CHANGELOG.md b/CHANGELOG.md index 87d4f67..b0af0b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,11 +6,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +## [1.5.1] - 2026-08-11 + ### Fixed +- Backups no longer freeze the API. The config backup ran its ~21 minutes of tarring on the + event loop, so the whole service was unreachable 03:05-03:25 nightly; it now runs in a + worker thread. Health reports moved off the loop too. - The health report's permission diagnostic prints the database's own message instead of asserting a cause. It claimed the user lacked INSERT on `check_history` when that grant was present and the missing one was USAGE on the sequence behind its serial id. +### Notes +- Requires `GRANT USAGE ON SEQUENCE check_history_id_seq TO scheduler_user`, applied + 2026-08-11. The table grant alone does not permit the insert. + ## [1.5.0] - 2026-08-11 ### Added @@ -285,25 +294,7 @@ config_backup_executor.py 50% 📈 TOTAL 80% 🎯 ``` -## [Unreleased] - -### Fixed -- The health report's permission diagnostic prints the database's own message instead of - asserting a cause. It claimed the user lacked INSERT on `check_history` when that grant was - present and the missing one was USAGE on the sequence behind its serial id. - -## [1.5.0] - 2026-08-11 - -### Added -- Backup executors report their own outcome to the homelab health record — one row in - `check_history` per run, success or failure. Replaces a monitor that inferred backup health - from file age and could not tell a failed backup from one that had not run yet. - -### Notes -- Requires `GRANT INSERT ON check_history TO scheduler_user` in the `sysmon` database, applied - 2026-08-11. Without it the report is refused, logged, and skipped; the backup itself is unaffected. - -### Planned +## Planned - Redis integration for distributed locking - Webhook notifications for task completion - Task dependencies (run task B after task A succeeds) diff --git a/pyproject.toml b/pyproject.toml index cd57d63..fc1deff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "the-scheduler" -version = "1.5.0" +version = "1.5.1" description = "System-wide maintenance orchestration - backups, doc mirroring, cleanup, task automation" readme = "README.md" requires-python = ">=3.12"