* docs: Add Mini DMR architecture documentation
* Feat: Implement Flexible DMR (Mini DMR) mode
* Fix: Audio routing and Egress TG ID for Mini DMR mode
* Fix: Set client reflector module in Mini DMR mode to enable OpenStream
* Fix: Options parsing and TG 4000 Disconnect logic
* Fix: Add Ip argument to IsValidOptionPacket to fix compilation error
* Fix: Sync visual module from options and improve calling logging
* Fix: Strict module/timeslot routing logic and documentation updates
* Fix: Multi-module dashboard display, DMR protocol rename, and detailed subscriptions in JSON
* Fix: Add missing JsonReport declaration to DMRMMDVMClient.h
* Fix: Make CClient::JsonReport virtual
* Fix: Enable simultaneous dual-slot operation by tracking per-slot scanner hold timers
* Fix: Enable simultaneous dual-slot operation in OnDvHeaderPacketIn
* Fix: Add missing slot argument to CheckAccess declaration
* Fix: Define DMRScanner state members as arrays
* Fix: Update GetCurrentScanTG to accept slot argument
* Fix: Update DMRScanner implementation to handle m_CurrentScanTG as array
* Debug: Log outgoing Talkgroup ID to console
* Fix: Propagate dynamic Destination ID to all MMDVM encode functions
* Feat: Implement Static vs Dynamic Subscriptions and Single Mode Logic
* Fix: Clear client from module list on subscription timeout
* Docs: Fix Mermaid syntax error in DMR_Mini_Mode.md
* Fix: Improve MMDVM debug logging to accurately reflect sent packets
* Fix: Ensure SetReflectorModule is called on every valid DMR Header to prevent Orphaned Frames
* Debug: Fix callsign logging and add PTT subscription tracing
* Fix: Fallback to default DMR ID for analog sources (e.g. ALLSTAR) with ID 0
* Fix: Handle slot=0 in CheckAccess to support unspecified-slot checking
* Fix: Callsign fallback for unknown DMR IDs and Extended SSID support
* Cleanup: Remove debug logs
* Fix: Module Assignment Regression + Dashboard Backend Support
* Tmp: Add debug logs for DMR Dashboard
* Fix: Deduplicate DMR client reporting
* Feat: Include DMRID in JSON Report
* Feat: Renew dynamic subscription on PTT (and cleanup debug logs)
* Docs: Update DMR Mini Mode guide with Dashboard and Renewal info
* Feat: Rename MMDVM DMR to DMR in logs/dashboard
* fix(dmr): preserve raw destination ID in header to support flexible TGs
* fix(dmr): report Talkgroup as Target in dashboard events instead of Gateway ID
* fix(dmr): revert egress TG propagation to fix timeouts, keep ingress tracking
* fix(dmr): revert UR modification to prevent protocol timeouts, fix dashboard display manually
* fix(dmr): resolve compiler errors - variable scope and constructor args
* fix(dmr): restore working protocol state from last good commit, apply dashboard target display fix
* fix(dmr): resolve uiDstId scope error in dashboard fix by recovering TG from module
* fix(core): update ModuleToDmrDestId to respect configured mappings (MapA=...) with XLX fallback
* fix(dmr): prevent null pointer dereference of moved Header in OpenStream flow
* fix(dmr): correct 24-bit DestID encoding in Link Control (prevents TG 90 truncation)