Release v0.5.0
raspi-sentinel v0.5.0
Released: 2026-04-17
Highlights
- Added robust deferred notification delivery for Discord:
- network/transient delivery failures are aggregated in state backlog
- retry attempts run on
notify.discord.retry_interval_sec(default 60s) - recovery sends one summary message with outage window (
delivery_failed_from/delivery_failed_until)
- Added
retry_interval_secto Discord notify config schema and validation. - Expanded
network_uplinkreasoning and observability:- layered reason/subreason evidence (route/gateway/wan decomposition)
- clearer DNS/HTTP error kind classification
- stronger null-vs-false evidence handling in outputs
- Strengthened typed runtime model usage and removed remaining mixed raw-dict mutation paths in core runtime flow.
Quality
- Enforced strict typing workflow (
mypy --strict) in project/CI path. - Expanded integration and branch tests across config, engine, notifications, and state serialization.
- Verified full quality gate (
ruff,mypy,pytest, coverage branch gate).
Upgrade notes
- Review and add this in
[notify.discord]if missing:
retry_interval_sec = 60- No manual migration is required for existing
state.json; new notification backlog fields are backward-compatible. - For operators: see
docs/facts/operations-runbook.mdsection "Notification Delivery Outage Runbook" for troubleshooting and interpretation.
Full changelog: v0.4.0...v0.5.0