Note
All main channel releases are rolled out in stages, typically taking a few days for the entire fleet to upgrade.
Notable Changes
- Experimental Audio Support – Host HDMI audio is captured through a UAC1 USB audio gadget and streamed to the browser over the existing WebRTC session. Off by default, gated by a new USB Audio permission under USB Devices, and the gadget stays attached to the host when streaming is toggled off by @adamshiervani in #1475, #1479, #1499 and #1596
- 120 Hz Video Support – Capture and stream at 120 Hz refresh rates by @zalo in #1452
- Mobile Trackpad Mode – AnyDesk-style relative trackpad input for phones and tablets by @herduin in #1494
- Non-destructive USB Recovery – USB recovery no longer wipes gadget configuration, avoids needless rebinds, fixes a mass storage kernel oops, and restores every USB function during recovery and forced eject by @adamshiervani in #1563, #1579, #1582 and #1599
- Explicit USB Wake Control – A new "Try to wake" button on the no-signal overlay sends a dedicated wake-only HID signal, while regular keyboard and mouse input no longer wakes a suspended host by @adamshiervani in #1471
- Idle Host Display Setting – Optionally hide JetKVM as a monitor from the host when no remote session is active and restore it on reconnect by @adamshiervani in #1476
- Turkish Localization – Added the Turkish (tr) UI translation by @buadamlaz in #1557
- Smaller Firmware Image – Embedded static assets shrunk from 9.4 MB to 1.4 MB by @adamshiervani in #1565
- Signaling Refactor – Introduced a signaling adapter interface and dropped legacy HTTP session signaling by @adamshiervani in #1569
Video & HDMI Improvements
- Signal limited-range BT.709/BT.601 colorimetry in the encoder VUI by @adamshiervani in #1460
- Set the video codec before the native stream starts by @adamshiervani in #1509
- Discover video codec capabilities through RPC by @adamshiervani in #1594
- Serve the EDID preset list from the device by @adamshiervani in #1586
Input & HID Improvements
- Mouse jiggler now uses tiny random movement near the current position by @ddska in #1424
- Forward mouse X1/X2 buttons to the remote host by @Caedis in #1473
- Send keyboard macros to the device in chunks by @adamshiervani in #1585
- Allow brief HID write backpressure without dropping reports by @adamshiervani in #1598
- Fixed mouse button state across reconnects by @adamshiervani in #1591
- Fixed delayed macro cancellation stopping its replacement by @adamshiervani in #1602
Network & Security
- Client IP is no longer taken from untrusted proxy headers by @adamshiervani in #1492
- Cap TLS serial numbers at 128 bits for Apple clients by @mcuelenaere in #1453
- Align static IPv4 validation with live network state by @adamshiervani in #1593
- Stop leaking the DHCP lease label update timer by @adamshiervani in #1592
- Send X-Device-SKU on the cloud signaling connection by @adamshiervani in #1568
- Added a Save & Disconnect button when disabling MQTT by @dseven in #1486
Fixes
- Fixed a WebRTC session shutdown race by @adamshiervani in #1468
- Fixed native failsafe activation by @adamshiervani in #1507
- Validate URL mounts before mounting by @adamshiervani in #1508
- Reap the shell spawned for the terminal channel by @adamshiervani in #1581
- Copy log buffers before asynchronous stream delivery by @adamshiervani in #1597
- Recreate serial and CDC-ACM console channels per peer connection by @adamshiervani in #1571
- Clear HID channels and protocol version when the device route unmounts by @adamshiervani in #1572
- Stop leaking JSON-RPC callbacks by @adamshiervani in #1570
- Abort storage uploads on cancel, reselect and unmount by @adamshiervani in #1574
- Show 0% instead of NaN% when storage reports no capacity by @adamshiervani in #1573
- Let Button pass aria-label through to the element by @adamshiervani in #1576
- Show pending state while submitting password settings by @adamshiervani in #1603
- Fixed the tzdata generator to emit go fmt formatted output by @IDisposable in #1442
Other Changes
- Removed the version-based UI feature flag mechanism by @adamshiervani in #1575
- Extracted the cloud UI bundle version selection by @adamshiervani in #1577
- Reduced time sync log noise by @adamshiervani in #1506
- E2E test improvements: S3 wake test version gate, remote agent diagnostics, input stabilization, post-update mouse check, optional shell access, RPC-based upload and serial verification, capability-based skips, spec split by area, hardware input capture and audio routing, and codec retry coverage by @adamshiervani in #1458, #1457, #1477, #1580, #1587, #1588, #1589, #1590, #1595 and #1601
New Contributors
- @ddska made their first contribution in #1424
- @mcuelenaere made their first contribution in #1453
- @zalo made their first contribution in #1452
- @herduin made their first contribution in #1494
- @buadamlaz made their first contribution in #1557
Full Changelog: release/0.5.8...release/0.5.9