Skip to content

v0.5.1: integration tests, retention fix, polite polling

Choose a tag to compare

@hook-365 hook-365 released this 03 Aug 21:36
· 85 commits to master since this release

A patch release, headlined by the project's first merged outside code contribution — thanks @ValkyrieUK!

Added

  • Full-stack integration test suite + CI (#9): a deterministic Docker Compose stack (readsb + ACARS fixtures, TimescaleDB, both backends, the production nginx image in live-only and multi-feed modes) now verifies every push end to end, including a backend restart to catch non-idempotent schema startup.

Fixed

  • Fresh installs silently ended up with no retention policy (#9): the retention call failed on clean database init and the service restarted healthy without it, so data grew without bound. Existing databases were unaffected. Upgrading to this release repairs affected databases automatically — a startup migration detects the missing policy and adds it with your configured RETENTION_DAYS. If you can't upgrade yet, the manual fix is:
    SELECT add_retention_policy('aircraft_positions', INTERVAL '90 days');
  • The suite's timescaledb healthcheck raced the postgres init phase on fast machines; it now probes TCP.

Changed

  • track-service polls remote feeders every 5 s instead of every 1 s (heuristic on the feeder address; FEEDER_POLL_SECONDS overrides in either direction). Local feeders keep the 1 s cadence. Polling a stranger's home connection every second around the clock was impolite.

Full details in CHANGELOG.md.