Skip to content

v0.7.1

Choose a tag to compare

@BSVanon BSVanon released this 29 Mar 21:37

v0.7.1: Real-time SSE, mesh hardening, secure install

Real-time client API

  • GET /data/subscribe?topic=X — Server-Sent Events push stream
  • GET /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_pubkeys for 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 events
  • anvil 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 bash

Binary: amd64 only for this release. arm64 to follow.