v0.7.1
v0.7.1: Real-time SSE, mesh hardening, secure install
Real-time client API
GET /data/subscribe?topic=X— Server-Sent Events push streamGET /data?since=TIMESTAMP— incremental polling- Paid payload redaction on SSE (matches GET /data behavior)
- Monotonic event IDs + Last-Event-ID gap warning on reconnect
Mesh hardening
- Configurable
[mesh].local_pubkeysfor fast-publisher exemption - Double-publish requires corroboration from 2+ unique reporters (per-reason)
- Mixed slash reasons no longer cross-contaminate
- Persistent peer connection log (JSONL)
- Graceful shutdown emits disconnect events
Operator visibility
/status: header sync lag, SPV metrics, warnings/mesh/status: recent connection eventsanvil doctor: mesh seeds, sync lag, SPV, zero-peer checks- Header syncer + SPV validator track attempt/success/failure stats
API additions
DELETE /data(auth-gated) for envelope cleanup- CORS preflight includes DELETE
Secure install
- Install script served from GitHub (not VPS)
- Binary SHA256 verified against checksums.txt from GitHub Releases
- Aborts on checksum mismatch
- See RELEASING.md for supply chain security model
Deployment
- systemd: KillMode=control-group, TimeoutStopSec=30, FinalKillSignal
- deploy preflight creates mesh/ data subdirectory
Docs & onboarding
- ADD_YOUR_APP.md: 5-minute app-to-mesh guide
- API_REFERENCE.md: SSE, since, DELETE documented
- RELEASING.md: full release process with checksum verification
- mesh-hello.ts example
Install
curl -fsSL https://raw.githubusercontent.com/BSVanon/Anvil/v0.7.1/scripts/install.sh | sudo bashBinary: amd64 only for this release. arm64 to follow.