Screenshot upload failures now report the HTTP status, status text and response body instead of a plain string
Device info failing on recent Windows 11 builds, which no longer ship wmic.exe — OS version, UUID, brand, network interfaces and storage status now come from PowerShell CIM queries and CPU and memory usage from the Node.js os module, dropping the node-disk-info dependency that shelled out to wmic logicaldisk
Devices reporting no network interfaces at all when the Wi-Fi lookup failed — netsh wlan show interfaces needs a Location permission that the LocalSystem account the server runs as cannot hold, and its rejection took down the whole interface listing, the strength telemetry and the connection check. Wi-Fi details are now read through the WinRT Windows.Networking.Connectivity API, which is not gated, and are optional enrichment that resolves to none on failure. Signal is only exposed as 0-5 bars there, so the reported strength moves in 20% steps instead of being an exact percentage
Uninstall removes C:\signageos even when processes are still running from it
Deployment archive build fails on npm install errors instead of shipping stale node_modules
Error and warning output is mirrored to stdout so failures appear in the device log
Periodic screenshots silently stopping (while instant screenshots kept working) because front-display's isOnline() calls the browser global fetch, which is absent on Node 16 — polyfilled global.fetch with node-fetch in the server entry
Issue with upgrade from older app versions
Method screenshotUpload() now supports headers to be set for the upload request
Fix background video z-index not applied due to CSS Modules mangling global selectors
4K screenshot capturing only partial screen on high DPI displays
Bridge server console window stealing focus from the webview after restart by launching the desktop bridge server as a hidden shell process
Saving debug settings restarts the browser only when native debug changes, and with the new setting
New devices and devices reinstalled without a stored identity deriving their UID from MachineGuid, which every machine cloned from one Windows image shares, instead of from their hardware
Devices upgraded from 3.1.0 on boards with a placeholder SMBIOS UUID failing to start
Devices upgraded from versions without registry persistence losing their UID after an uninstall and reinstall
A transient hardware query failure during the first start assigning the device a different UID for good
aHash of a solid-color screenshot now matches the value other platforms report for the same frame
Reinstallation on a device with a leftover kiosk user profile completing without the player ever starting
Installation now fails with a clear error instead of completing when the kiosk user profile cannot be set up
Uninstallation sometimes leaving the kiosk user profile behind
Scheduled reboot actions set by an applet work
Screenshots taken by an applet return the screenshot URL and its image hash
The proxy address is reported correctly
Display resolution and orientation are reported correctly
Timers report the volume they were set with
Remote control reports its real state, can be disabled on a newly installed device and restarts the device only when the setting changes
Players on networks that block ping are no longer reported as offline
Checking whether sync is connected reports the sync connection instead of the internet connection
Device staying on a blank screen for several minutes after a fresh installation while the kiosk kept restarting