Realigns configuration, install, and runtime layout with meshcoretomqtt.
Added
- TOML configuration under
/etc/meshcore-packet-capture/(config.toml+config.d/*.toml, deep-merged;[[broker]]merges by name). - Python installer (
python3 -m installer) with install / update / migrate, systemd & launchd units, Docker, service account, and BLE/serial/TCP setup. - PyPI distribution:
pipx install meshcore-packet-capture+meshcore-packet-captureCLI. - Bundled broker presets (
presets/, installed asconfig.d/10-*.toml). - Unlimited sequentially-numbered MQTT brokers.
- JWT auth via pure-Python Ed25519 (pynacl), per-broker owner/email, token TTL.
- Device stats (core/radio/packets) in MQTT status messages.
- macOS BLE support via a per-user LaunchAgent.
Changed
- App installs to
/opt, config to/etc, state to/var/lib(FHS). .env/.env.localare now a legacy fallback, overridden by TOML.- Requires Python 3.11+ and
meshcore >= 2.2.31. - Default advert interval standardized at 47 hours.
- Docker image no longer bundles Node.js (JWT signing is pure-Python).
Upgrading
Run the installer to migrate a legacy ~/.meshcore-packet-capture install to the new /opt + /etc layout; your .env/.env.local is converted to config.d/99-user.toml. The old directory is left in place for rollback.
New Contributors
Full Changelog: v0.4...v2.0.0