Fixes missing disks on Windows, picks a more reliable CPU temperature and GPU clock on Linux, and cuts the backend's CPU and memory use. The Python connector's memory_free helper now reports available memory.
Windows
- Fix disks not showing since 5.6.0. The disks module dropped partitions that didn't start with
/dev/, which on Windows is all of them, so the disk mounts list in settings was empty too. Thanks @DeFlanko (#4408).
Linux
- Prefer the CPU's own hwmon driver (
coretemp,k10temp,zenpowerorcpu_thermal) for CPU temperature, so an unrelated sensor listed first, such asacpitz, no longer wins. - Read i915 GPU clocks from the DRM card instead of its PCI device, where i915 doesn't put them.
Performance
- Cut the backend's CPU and memory use across the data modules (#4406):
- Fix a leak that kept every update referenced, and a Windows display callback created on every update that would eventually panic.
- Sample CPU readings over one shared window, and on Windows read the counters with one
typeperfrun instead of one per CPU. - Cache slow lookups such as
lspci, user names and DMI identity, and stop retrying sources that always fail. Fix the Windows thermal zone script, which failed every time. - Only write module data to disk when it changes, and encode WebSocket broadcasts once for all listeners.
Connector
memory_freenow returns available memory instead of unused memory. On Linux and macOS unused memory leaves out reclaimable cache, so it read far lower than what was really free (#3674).
Dependencies
- Update robotgo to 1.3.5 (#4387).
- Update ruff to 0.17.0 (#4402), uv to 0.13.0 (#4403), bun to 1.4.3 (#4404, #4405), prettier to 3.9.10 (#4407), @timmo001/oxlint-rules to 0.6.2 (#4401) and starlight-links-validator to 0.27.0 (#4400).
Maintenance
- Rename
web-clienttoclient/web. - Use the nested
dotcommand names in the docs. - Update timmo001/workflows to 20261010.0.
Full Changelog: 5.12.1...5.12.2