@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.6.0] - 2026-08-11
|
||||
|
||||
### Fixed
|
||||
- A restart mid-task no longer unschedules that task forever. An execution row left
|
||||
`running` excluded its task from every future minute, silently; startup now releases them.
|
||||
- Timeouts are recorded as `timeout` instead of a generic failure. The status existed but was
|
||||
unreachable, so all 18,785 executions since December contain zero of them.
|
||||
|
||||
### Added
|
||||
- `orphaned` execution status — an execution whose process died, whose outcome is unknown.
|
||||
Distinct from `failed`, which asserts the work did not succeed.
|
||||
|
||||
## [1.5.1] - 2026-08-11
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -9,7 +9,7 @@ It is the homelab's cron. Recurring work belongs here rather than in a systemd t
|
||||
|
||||
## Live contract
|
||||
|
||||
`http://localhost:8090/openapi.json` — 10 paths, `version: 1.4.0` (verified 2026-08-09). Human
|
||||
`http://localhost:8090/openapi.json` — 10 paths, `version: 1.6.0` (verified 2026-08-11). Human
|
||||
docs at `/docs`. Generated from running code, so read it instead of inferring routes.
|
||||
|
||||
**Every route except `/health` requires `Authorization: Bearer $SCHEDULER_API_KEY`.** An
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "the-scheduler"
|
||||
version = "1.5.1"
|
||||
version = "1.6.0"
|
||||
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