All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog: https://keepachangelog.com/en/1.1.0/
This project follows Semantic Versioning: https://semver.org/
1.38.0 (2026-09-05)
- history: add session recording and history viewer (429f1b8), closes #175
- history: put synced chart values on their own curves (522a139), closes #175
- history: whole-row click target and synced multi-chart hover values (d78b45f), closes #175
- startup: prevent launching a second RIGStats instance (f4c9d2b), closes #180
- tray: add procedurally-drawn icons to the tray menu rows (26cae81), closes #178
- tray: blink the recording indicator instead of a static dot (9362390), closes #175
- alerts: fire threshold notifications automatically (650229c), closes #179
- ci: add manual trigger to winget-submit as fallback for tag-ref reruns (999ecc2)
- gpu: guard against fatal wgpu device errors instead of panicking (47091fb), closes #176
- history: harden session index against corruption and cross-process races (3ee9186), closes #175
- history: log when a session's CSV file can't be opened (150547f), closes #175
- history: polish session list and detail UI (640c87c), closes #175
- history: refresh session list when recording starts or stops (4401f47), closes #175
- history: satisfy newer clippy's unnecessary_sort_by lint (fef9373), closes #175
- history: stop chart y-axis from getting stuck out of range (92c83e9), closes #175
- history: suffix float literals CI's newer rustc now requires (0d4a8ec), closes #175
1.37.0 (2026-08-21)
- main: selective per-pixel transparency for Normal/On-Top/Behind (#101) (14da1ec)
- wallpaper: support per-pixel opacity in Desktop Wallpaper mode via DirectComposition (72869a5), closes #131
- winget: verify declared dependencies against rigstats.exe imports (9adceaf)
- egui: suffix Stroke width literals to satisfy float_literal_f32_fallback (c939e23)
- landscape: clip grid cells and stop egui's interact_size floor overflowing compact panels (8dd70fc), closes #171 #172
- main: avoid crash at startup when no DX12 adapter is available (ebb73f5), closes #173
- wallpaper: make sparkline graph backgrounds respect dashboard opacity (791e29f), closes #168
- wallpaper: stop scaling sparkline line/gradient by opacity (95b1977)
- winget: match Publisher to installer registry value (19e09a1)
1.36.0 (2026-07-08)
- status: restore displays.json in diagnostics export, fix stale docs (0f2a47a), closes #163
- ux: add drag/lock tooltips and a Help/Docs entry pointing to rigstats.app (9c78b89), closes #161
- autostart: never let a dev build overwrite the real autostart entry (435be07), closes #160
- dashboard: support Fill Screen for landscape and stabilize its scale (af8a138), closes #159
- winget: pass --repo to gh release list in submit workflow (a78fd7b)
- winget: skip submission when an update PR is already open (74d7d32)
1.35.2 (2026-07-02)
- header: stop hostname text from crowding the brand logo (410318a), closes #146
- sidecar: treat CPU temp/power of 0 as unavailable (f9c60ff), closes #148
1.35.1 (2026-06-24)
1.35.0 (2026-06-24)
- settings: restructure into five tabs and clarify wallpaper mode (d11d591), closes #128
- wallpaper: log host exit code so loader crashes show in diagnostics (37fcba1), closes #133
- window: add desktop wallpaper (WorkerW) mode via host process (37d29d3), closes #122
- gpu: read fan Control sensor (%) instead of Fan sensor (RPM) (6a4a0ce), closes #119
- power: sum all GPU powers for System Power GPU row (e4a1bed), closes #120
- settings: disable wallpaper-incompatible controls (9a34526), closes #124
- settings: wrap wallpaper-save banner text within the panel (acaa3b3), closes #130
- status: show 'Wallpaper host' pipe state instead of red Disconnected (fea4f1a), closes #134
- wallpaper: apply display-profile change on Save via host relaunch (7787c17), closes #127
- wallpaper: fit portrait host window to content height (69a1177), closes #126
- wallpaper: graceful host teardown + respawn backoff to stop 0xc0000142 storm (be5143f), closes #132
- window: carry dashboard position across profile changes (7755e1d), closes #125
- window: fill the current monitor in Fill Screen mode (0dafdb7), closes #129
1.34.0 (2026-06-22)
- power: add System Power panel with CPU/GPU breakdown (7439ad2), closes #118
- power: add user-configurable PSU capacity for power bar scale (726a49d)
1.33.0 (2026-06-21)
- dashboard: pin the non-floating dashboard to a screen (9aedbad), closes #111
- landscape: add landscape profiles with adaptive grid layout (7c037b7), closes #108
- dashboard: persist pinned position when switching profiles (7da9f90), closes #112
- landscape: only target a matching monitor, else use the primary screen (e258073)
- settings: disable Fill Screen for landscape profiles (3f452cd)
1.32.0 (2026-06-18)
- settings: add fullscreen fill-screen mode for dedicated monitors (2035105), closes #83
- status: add GPU driver version + stale-driver warning (58f567e), closes #81
- updater: parse changelog lines with trailing closes references (c8684e6)
1.31.1 (2026-06-16)
- settings: apply Override Model Name to header panel (ee2a49f), closes #78
- updater: reset to Idle on close so Check for Updates reappears (dba9cd1)
1.31.0 (2026-06-16)
- debug-log: human-readable timestamps and severity levels (d1c4cdf)
- disk: show free space, model name, and disk type per drive (8f1ca46)
- net: sub-ms ping precision via TCP connect timing (a7cb110)
- cpu: clip core scroll area to exactly 2 visible rows (d91e5bb)
1.30.0 (2026-06-15)
- net: add WAN ping, interface subtitle, and larger UP/DOWN numbers (a03951d)
- sensor: ensure single-file publish and install companion native DLLs (289be45)
- status: load diagnostics off the UI thread to stop freezes (69e2f74)
- tray: remove Show/Hide and fix startup panel clipping (7d25150)
- status: run diagnostics collection off the UI thread; hide sc.exe console (bf98584)
1.29.0 (2026-06-15)
- gpu: extend panel with hotspot, FAN/VDEC bars, and code cleanup (600acaf)
- diag: improve diagnostics and fix dark mode for child accounts (4882f61)
- updater: render commit hash links as clickable hyperlinks (27b4012)
- updater: render version headings as clickable hyperlinks (53d18d0)
1.28.0 (2026-06-14)
- dialog theme adapts to OS light/dark mode dynamically (8945891)
- egui: clip of bottom panel when switching floating to fixed mode (e8b2ca8)
- egui: harden against silent failures and panics (7ed655a)
- egui: make shared Mutex locking poison-tolerant (cef8223)
- egui: cache parsed changelog in updater dialog (aa789f2)
- egui: skip redundant InnerSize viewport command in fixed mode (e0e2939)
- egui: throttle 'always behind' Z-order enforcement in floating mode (d68fdef)
1.27.2 (2026-06-14)
- add Tauri minisign signature to latest.json for pre-1.26 clients (d839a27)
- install lefthook via winget in cargo xtask setup, update docs/setup.md (da16d4a)
1.27.1 (2026-06-13)
- correct exe metadata shown in Task Manager and system tray settings (9784f4e)
1.27.0 (2026-06-12)
- engine: replace Tauri/WebView2 with native egui — eliminates WebView2 idle CPU overhead entirely (28a41e6)
- battery: new battery panel — charge %, status, time remaining, power draw with warn/crit colour coding (e5bfb6c)
- floating: floating panel mode — detach any panel as its own borderless window, drag freely, lock positions (1e3c9e1)
- themes: five colour presets — Dark Cyan, Dark Purple, Dark Amber, Dark Teal, Dark Rose with live preview (1ef8a6d)
- profiles: side-monitor profiles (FHD/QHD/4K side) with automatic content scaling (75305e6)
- settings: redesigned four-tab settings dialog — Dashboard, Panels, Alerts, Appearance (cac5fc9)
- alerts: dual battery thresholds — charge % (alert below) and power draw W (alert above, discharge only) (e5bfb6c)
- gpu: AMD iGPU support — sums GPU Core + GPU SoC power for accurate total wattage (d1f3fb1)
- updater: background download with progress, in-app changelog display (f38a673)
- brands: brand logo support for ROG, MSI, Alienware, Razer, Legion, HP Omen, AORUS, Gigabyte, Predator, Taurus (926d69e)
- floating: panels stay behind other windows via WS_EX_NOACTIVATE and Win32 SetWindowPos (ceb8ae2)
- opacity: window-level opacity via SetLayeredWindowAttributes replaces broken per-pixel alpha (8661d36)
- cpu: core bars layout — natural label width eliminates dead space at column left edge (e5bfb6c)
1.26.0 (2026-06-08)
- surface Tauri capability-denied errors instead of swallowing them (f17793d)
- floating panel positions never saved after drag (7580971)
- grant outer-position permission to panel windows so drag positions save correctly (1673afa)
1.25.1 (2026-06-08)
- improve floating panel position diagnostics for bug reports (70756c8)
1.25.0 (2026-06-06)
- logging: add stats CSV logging with tray recording indicator (696352b)
1.24.0 (2026-06-05)
- floating: add lock-positions toggle to prevent accidental panel moves (c490349)
- floating: correct BASE_PANEL_HEIGHT for CPU panel (eb108f4)
- floating: eliminate frame gap and WebView2 deadlock when toggling (4963b20)
- updater: show update badge when manual check finds a new version (2d4282d)
- windows: center popup windows on primary monitor when no tray click (d6676b5)
- windows: smooth fade-in on show and eliminate white flash (ea7e973)
1.23.0 (2026-06-02)
- cpu: display core bars two per row for denser layout (addf819)
- cpu: make core bars area dynamically fill available panel height (502074b)
- app: reapply visible panels after profile change to remove blank gap (e2b3441)
- commands: restore always_on_top when leaving floating mode (15a8ef3)
- diagnostics: lower status window always_on_top before save dialog (6e9fd83)
- gpu: merge GPU+VRAM bars onto one row to free space for sparkline (34d5ead)
- windows: center all modal windows on the tray monitor consistently (ce8dcc7)
1.22.6 (2026-05-31)
- installer: fix pnputil cmd quoting, use ${VERSION} for version, call pnputil directly without cmd /C (02a6764)
- installer: treat pnputil exit 259 as success on reinstall (73fbb65)
- installer: use Sysnative to bypass WOW64 redirection for pnputil (ace42bc)
1.22.5 (2026-05-31)
- installer: add pawnio.inf pre-check and driver store fallback on install failure (181b369)
- installer: add version, instdir, timestamp and sc create output to install log (5c762f6)
- installer: use full path to pnputil.exe — not reliably in PATH in elevated NSIS context (f4907a5)
1.22.4 (2026-05-31)
- gpu: combine 3D and VDEC into single bar row to prevent sparkline overflow (0e941f3)
- installer: use ReadEnvStr to read %PROGRAMDATA% — $COMMONAPPDATA is (b24313b)
1.22.3 (2026-05-31)
- gpu: add GPU VR SoC as fallback temperature for AMD iGPU (Radeon 890M) (1988794)
- installer: use $COMMONAPPDATA instead of $PROGRAMDATA in NSIS hook (3a8a146)
1.22.2 (2026-05-30)
- ensure PawnIO and .NET 10 changes are included in release (2a6717b)
1.22.1 (2026-05-30)
- installer: fix PawnIO catalog mismatch caused by git line ending conversion (1bfa927)
- installer: log pnputil output to install log for easier diagnostics (90e8b52)
1.22.0 (2026-05-30)
- diagnostics: write sensor tree to file on sidecar start and include in diagnostics ZIP (0b9a2df)
- sidecar: replace WinRing0 with PawnIO via LHM 0.9.6 (8f94e36)
1.21.1 (2026-05-30)
- installer: use path exclusion for Defender instead of process (8a2bf99)
1.21.0 (2026-05-29)
- diagnostics: add sidecar log and service status; replace LHM task probe (1f07487)
- sidecar: replace LHM HTTP polling with named pipe sensor sidecar (5867d1d)
- sidecar: run as Windows Service with PipeSecurity and auto-restart (78110b0)
- status: replace LHM task fields with sidecar service status (00c9583)
- installer: add Defender exclusion for rigstats-sensor.exe (70a7044)
- sidecar: grant full GENERIC_READ rights on pipe ACL (18279ea)
1.20.0 (2026-05-29)
- add battery panel and fix clock/header UI issues (ed7d35d)
- diag: expand diagnostics ZIP and add regression tests (3df0868)
- panels: remove right-click context menu and standardize secondary panel heights to 320px (5b46c71)
- settings: redesign with four-tab UI, battery alerts, and DPI fix (adac083)
- remove RAM sparkline and fix SPEED/TYPE detection on laptops (b0bba5d)
- ui: sync clock/RAM/battery font size and add battery power colours (c80d3d2)
1.19.0 (2026-04-18)
- gpu: add multi-GPU selector and persist preferred GPU to prevent auto-switching (af23665)
1.18.0 (2026-04-17)
- floating: add floating panel scale setting with live preview (8305caf)
1.17.0 (2026-04-16)
- gpu: show active GPU when iGPU and dGPU coexist (c6810ec)
- ci: use cargo generate-lockfile to sync Cargo.lock after release (79d2e15)
- gpu: prevent ring clipping when D3D/VDEC bars are visible (08f1497)
- layout: clip procList from bottom and scale ring-wrap gap in floating panels (2be2923)
- lhm: extract temp and power for AMD iGPU (Radeon 890M) (55173c6)
- lhm: fall back to GPU Memory Junction for hotspot on laptop GPUs (39dbd1a)
- lhm: show AMD SVI2 voltage rails in motherboard panel on laptops (1bee073)
- startup: reload webview when WebView2 fails to init at Windows boot (0ce4bb6)
1.16.0 (2026-04-14)
- add floating panel layout mode (78663c2)
- floating: stabilize panel mode sync, drag behavior, and spark history parity (a4490c5)
- layout: correct CSS overflow on high-DPI displays (d7314b5)
- layout: replace hardcoded sizes with scaled CSS variables across all panels (2187c7b)
1.15.0 (2026-04-02)
- add process monitor panel (f498716)
1.14.0 (2026-04-01)
- add customisable colour themes to the dashboard (6ecfe9f)
- update badge click blocked by header window-drag mousedown (523fb94)
1.13.0 (2026-03-31)
- extend GPU panel with memory clock and D3D workload bars (1f67a11)
- handle GitHub release manifest race condition gracefully (d1a15a1)
1.12.0 (2026-03-30)
- retry WMI hardware detection after startup if fields are missing (72392ba)
- show read and write separately in storage sparkline (f17140c)
- show both upload and download in network sparkline with correct colours (181c06b)
- truncate long rig name and reject version strings as model name (edcea41)
- update spark tests to reflect renamed history series (6a33251)
1.11.0 (2026-03-27)
- add Motherboard panel with fans, temps, and voltage rails (819176e)
- redesign dialogs with Windows 11 dark-mode aesthetic (9a1aa2a)
1.10.1 (2026-03-26)
- stop LHM before file extraction to prevent locked DLL errors on update (a6ca37e)
1.10.0 (2026-03-26)
- cycle disk drives in pages of three when more than three are present (f1c55d5)
- GPU sensors, SATA SSD temps, and DDR5 RAM type detection (9c4b4de)
- sum all disk throughput, LPDDR types, VRAM fallback as Option (a8028f0)
1.9.3 (2026-03-25)
- correct CPU temp and power sensor matching for Intel CPUs (e53ae79)
- remove set_fullscreen(false) from set_main_height to prevent window shift on save (10d602e)
- stable window placement and correct CPU sensor parsing (1501395)
1.9.2 (2026-03-25)
- FHD Sidebar profile, GPU dGPU fix, panel-hide window resize (2b72c27)
1.9.1 (2026-03-24)
- repair three update-flow bugs (b2a6b6e)
1.9.0 (2026-03-24)
- add DDR5/DDR4 DIMM temperature to RAM panel (4d65740)
- temperature threshold alerts with configurable thresholds and notifications (6cac71e)
- show disk temp when WMI model map is empty; expand diagnostics (61dbf3f)
1.8.1 (2026-03-24)
- repair updater — missing event permission blocked install (d96795f)
1.8.0 (2026-03-24)
- add NVMe/SSD temperature display to disk panel (8ab3187)
- write install.log to ProgramData instead of AppData (eb968ac)
1.7.1 (2026-03-23)
- updater: show full changelog history and polish no-update view (b6ed4dd)
1.7.0 (2026-03-23)
- updater: move changelog to updater dialog and refine UX (b14739c)
1.6.0 (2026-03-23)
- updater: add auto-update with background check and progress UI (3114d2d)
- remove window decorations and force Node 24 in CI (e2cb4fd)
1.5.1 (2026-03-22)
- lhm: detect Intel CPU temperature via priority sensor list (43c58b3)
1.5.0 (2026-03-21)
- diagnostics: add installer log to diagnostics ZIP and pretty-print all JSON files (04611e6)
- hardware: add PowerShell fallback for model name detection and filter placeholder values (bf1b5b5)
- lhm: detect Intel CPU temperature via priority sensor list (Core (Tctl/Tdie) → CPU Package → Core Average)
- settings: auto-detect model name immediately when field is cleared (3b3e4f8)
1.4.0 (2026-03-21)
- autostart: add launch-at-startup toggle to Settings (c69057c)
- ui: add drag-to-reorder panel ordering (2fb5f92)
- ui: add consistent hover animations to all dialog buttons and panel toggles (d203fd0)
1.3.1 (2026-03-20)
- lhm: fix scheduled task setup and improve diagnostics (dc6c25c)
1.3.0 (2026-03-20)
- about: add changelog viewer with version history (a99f6e4)
- diagnostics: add display topology to diagnostics export (801fb86)
- rebrand to RIGStats and add SEO + custom domain support (309ae48)
- website: add product website with GitHub Pages deployment (bc35a02)
1.2.2 (2026-03-20)
- fill dialog shell to window height and pin buttons to bottom (c6114b7)
1.2.1 (2026-03-20)
- correct Cargo.toml version to 1.2.0 and add release-please marker (337fbde)
1.2.0 (2026-03-19)
- display: add profile-aware dashboard layouts with live size preview and monitor fallback improvements (31ba3a2)
1.1.0 (2026-03-14)
- add Collect Diagnostics export to Status dialog (745ef04)
- add panel visibility control + live preview and unify dialogs to ultra-compact layout (73323b1)
- Add support for Acer, Alienware, Gigabyte, HP Omen, Lenovo, MSI, Razer (7b0b99f)
- eliminate memory leaks from reqwest client churn and orphaned Tauri listeners (0a7cbf7)
1.0.1 (2026-03-14)
- Fix installation and debugging: Fix installation and Status page for debugging (2efb9bb)
- Remove support for msi and some UI fixes (0e676b3)
- bootstrap first release (9b40fc4)