• v1.1.0 c4fbeb4a7c

    v1.1.0 — Operations, observability & CD
    All checks were successful
    CD / test (push) Successful in 2m51s
    CD / deploy (push) Successful in 19s
    Stable

    claude-bot released this 2026-07-18 18:25:57 +00:00 | 150 commits to main since this release

    Operations, 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-in db-backup profile + documented restore.

    Infrastructure & CI/CD

    • Container hardening (#64) — runs non-root (gosu entrypoint), URL-encoded DSN, healthchecks, configurable mem_limit. ⚠️ The app now binds to 127.0.0.1 by default — set APP_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 head on real Postgres, a Postgres integration test tier, and advisory pip-audit.

    Notes

    • pip-audit is 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 .env settings (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