diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d69902..e3d1232 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,30 @@ All notable changes to seismo-relay are documented here. --- -## Unreleased +## v0.31.0 — 2026-09-18 + +**Report parity, and a second way to rescue a runaway unit.** Two threads. + +The first closes out Blastware Event/FFT-Report parity: the FFT, the USBM +RI8507 compliance chart and the sensor self-check now render on the event +report, reverse-engineered against BE12844 (MiniMate Plus) and UM (Thor) +events. The sensor check is decoded for **both** series and standardized into +the `.h5` (schema **v2**, a new `/sensor_check` group), so SFM serves it +device-agnostically rather than decoding at report time. The Inspector — an +annotated hex reader for series-3 binaries — is what made the trailing-block +structure findable, and it earned its keep by *ruling out* a stored FFT block +and proving Blastware computes it from the samples. + +The second came out of a field emergency. BE12599's connector fault drove its +Tran channel to its trigger level, so the unit recorded back-to-back and dialed +the office ACH server every ~75 s, unreachable the whole time. +`bridges/ach_server.py` gained `--stop-monitoring` / `--disable-ach` / +`--rescue`, which **invert** the recovery: instead of racing a Stop into the +gaps between dial-outs, point the modem's Destination at our own ACH server and +answer the call. Proven in production the same night — the stop landed on the +first call-in and held. See `docs/runbooks/wedged_unit_recovery.md`. + +⚠ **This release owes prod a backfill** — see Migration below. ### Added - **Rescue-on-connect for `bridges/ach_server.py`** — `--stop-monitoring` diff --git a/CLAUDE.md b/CLAUDE.md index 7b74a84..67dee54 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,7 +2,7 @@ Ground-up Python replacement for **Blastware**, Instantel's Windows-only software for managing MiniMate Plus seismographs. Connects over direct RS-232 or cellular modem -(Sierra Wireless RV50 / RV55). Current version: **v0.30.0**. +(Sierra Wireless RV50 / RV55). Current version: **v0.31.0**. Stack-level context — which repo owns what, and how the three project versions pair — lives in `../terra-view/docs/tmi-stack.md`, which is also loaded as diff --git a/README.md b/README.md index a11473c..7f384f2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# seismo-relay `v0.30.0` +# seismo-relay `v0.31.0` A ground-up replacement for **Blastware** — Instantel's aging Windows-only software for managing seismographs. Supports both the **MiniMate Plus diff --git a/pyproject.toml b/pyproject.toml index 4b9e639..10ea7e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "seismo-relay" -version = "0.30.0" +version = "0.31.0" description = "Python client and REST server for MiniMate Plus seismographs" requires-python = ">=3.10" dependencies = [