Skip to content

SysManager 1.52.94

Choose a tag to compare

@github-actions github-actions released this 10 Jul 22:10
· 698 commits to main since this release
7cd2259

What's new for you

A performance fix: the Dashboard no longer re-scans your disks over WMI every 2 seconds just to label the temperature sensors. Disk names are read once and reused, so the live vitals poll is lighter on CPU and disk — especially noticeable on machines with several drives.


[1.52.94] - 2026-07-11

Fixed

  • The Dashboard's 2-second temperature poll re-ran a Win32_DiskDrive WMI query and a per-disk SMART association walk on every tick, purely to relabel storage sensors with (unchanging) disk names. RefreshTemperaturesAsync calls TemperatureService.ReadAllAsync() with includeStorage defaulting to true; on an elevated session that ran GetDiskNamesFromWmi() (a Win32_DiskDrive query) and EnrichStorageNamesAsync → DiskHealthService.CollectAsync() (an MSFT_PhysicalDisk enumeration plus a per-disk MSFT_StorageReliabilityCounter walk — by the code's own comments "by far the heaviest part of a read") every 2 seconds while the Dashboard (the app's default tab) was open. Disk friendly-names are static hardware identity, so both resolutions are now memoized once (mirroring the existing _nvApiInitTried "resolve static hardware once" pattern), with a SemaphoreSlim gate making the first resolution race-safe across the 2s poll, the user's Refresh, and the 10s resource sampler. After the first read the hot poll only calls LibreHardwareMonitor's Update() for live temperatures.

Verify the download

Get-FileHash .\SysManager-v1.52.94.exe -Algorithm SHA256

Expected SHA256: BEEBA666486689C6D2E818DA84D0AC834CE0CB8C1FD0D423E985A96ACAFC2B25