Release Notes for LiveSwitch Server v1.22
1.22.2.64849
Release date: January 16, 2025
Client SDK
Bug Fixes
- [LS1-2674] [iOS/MacOS] Fixed a bug where WebSocket connections for signaling and Media-Over-WebSockets on iOS and macOS were disconnecting and reconnecting every 5 seconds.
Media Server
Bug Fixes
- [LS1-2690] [Webhooks] Fixed a bug where the Client Updated event was never sent.
- [LS1-2693] Fixed an issue where webhook events were duplicated during failed delivery attempts due to server or network instability, which resulted in multiple identical events being sent when connectivity was restored.
Improvements
- [LS1-2695] Enhanced Connection and Client State Ledgers to track both total elapsed time since connection/client start and incremental time between state changes. Connection ledger now displays state transitions when reaching Connected state, in addition to connection closure. These improvements provide better visibility into connection timing and state progression.
Gateway
Bug Fixes
- [LS1-2693] Fixed an issue where webhook events were duplicated during failed delivery attempts due to server or network instability, which resulted in multiple identical events being sent when connectivity was restored.
1.22.1.64565
Release date: January 8, 2025
Client SDK
Bug Fixes
- [LS1-2591] [Media-over-WebSockets] Fixed an issue where the video was not working on Safari Tech Preview.
- [LS1-2594] Fixed a bug where connection updates were rejected in New, Initializing, and Connecting States.
- [LS1-2608] [Media-over-WebSockets] Fixed a video cropping issue when changing video resolution during a call.
- [LS1-2616] [Media-over-WebSockets] Fixed a bug preventing connections from being closed promptly upon remote client leave.
- [LS1-2621] [iOS/MacOS] Fixed an issue where unregistering from a session would take longer. This could lead to event handlers not getting unregistered if rejoining during this period. For instance, in our example app this could manifest as duplicate chat messages.
- [LS1-2649] Removed misleading shutdown log about missing system timestamps that incorrectly suggested stream synchronization issues.
- [LS1-2667] [iOS] Fixed a regression introduced in 1.21.1 where remote video streams were not being displayed after bringing the app back from the background.
Improvements
- [LS1-2673] Enhanced connection state diagnostics and logging
- Added diagnostic logging to help identify connection establishment issues
- Expanded logging to include timing of MediaIntents, Offers, and Answers with connectivity error summaries
- Added JSON-formatted connection state transition summaries and related events
Media Server
Bug Fixes
- [LS1-2617] Updates signaling message logging and included log contents.
- [LS1-2649] Removed misleading shutdown log about missing system timestamps that incorrectly suggested stream synchronization issues.
- [LS1-2655] Enhanced TURNS authentication logging to help detect potential port scanning attempts.
Improvements
- [LS1-2673] Enhanced connection state diagnostics and logging
- Added diagnostic logging to help identify connection establishment issues
- Expanded logging to include timing of MediaIntents, Offers, and Answers with connectivity error summaries
- Added JSON-formatted connection state transition summaries and related events
Gateway
Bug Fixes
- [LS1-2659] Improved efficiency of signaling message processing.
Server Console
Bug Fixes
- [LS1-2661] Fixed a bug causing a 404 error when saving channel webhook configurations.
Windows Installer
Bug Fixes
- [LS1-2671] Fixed Windows Installer Redis configuration to prevent Append-Only File write errors during client disconnects by disabling AOF persistence and enabling TCP keepalive.
1.22.0.63478
Release date: December 10, 2024
Client SDK
Bug Fixes
- [LS1-1902] [Media-over-WebSockets] Updated Media-over-WebSockets to support dynamically changing the video resolution being sent during a meeting.
- [LS1-2359] [.NET] Fixed a bug causing a potential race condition responsible for a null reference exception on shutdown.
- [LS1-2435] Implemented high-precision and more efficient timing in the internal Scheduler, improving ICE connectivity checks and data stream bookkeeping performance.
- [LS1-2442] [Javascript] Optimized time measurement precision and efficiency in Javascript SDK.
- [LS1-2445] [Android] Fixed an issue causing Client.unregister() to take an extra 3 seconds.
- [LS1-2471] [Javascript] Updated local candidate gathering to ensure the local relay candidate network protocol type is available and logged. The network protocol type relates to the network leg between the peer and the relay server and can be UDP, TCP, or TLS. The socket allocated for the relay candidate on the relay server is always UDP.
- [LS1-2500] [Javascript] Fixed inconsistent capitalization of stream types in logs.
- [LS1-2575] [Javascript] Fixed a bug where the network layer attempted to close already-closed WebSocket connections and eliminated confusing log messages related to redundant closure attempts.
- [LS1-2612] [Android] Added battery optimization settings dialog to comply with Android 15's background operation requirements and prevent connection failures when the app runs in the background.
- [LS1-2619] Fixed an issue in the client-side signaling that caused a delay in initializing remote media.
Improvements
- [LS1-1703] [Android] Update Android SDK to support targeting Android 14/15.
- [LS1-2558] [MAUI] Updated MAUI example to use SDK libraries directly instead of NuGet packages.
- [LS1-2615] Improved WebRTC connection handling for faster browser-initiated disconnections.
Gateway
Bug Fixes
- [LS1-2366] [API] Fixed a bug that prevented you from saving changes to an existing webhook configuration.
- [LS1-2430] Optimized logging related to the idled client detection. LiveSwitch will no longer display messages when no idled clients have been detected.
- [LS1-2548] Eliminated a potential deadlock that could happen when shutting down Gateways.
- [LS1-2567] Upgraded third-party dependencies that were considered vulnerable for MediaServer, Gateway, WebSocketMediaServer, SipConnector as well as Recording Services.
Media Server
Bug Fixes
- [LS1-2361] Added logging context to the message receive logs on the Media Server and WebSocket Media Server.
- [LS1-2434] Optimized time measurement precision and efficiency in WebSocket Media Server, delivering enhanced performance.
- [LS1-2435] Implemented high-precision and more efficient timing in the internal Scheduler, improving ICE connectivity checks and data stream bookkeeping performance.
- [LS1-2446] Fixed a deadlock on the relay server that could appear when trying to create TLS-based relay connections.
- [LS1-2501] Fixed an issue that caused log messages to print the error message when an ID was expected.
- [LS1-2502] Improved logging when receiving an error decrypting an RTP payload.
- [LS1-2505] Clarified error logs related to the inability to establish cluster connections between Media Servers.
- [LS1-2524] Fixed an issue where Media Servers don’t Unregister with the Gateway when shut down if they get errors closing active Cluster Connections.
- [LS1-2541] Fixed an issue where Cluster Connections to a shutdown media server may be retried unnecessarily after it has unregistered from the Gateway.
- [LS1-2549] Disabled TCP/TLS TURN relay between WebSocket Media Server and Media Server to reduce unnecessary TCP socket allocation.
- [LS1-2565] [Media-over-WebSockets] Fixed a bug that prevents the getStats() object from being serialized in JSON.
- [LS1-2567] Upgraded third-party dependencies that were considered vulnerable for MediaServer, Gateway, WebSocketMediaServer, SipConnector as well as Recording Services.
Improvements
- [LS1-2576] Improved Connection Logging by adding information on state transition timing at the end of the connection lifecycle.
- [LS1-2593] [Media-over-WebSockets] Added new Error {{ ErrorCode.WebSocketMediaServerChannelClientCapacityReached}} indicating that a Media-over-WebSockets connection failed due to a channel capacity constraint. The application layer can retry when the number of participants on the channel decreases.
Recording
Bug Fixes
- [LS1-2436] Fixed an issue where the recording monitor was incorrectly detecting some files as orphaned and creating a job to mux them.
- [LS1-2567] Upgraded third-party dependencies that were considered vulnerable for MediaServer, Gateway, WebSocketMediaServer, SipConnector as well as Recording Services.
Server Console
Bug Fixes
- [LS1-1758] Fix a bug where it was not possible to delete Forbidden CIDRs from Deployment Configuration.
- [LS1-2507] Fixed a bug preventing the deletion of the MCU Config in Server Console.
- [LS1-2572] Updated the connection port logic to be more robust and sensitive to smaller ranges.