Files
mux-py/CHANGELOG.md
T
swaits e64ce852ba feat: add keepalive ping, state restoration, and fix baud rate
Add keepalive ping (5s interval, 2s timeout) to detect unresponsive
dongles behind UART bridges where the serial port stays open across
ESP32 resets. On reconnect, saved radio config and RX state are
re-sent so connected clients continue working transparently.

Also fix serial port opened without baud rate (defaulted to 9600
instead of 115200), preventing connection to UART boards.
2026-04-11 02:46:05 -06:00

1.3 KiB
Raw Blame History

Changelog

Unreleased

Added

  • Keepalive ping: detects unresponsive dongles (e.g. UART boards behind a CP2102 bridge where the serial port stays open across ESP32 resets). Pings every 5 seconds of idle, declares dongle lost after 2-second timeout.
  • Radio state restoration after reconnect: saved SetConfig and StartRx are re-sent to the dongle so clients don't need to know a reset happened.

Fixed

  • Serial port opened without baud rate (defaulted to 9600 instead of 115200), preventing connection to UART boards behind CP2102 bridges.

0.2.0 — 2026-04-08

Features

  • PyPI-ready metadata — full classifiers, URLs, keywords, readme. Publishable as donglora-mux.
  • Interception test suite — 11 tests ported from the Rust mux covering SetConfig locking, StartRx/StopRx reference counting, and passthrough behaviour.
  • GitHub Actions CI — ruff lint + format, pytest on Python 3.10–3.13, PyPI publish on tag.
  • Strict ruff linting — E, W, F, I, UP, B, C4, ARG, SIM, RUF rules.

Fixes

  • Fixed broken dependency path (../../clients/python → ../client-py).
  • Fixed dependency name (donglora-python → donglora).
  • Applied contextlib.suppress where ruff/SIM105 flagged try-except-pass.
  • Collapsed nested if per ruff/SIM102.

0.1.0 — 2026-04-06

Initial release.