You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ADN-DMR-Peer-Server/CHANGELOG.md

4.1 KiB

Changelog

All notable changes to adn-server are documented here. Versioning follows SemVer.

[Unreleased]

Added

  • SIGHUP reload reapplies YAML static TGs via apply_startup_subscriptions() when SYSTEMS change.
  • Store-native timer loops (rule_timer, stat_trimmer, bridge_debug, bridge_reset) and in-band signalling.
  • Store-native bridge table (OPTIONS, static TG, reflectors, UA) and OBP source ensure.
  • InbandTriggers (ON/OFF/RESET) on Subscription with import/export round-trip.
  • to_target iterates ForwardLeg from SubscriptionRouter.resolve() instead of re-scanning BRIDGES rows.

Changed

  • SubscriptionStore is required at runtime; bridge timers, OPTIONS, and table paths mutate the store only.
  • BRIDGES is an export shim for monitor/report (export_routing_table); no direct dict mutation in hot paths.
  • _export_store_to_router() publishes store mutations without router→store overwrite (timer/in-band paths).

Fixed

  • Parrot TG 9990: seed echo bridges into SubscriptionStore at bootstrap; arm ON rules on VHEAD.
  • Dashboard peers without RPTO inherit TS1_STATIC / TS2_STATIC from the MASTER YAML.
  • Inject-only monitor remap: sole connected hotspot receives dynamic UA downlink when a bridge leg is ACTIVE.

Removed

  • Periodic 26s options_config_loop (V2-P2-016): OPTIONS/static TGs covered by RPTO, startup/reload, and dmrd fallback.
  • Runtime replace_store_from_routing_table calls in bridge timers and OPTIONS paths (store-native slice 6).

[2.0.0-alpha.2] - 2026-06-11

Subscription runtime (phase 2b/2c) closed for production Chile.

Added

  • Subscription store always wired at runtime; SubscriptionRouter is the voice resolve path.
  • MeshCodecRegistry on OpenBridge ingress/egress (phase 2c).

Changed

  • Removed YAML flags USE_SUBSCRIPTION_ROUTER and USE_SUBSCRIPTION_STORE_AUTHORITY; rollback via git tags only.
  • routing_table_for_report() mirrors router state into the store before export (report/monitor shim).

Fixed

  • OBP → HBP voice: sync store before subscription resolve (c10f7f8).
  • TG 4000: clear dynamics once per PTT, scoped to transmitting peer (inject-only).

[2.0.0-alpha.1] - 2026-06-10

Phases 0–4 + 3b GA baseline (tag v2.0.0-alpha1 alias retained).

Added

  • adn-server.py --doctor — validate config, UDP/TCP bind ports, PEER upstream and MESH_PROTOCOL.
  • Integrated proxy fan-in, self-service MySQL OPTIONS, monitor slim report wire.

Changed

  • Parrot: integrated in adn-server.py --parrot; minimal adn-parrot.yaml (PEER → ECHO MASTER).
  • Runtime wiring moved to infrastructure/bootstrap/peer_server.py; main.py is CLI-only (<200 lines).

Removed

  • adn-parrot.py and parrot_main.py — use adn-server.py --parrot instead.

1.0.0 - 2026-06-06

First stable public release.

Added

  • Clean-architecture rewrite: domain, application, infrastructure layers.
  • YAML configuration (adn-server.yaml) with startup validation.
  • HBP MASTER/PEER and OpenBridge forwarding with legacy parity (loops, BCSQ, packet control).
  • Talker Alias: DMRA packets and embedded LC overlay (UTF-8 / ISO-8859-1 / 7-bit formats).
  • Voice: announcements, TTS pipeline, on-demand AMBE playback, recording.
  • Parrot entrypoint (adn-parrot.py) for TG 9990 echo/playback.
  • Monitor report TCP: HELLO JSON (mode v2), CONFIG_SND / BRIDGE_SND (pickle), BRDG_EVENT.
  • Hot reload: adn-server.yaml (SIGHUP), adn-voice.yaml (15 s loop), log reopen (SIGUSR2).
  • MkDocs user guide (EN/ES).

Fixed (highlights since parity baseline)

  • OpenBridge packet control and ingress timing.
  • Parrot playback sequence preservation on long QSOs.
  • Config validator accepts numeric MMDVM option fields in YAML.
  • OBP END/TX reporting and STATUS lifecycle alignment with legacy.

Compatibility

  • Monitor: adn-monitor 1.0.0 (HELLO v2 + legacy pickle report).
  • Config: use adn-server.example.yaml as template; production YAML is not committed.
  • Wire: HBP and OpenBridge on-wire formats unchanged vs legacy ADN DMR Server.

Powered by TurnKey Linux.