Skip to main content

Kyber 0.18.0

· 3 min read

Kyber 0.18.0 brings a reworked protocol selection system, expanded TLS flexibility, and quality-of-life improvements for audio control. Protocol selection for both video and audio has been refactored and is now exposed through a dedicated --audio-protocol parameter, giving you independent control over the transport used for each stream. Audio can now be sent over an unreliable QUIC channel, which reduces latency at the cost of occasional dropped packets — a useful trade-off for real-time use cases. The complete TLS certificate chain is now loaded correctly by the server, and you can opt in to using the operating system's built-in certificate store on the client side. Server TLS certificates are now optional when using the WebSocket backend, simplifying local and development setups. The QUIC stack has been updated to quinn 0.11.5, wtransport 0.4.0, and rustls 0.23.13.

The desktop client now correctly hides the cursor at startup when the session requires it, and keyboard shortcuts for adjusting audio volume have been added. A workaround has been applied for a Windows-specific issue where negative presentation timestamps could occur while the NTP clock was adjusting backwards, which previously caused encoding problems.

On the web side, a bug that prevented the correct screen resolution from being applied on display selection has been fixed. A spurious warning that appeared in logs on deliberate disconnect has been suppressed, and missing WebTransport certificate hashes from the server are now handled gracefully. Volume and mute controls are available through the JavaScript API.

Changelog

  • desktop: Refactor protocol selection and add audio protocol parameter
  • desktop: Correctly hide cursor at startup if required
  • avserver/win32: Workaround negative PTS generation while NTP goes backward in time
  • controller/ws: Handle close control frame
  • libclient: Update VLC. Kymux branch is now based on 6880921445
  • libclient: Allow to rely on builtin OS TLS certificates
  • desktop/kymux-audio: Add unreliable parameter
  • controller: Correctly load the complete certificate chain
  • controller/ws: Make server certificate generation optional
  • desktop: Add audio volume keyboard shortcuts
  • Update Quic stack (quinn 0.11.5, wtransport 0.4.0, rustls 0.23.13)
  • (web) jsapi: Refactor protocol selection and add audio protocol parameter
  • (web) inputs: Fix display selection. The screen resolution wasn't correctly selected
  • (web) Also log video coded size when receiving libclient::Event::CanvasResized
  • (web) libclient: Avoid to display "Failed to receive audio/video from Kymux" when disconnection has been requested
  • (web) libclient: Handle cases where controller gives no Webtransport hash certificate
  • (web) jsapi: Add audio volume/mute API