-
released this
2026-07-18 18:25:57 +00:00 | 150 commits to main since this releaseOperations, observability, CI/CD, and data-lifecycle release — the health-and-hardening milestone from the 2026-07-17 audit. 15 issues across four phases. No breaking changes except the loopback-bind default (see below).
Observability
- Prometheus
/metrics(#73) — per-feed freshness, failure counts, up-state, 24h event counts; optional bearer token. - Poller heartbeat / dead-man's-switch (#77) — in-app watchdog + optional external heartbeat ping.
- Proactive stale/failing-product alerting (#8) — admin webhook alerts (debounced).
- Degraded-data dashboard banner (#74) and 48h freshness trend sparklines on
/diagnostics(#9).
Operations & data lifecycle
- Public Link Admin Console (#7) — list/filter/copy/open/revoke public links.
/p/*rate limiting (#10), default SMS public links (#11).- Data-retention cleanup jobs (#52) — long, config-backed windows; MCD rows now expire; radar cache pruned.
- Config export/import (#79) — admin JSON backup/restore of locations, channels, subscriptions.
- Postgres backups (#67) —
scripts/backup.sh+ opt-indb-backupprofile + documented restore.
Infrastructure & CI/CD
- Container hardening (#64) — runs non-root (gosu entrypoint), URL-encoded DSN, healthchecks, configurable
mem_limit. ⚠️ The app now binds to127.0.0.1by default — setAPP_BIND=0.0.0.0(or front it with a TLS reverse proxy) to expose it. - CD rollback (#66) — a failed dev deploy restores the last-working commit; manual prod procedure documented.
- CI hardening (#65, #68) —
ruff,alembic upgrade headon real Postgres, a Postgres integration test tier, and advisorypip-audit.
Notes
pip-auditis advisory pending the Renovate dependency upgrades (#30–#37).- Retention windows are deliberately long — the planned v2.0.0 Historical Weather Event Explorer (#22) will consume that history.
- New
.envsettings (all optional, safe defaults):APP_BIND,APP_MEM_LIMIT,METRICS_*,ADMIN_ALERT_WEBHOOK,HEARTBEAT_*,STALE_PRODUCT_ALERT_MINUTES,SMS_DEFAULT_PUBLIC_LINKS,PUBLIC_RATE_LIMIT_*,RETENTION_*,RADAR_CACHE_RETENTION_DAYS,BACKUP_*. See.env.example.
Full test suite green (489 tests incl. a Postgres tier). PRs #94–#98.
Full changelog: see
CHANGELOG.md.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Prometheus