release v1.5.1
Also collapses a duplicated changelog section. A second "## [Unreleased]" heading has existed at the foot of the file since 2026-08-07, above the roadmap list -- and because it matched first, my own v1.5.0 and T-69 commits wrote their entries into both copies. The roadmap is now "## Planned", which is what it always was, so the two cannot collide again. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+10
-19
@@ -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)
|
||||
|
||||
+1
-1
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user