Release v0.17.0
Full release notes: see CHANGELOG.md [0.17.0] section (~85 lines, too long to inline here).
Headline items:
- bd-1weac / bd-p5b8i — task_schedules subsystem fix (4-month-latent scheduling regression): root-cause
task_registry._create_default_task_schedulemiscompiled CRON-default tasks tointerval_seconds=0, leavingnext_run_at=NULLforever; tasks silently never fired. Fix + startup self-heal for existing operators (heal log line fires once on next container restart, no operator action required). Closes GH #243 root-cause class. - bd-ia28g — DB retention for
auto_creation_executionsBLOBs (127MB / 77% of one operator's DB),health_checks(legacy from removed v0.11.6 service), andnotifications. 3 new operator-configurable retention windows. - bd-lbkck — CHECK constraint + Pydantic validator preventing the interval/0 placeholder shape from recurring.
- bd-qxi02 — task scheduler observability: 2 new Prometheus gauges, alert rules group, recording rule, SLO entry, runbook. Detects bd-p5b8i-class regressions within minutes.
- bd-ov5vb + bd-1x5v0 — channel-event ingest broadening: previously only counted
channel_bufferingevents (almost never fires on real installs); now countschannel_reconnect,channel_error,stream_switchtoo. Providers panel relabeled "Channel events by provider" with per-type breakdown. - bd-ct9wl — edit-mode merge fix: source channels now removed from UI after merge (previously lingered as ghosts, causing operators to try re-merging stale rows → Dispatcharr 404 noise).
- bd-nh50y — logo-loading debug instrumentation (operator confirmed logos are just slow-loading from upstream, not failing; logging earned its keep).
- Plus: bd-ej995 startup WAL checkpoint, bd-8axhi schema-drift escalation, bd-ygoqr DB size gauges, bd-5w6jz smart-bootstrap fast-path, bd-ax3uj alembic 0003/0004 idempotency, bd-gsn3r namespace-collision fix via FK drop, several more.
Pre-Cut Gate Checklist
- G1a: Zero open P0/P1 bugs at cut SHA (
bd list --status open --priority 0/1both empty after closing bd-p5b8i spike whose 4 outcome beads all shipped) - G1b: Zero open HIGH/CRITICAL security findings (
gh api code-scanning/alertsreturns 0) - G2: Backend Tests green (3805 passed locally; CI will re-verify)
- G3: Frontend Tests green (1325 passed; CI will re-verify)
- G4: CodeQL delta-zero vs.
main(CI will verify) - G5: CHANGELOG
[Unreleased]promoted to[0.17.0] — 2026-05-16, fresh empty[Unreleased]above - G6: Version in frontend/package.json =
0.17.0(all 3 touchpoints aligned: package.json, backend/main.py, backend/routers/backup.py) - G7: No other release-cut or hotfix PR targeting main
🤖 Generated with Claude Code