• v1.5.0 dd9bee944a

    v1.5.0
    All checks were successful
    CD / test (push) Successful in 3m48s
    CD / deploy (push) Successful in 18s
    Stable

    claude-bot released this 2026-07-19 16:47:18 +00:00 | 108 commits to main since this release

    Feature-enhancement release building on the stabilised core (audit ideas I-02, I-05, I-06, I-13, I-14, I-15, I-18). No breaking changes; new runtime behaviors are opt-in or degrade to nothing when their upstream is unavailable.

    Notifications

    • ntfy channel (#72) — self-hosted push with full web-form config, Transient/Permanent delivery classification, and severity→priority mapping. (Web Push remains a separate future effort.)
    • Outbreak digest mode (#76, opt-in) — per-subscription digest_threshold; over-threshold advisory/watch alerts batch into a periodic digest. Warning-class alerts are never batched — they always send immediately. Off by default.
    • Lead-time / time-to-impact (#84) — "arrives in ~40 min" on dashboard cards and in all notifications when an alert's onset is in the future.

    Situational awareness

    • Precipitation nowcast (#88) — a per-location "rain starting in ~X min" dashboard indicator sampled from RainViewer nowcast frames (lazy, cached, fail-soft). A heads-up, not a forecast — NWS alerts remain authoritative.
    • Per-location alert feeds (#75)GET /p/{location_id}.json | .rss | .ics for homelab automations (Home Assistant, etc.).
    • Alert activity / statistics view (#83)GET /stats ("Activity"): counts by location, event type, and month. A down-payment on the v2.0.0 Historical Explorer.
    • Radar-at-alert-time snapshot (#85, opt-in)ALERT_RADAR_SNAPSHOT_ENABLED captures the radar image when an alert fires; shown on the public alert page. Front-loads history for the Explorer.

    Config

    New optional .env: PRECIP_NOWCAST_ENABLED, ALERT_RADAR_SNAPSHOT_ENABLED, DIGEST_FLUSH_MINUTES, DIGEST_WINDOW_MINUTES. ntfy config + per-subscription digest_threshold are set in the UI.

    Notes

    • #71 (storm polygon matching) was found already implemented — the alert path already matches the warned polygon and falls back to zones — closed without changes.
    • #87 (lightning overlay / proximity alert) is deferred to the backlog: no free lightning tile source exists (NLDN is commercial; RainViewer/IEM don't offer one), so it awaits a data-source decision.

    Testing

    Migrations 0025–0028 verified against restored copies of the real dev DB. Bulk suite 746 passed, Postgres tier 4. PRs #112 (ntfy + feeds), #113 (lead-time), #114 (radar snapshot + stats), #115 (nowcast), #116 (digest), #117 (changelog).

    Downloads