Skip to content

v0.5.0 — Data foundation: bookmarks, settings, capture annotations

Choose a tag to compare

@clorth0 clorth0 released this 14 Jun 18:26
· 35 commits to main since this release

Aetherscope v0.5.0 adds a persistent data layer: bookmarks, settings, and capture annotations.

Bookmarks

  • A managed Bookmarks list in the Radio pane replaces the old hardcoded preset
    chips. Tune, edit, delete, tag-filter, and add the current frequency.
  • The previous presets are seeded once into the bookmark library on first run and
    are fully editable thereafter.
  • Save a sweep mark straight to a bookmark from the marks list.

Settings that survive restarts

  • Your last mode, frequency, demod, and volume are restored on reload.

Capture annotations

  • Captures can be labelled, noted, and tagged; missing files are flagged. Replays
    record a last-played time. The capture-time JSON sidecar remains the source of
    truth for capture parameters.

Under the hood

  • New backend/store.py: a stdlib-sqlite3 data layer (no new dependency) at
    AETHERSCOPE_DATA_DIR (default ~/.local/share/aetherscope/, 0600, outside the
    repo). Thread-safe (one connection, WAL, a lock) and fully parameterized.
  • Security: parameterized SQL throughout, server-side validation/bounds on
    bookmark and capture fields, a settings key allowlist, and escapeHtml on every
    rendered field. Handlers are defensive against malformed payloads.
  • 8 test suites (the store alone has 16 tests), CI green.

Everything from v0.4.0 carries forward (snap-to-peak auto-tuner, ADS-B colored
trails, docs site, SA tools, NBFM + scanner, IQ replay, telemetry, vendored deps +
CSP, Linux Docker). Install and run are unchanged; see the README.

This is the first of a multi-phase roadmap. Next: close-the-loop recording (WAV
audio + decode-from-IQ + SigMF), then situational-awareness and security-RX
features (AIS, ADS-B enrichment, spectrum-occupancy survey, device inventory).