Kyber 0.22.0
Version 0.22.0 is one of the most feature-packed releases to date, adding automatic reconnection, multi-client support, watermarking, new capture backends, and a range of reliability improvements across the board.
Automatic reconnection is now built into both the desktop and web clients. When a connection drops unexpectedly, the client will attempt to reconnect transparently without requiring manual intervention. The web client exposes this through new reconnecting, reconnected, and reconnection_failed events, allowing web-based integrations to react accordingly. Multi-client support arrives on the server side: multiple clients can now connect to the same streaming session simultaneously, laying the groundwork for collaborative and monitoring use cases.
Two new capture backends have been added for Linux. NvFBC support enables high-performance, low-latency capture directly from NVIDIA GPUs, bypassing the compositor entirely. A watermark feature is available on Windows and Linux X11 with NVENC, allowing a visible overlay to be stamped on the captured stream — useful for content attribution or identifying source machines in multi-host setups.
On Windows, the capture and encoding server now prevents the display from sleeping when a frame acquisition timeout occurs, keeping the host awake during active sessions. Display hotplug events are now detected and handled at runtime, so connecting or disconnecting a monitor no longer requires a server restart. The x264 software encoder is now available on Windows as a fallback when hardware encoding is not available or desired. QUIC and WebTransport connections can now be handled simultaneously on the same server, improving compatibility with different client types. TLS certificate hashes are now verified by the client for QUIC connections, and TLS certificate paths have also been made configurable in the server configuration file. On Windows, multiple server instances can now run on the same machine without conflicting, and child processes are automatically cleaned up if the parent exits unexpectedly. The keyboard is grabbed in fullscreen mode on both Windows and Linux, ensuring key events are not intercepted by the local OS. The web client fixes scroll behaviour in Safari, resolves a configuration UI loading issue in Safari, and adds a gamepad blocklist option for filtering unwanted input devices.
Changelog
- windows/linux: Grab keyboard when fullscreen is enabled
- desktop: Add automatic reconnection support
- libkypc/windows: Implement automatic child process cleanup
- windows: Allow to run multiple controller instances on the same machine
- vlc: Fix build issues for Windows cross build and iOS/visionOS build
- controller: make TLS certificate paths configurable
- avserver/win32: Prevent display sleep on frame acquisition timeout
- controller: QUIC and Webtransport connections can now be handled simultaneously
- libclient: Verify TLS certificate hash for QUIC connections
- Implement watermark feature. For Windows and Linux X11 + nvenc only
- linux: Implement NvFBC grab
- controller: Add basic multi-client support
- avserver/win32: Allow to use x264
- avserver/win32: Detect display hotplug
- (web) libkynput: Fix scroll behaviour in Safari
- (web) jsapi: Add gamepad blocklist support
- (web) ui: Vertically center canvas
- (web) Add automatic reconnection support with new events:
reconnecting,reconnected,reconnection_failed - (web) html: fix config ui loading in safari