System Diagnostic Monitor - Changelog
=====================================

v1.1.0  -  2026-07-26
---------------------
Focus: catch every event on the USB bus, in real time, and name the culprit.

Added
  * Real-time USB bus detection. Device arrival and removal are now caught the
    instant Windows reports them (WM_DEVICECHANGE / Win32_DeviceChangeEvent), not
    just on the 2-second enumeration poll. A device that connects and disconnects
    between polls is no longer missed - the log now matches the Windows
    connect/disconnect chime almost exactly.
  * Bus-storm detection WITH device attribution. A burst of arrival/removal churn
    - the signature of a failing cable, a worn port, or marginal power - now
    raises a BUS-STORM alert that NAMES the offending device(s) and how many times
    each re-enumerated in the last 10 minutes, for example:
        [USB ] BUS-STORM  8 arrival/removal events in 10min - suspect
               intermittent cable/port/power on: My Book 1130 [1058:1130] x4
    The same alert is raised as a tray balloon when the dashboard is hidden.

Changed
  * Any real-time bus event now forces an immediate re-enumeration and system
    event-log scan, so connect/disconnect lines land in the log within a fraction
    of a second instead of waiting out the poll interval.

Fixed
  * Single-instance guard. A second copy of the monitor (for example, a manual
    launch on top of the autostart logon task) used to start alongside the first
    and, because both append to the same log file, could make the first silently
    drop lines through a file-lock collision. A second copy now logs a SKIP note
    and exits, leaving one clean writer.


v1.0.0  -  2026-07-19
---------------------
  * Initial release: colorized, btop-style tray dashboard tracking USB link
    quality, network and Wi-Fi, Bluetooth, and disk health/temperature, with all
    events mirrored to a rolling local log.
