Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Changelog
Notable changes to HBlink3. This is the first tagged release; it establishes a baseline of the current state rather than enumerating the project's full history.
3.0.0 — 2026-07-12
First tagged release. Highlights of the current state:
Reporting & dashboard (event-driven overhaul)
- The daemon→dashboard feed is event-driven newline-delimited JSON. Repeater connect/disconnect and live call events are pushed as they happen; the full config/bridge state is resent only as a slow periodic resync + heartbeat (it used to be a full push every interval).
- Per-repeater ping-loss quality metric — surfaces a repeater that stays
connected but drops keepalive pings (a lossy link → choppy audio), self-calibrated
to each repeater's own ping cadence. Configured with
PING_LOSS_WINDOW/PING_LOSS_WARNin[GLOBAL]; the dashboard golds a repeater's callsign at/above the warn threshold. - Canonical event vocabulary:
repeater_connected/repeater_disconnected,stream_start/stream_end. - Unix-socket transport for a same-host dashboard (
REPORT_TRANSPORT=unix+REPORT_SOCKET; dashboard sideHBLINK_TRANSPORT/HBLINK_SOCKET), which retires the silently-severed-link failure class for local dashboards. Remote (TCP) dashboards gain TCP keepalive + a feed read-timeout so a dead link is detected.
OpenBridge configuration model — breaking
- OpenBridge systems are configured in a per-OBP table
OBP_BRIDGES = { <obp system> : { <bridge> : <TGID> } }inrules.py, not as inlineBRIDGESmembers. OBP entries carry no ON/OFF/TIMEOUT triggers or real timeslot (a trunk has no RF user to key them). The table doubles as the fail-closed ingress/egress filter; a one-TGID-to-two-bridges fork is a startup ERROR, a cross-OpenBridge renumber a WARNING. - Migration tool
tools/migrate_obp_rules.pyconverts an old inlinerules.py.
System-mode terminology — breaking
MASTER→SERVER,PEER/CLIENT→OUTBOUND(OPENBRIDGEunchanged). Update theMODE:line of each stanza inhblink.cfg.
Documentation
- README (with an upgrade warning), INSTALL, CONFIGURING, ACLS, and the dashboard docs refreshed for all of the above.