1.2.1 [2026-07-31] - Added first-class Modbus master/client support over native Windows/Linux RTU, ASCII, and TCP transports without extending BMAPI or requiring BUSMUST analyzer hardware. - Added coils, discrete inputs, input/holding registers, single/multiple writes, File Record FC20/FC21, and FIFO FC24 with strict protocol limits, exception reporting, CRC/LRC/MBAP validation, and no automatic write retry. - Added lightweight Linux Foundation EdgeX Modbus Device Profile YAML/JSON import, Device Definition bench import, typed resource/command access, RTU/TCP/ASCII device bindings, scaling, bidirectional mappings, byte/word order, access/range validation, and readback. - Added bounded daemon-owned polling with latest/history, freshness, quality, gaps, missed deadlines, on-change retention, persistent endpoint connections with reconnect, REST/SSE endpoints, OpenAPI, and a Modbus engineering panel in the bundled Dashboard. - Hardened the Modbus service around one persistent session per physical endpoint shared by CLI, poll, and Web; added RTU t3.5 timing, wider Linux baud-rate support, exact 64-bit values, write-only EdgeX semantics, partial-command diagnostics, bounded dynamic history, resumable loss-aware SSE, concurrent-stop safety, and typed HTTP error status classes. - Added independent TCP and PyModbus interoperability peers, POSIX PTY RTU/ASCII tests, EdgeX fixtures, Web/daemon integration tests, and full BMCLI hardware and real-ECU regression coverage. - Added a narrowly triggered BMCLI Modbus Skill methodology that keeps protocol I/O in BMCLI and general Web authentication, durable storage, uploads, reporting, and reverse proxying in surrounding application services. - Added explicitly authorized installation of approved local F4L2/0083 HPM UF2 images through `device update --file= --force`, including fixed-block/application-range validation and same-UID/version re-enumeration. - Fixed Modbus endpoint/session lifecycle, exact numeric conversion, EdgeX compatibility, loss-aware polling/SSE behavior, HTTP error mapping, and a poll start/stop publication race found during the 1.2 release review. - Restricted local F4L2/0083 UF2 images to the physical application interval `[0x80020000, 0x80100000)` and synchronized the latest BMAPI, LIN schedule, replay, updater, and Bamboo build-compatibility baseline from BUSMASTER. 1.1.0 [2026-07-27] - Introduced first-class XCP on CAN/CAN FD support for ECU measurement, calibration, integration testing, and internal-state observation without a hardware debugger. - Added XCP connect/status/disconnect, external seed/key unlock, raw memory read/write/checksum, A2L-backed measurement and characteristic access, and bounded dynamic DAQ acquisition. - Added a BMCLI-owned software ISO-TP engine and migrated ISOTP/UDS receive paths onto RxBroker cursors so UDS, XCP, raw receive, logging, and Web can run concurrently without competing for the BMAPI receive queue. - Added a tolerant, read-only A2L subset for scalar measurement and calibration workflows, including MODULE scoping, byte order, COMPU_METHOD, RECORD_LAYOUT, BIT_MASK, access semantics, and duplicate-symbol handling. - Added the typed `GET/POST /api/v1/xcp` Web boundary for Dashboard and automation clients while keeping XCP lifecycle and safety rules in the shared BMCLI service layer. - Standardized XCP DAQ output as one bounded JSON document with a `samples` array; JSONL/CSV are rejected before execution instead of producing misleading output. - Hardened XCP endpoint safety: strict numeric/flag validation, raw-write dry-run and optional readback verification, bounded/escaped JSON, and capability-aware address/DAQ granularity handling. - Made UDS/XCP response-route collision checks symmetric and cleaned XCP sessions, DAQ state, receive cursors and BMAPI handles on reconfiguration, channel close, daemon stop and restart. - Decoupled the DAQ pump from the daemon command lock, protected XCP state with its own mutex, and made software ISO-TP timeouts restart for each N_Bs/N_Cr protocol phase instead of expiring one whole valid multi-frame transfer. - Corrected DBC/LDF/A2L registry mutation permissions and documented their shared generic unload lifecycle. - Made `ai status` detect stale installed Skill content byte-for-byte, and tightened Skill guidance for missing UDS/XCP bench IDs and complete XCP cleanup. 1.0.6 [2026-07-25] - Fixed daemon-backed channel lifecycle and host logging/replay lifecycle/status commands so `--format=json` always returns one bounded JSON document. 1.0.5 [2026-07-24] - Aligned runtime Help, the command Reference, option validation, examples, and machine-readable discovery so automation no longer relies on stale syntax. - Expanded real-world DBC and LDF compatibility and completed the revised BLF reader/writer contract used by recording, replay, conversion, and Web flows. - Verified physical CAN and LIN online recording and replay with ASC and BLF, including the daemon, REST API, engineering console, and Gateway paths. - Preserved LIN schedule slot phases when translating LDF tables into hardware TX tasks, including mixed master-read and master-write schedules. - Added deterministic local/remote claim and release arbitration for protected channel control while retaining compatible shared send and passive receive. - Improved Gateway session cleanup, BUSOFF recovery, logging lifecycle, replay channel mapping, and multi-consumer receive continuity. - Narrowed the BMCLI AI Skill activation boundary and added lightweight application-development guidance without triggering on generic dashboard, DBC/LDF, test-methodology, or source-review work. - Added compatibility regression coverage for supplied DBC/LDF corpora, BLF round trips, CAN/LIN online capture and replay, Web, Gateway, and shuffled HIL. 1.0.4 [2026-07-16] - Replaced the obsolete reverse-`BM_OpenRemote` Gateway path with a direct, GWR-compatible UDP control/data server over the daemon's physical handles. - Added typed REST resources for bench/device inventory, channel statistics, logging, replay, remote-BMAPI gateway lifecycle, and bounded firmware checks. - Added explicit CommandRegistry permissions and parameter type/range/unit/ mutual-exclusion metadata for runtime discovery and AI clients. - Added retained duration/byte sizing and per-consumer backlog/gap observability to RxBroker and Web metrics. - Hardened Windows package path symmetry, final-handle project containment, and single-setter-group channel PATCH semantics. - Added a packaged Nginx HTTPS-first profile for trusted Linux browser access while BMCLI remains bound to loopback HTTP. - Fixed daemon logging above slot 15 and idempotent same-value LIN mode updates. - Fixed Linux daemon startup so bounded JSON remains one document while child diagnostics are redirected to the private daemon log. - Fixed Windows-driven WSL worktree builds to embed the same Git commit metadata as release manifests and added Windows/Linux load, HTTPS, and Skill gates. - Hardened release-check so package lifecycle, runtime, hardware, Web, and Skill gates execute the Bamboo package whose metadata matches the release manifest. - Moved UDS DTC argument validation before BMAPI initialization so invalid commands return their stable contract even while hardware is being released. - Kept release package tests strict while capturing updater JSON and diagnostic stderr separately, avoiding false PowerShell NativeCommandError failures. - Made release-check native tool gates decide success from process exit codes, so non-fatal WSL and tool diagnostics on stderr do not abort verification. - Recognized standard equivalent wording such as "neither authentication nor encryption" in the AI gateway safety-boundary release rubric. - Fixed UDS request parsing so space-form option values such as `--channel 10356/1` cannot be appended to the diagnostic payload. 1.0.3 [2026-07-15] - Added project-local target and bench configuration with multiple named networks, nodes, databases, and machine-local channel bindings. - Added the daemon-owned Web automation service with packaged OpenAPI and an engineering console, typed message send, cursor history, SSE/WebSocket raw streams, and DBC signal plans. - Added typed REST lifecycle for daemon channels, engineering databases, hardware TX tasks, and message routes without exposing a shell executor. - Added the per-channel RxBroker so CLI receive, logging, remote BMAPI gateway, Web streams, and DBC signal decoding use independent cursors without competing for the BMAPI receive queue. - Hardened bounded JSON, daemon IPC, cross-platform resource paths, Web shutdown, package lifecycle, and Claude Code/Codex Skill behavior checks. Uninstall now terminates an active package-owned daemon before removing its executable and runtime state. - Added real-browser and configurable multi-consumer soak release gates; Windows HIL completed a 30-minute SSE/WebSocket run with exact active-cursor continuity. 1.0.2 [2026-07-15] - Added capability-aware LIN master/slave message workflows, channel power control, and runtime schedule/response management. - Added physical-device reset and identity-safe generation-3 firmware update handling for devices selected by serial number, UID, or channel name. - Completed DTC request construction, response parsing, action-level Help, and public command/alias contract cleanup. - Added a GWR-compatible CAN FD/LIN UDP gateway for unmodified remote BMAPI clients, including mixed-bus logical-to-physical channel translation. - Verified current Windows and Linux builds, firmware transfer behavior, and sequential plus shuffled hardware regression coverage. 1.0.1 [2026-07-13] - Added verified `bmcli update --check` release discovery and changelist output. - Added CID-based firmware checks and updates for generation-3 HPM BUSMUST devices. - Moved the Bamboo deployment implementation into a Git-managed PowerShell script. - Published BMCLI release notes and SHA-256 metadata with each version manifest. 1.0.0 [2026-07-12] - Initial product release of BMCLI as an independent BUSMUST command-line tool. - Supports CAN/CAN FD channel control, message traffic, TxTask, routing, DBC, logging, replay, ISO-TP, UDS diagnostics/flashing, checksum, and AutoSet. - Includes project bench profiles, structured Help/JSON contracts, offline packages, update support, and Claude Code/Codex skill integration.