Release Notes for Client SDK v1.21
1.21.4.61195
Release date: October 29, 2024
Client SDK
Bug Fixes
- [LS1-2428] Fixed audio instability regression introduced in 1.21.2 affecting iOS and macOS devices, where users experienced audio artifacts or complete audio unavailability
Gateway
Bug Fixes
- [LS1-2416] Fixed idle client detection regression introduced in 1.20.0 that could cause clients to be forcibly unregistered and close all of their connections. This issue manifested in Client SDK logs as "604::Client does not exist" errors
- [LS1-2392, LS1-2393, LS1-2394, LS1-2395] Resolved several performance-related issues in WebSocket-based signaling
- [LS1-2390] Enhanced WebSocket-based signaling efficiency (Client SDK and Gateway)
1.21.3.60993
Release date: October 21, 2024
Client SDK
Bug Fixes
- [LS1-2358] [Web] Resolved intermittent WebSocket signaling disconnections on macOS Sequoia (15.0, 15.0.1) that caused unexpected client unregistration. Implemented client-side keep-alive mechanisms and increased Gateway signaling timeout to 15 seconds to prevent "604::Client does not exist" errors and unwanted connection drops. Applications using affected macOS versions should upgrade to ensure stable WebSocket connectivity.
1.21.2.60893
Release date: October 18, 2024
Client SDK
Improvements
- [LS1-2075] [Examples] Updated .NET example to include data streams for SFU Downstream Conenctions.
- [LS1-2046] [Examples] Updated example applications to support data streams for P2P connections.
- [LS1-2075] Updated Data Stream connectivity establishment timeout to match aggregate Connection establishment timeout. This will ensure that connections will not give up establishing connectivity prematurely.
Bug Fixes
- [LS1-1747] [Media-over-WebSockets] Fixed a bug that prevented audio from flowing to a receive-only client.
- [LS1-2010] Fixed an iOS issue that prevents a connection.closed message from being sent.
- [LS1-2219] [Media-over-WebSockets] Fixed an issue that prevented audio from flowing from a client when a configuration value outside the range of an unsigned long was used.
- [LS1-2220] [Media-over-WebSockets] Fixed an issue that prevented audio from flowing from a client when the audio encoder value was set to 1.
- [LS1-2218] [Media-over-WebSockets] Fixed an issue that prevented video from flowing from a client when a configuration value outside the range of an unsigned long was used.
- [LS1-2028] [Android] Fixed an issue that prevented older Android devices from streaming their camera content, specifically on a Samsung A9+.
- [LS1-2094] [iOS] Fixed an issue that resulted in an iOS crash when trying to process frames after a connection was terminated.
- [LS1-2024] [MacOS] Fixed an issue where a key used in a DTLS certificate is too short causing the certificate to fail.
- [LS1-2035] [Media-over-WebSockets] Fixed a client bug such that now it only displays frames at the rate they are being sent rather than updating it at a fixed 30 fps.
- [LS1-2034] [Media-over-WebSockets] Updated client to support dynamically changing the bitrate during a session.
Console
Bug Fixes
- [LS1-2131] Fixed an issue that prevented a user from entering a 4-digit CCV on the Cloud Billing page.
1.21.1.58593
Release date: Spetember 4, 2024
Client SDK
Improvements
- [LS1-1998] Updated third-party dependencies, including Microsoft.AspNetCore.Mvc.NewtonsoftJson to .NET 8.
Bug Fixes
- [LS1-1757] [Android] Fixed an issue causing a potential null reference exception at connection shutdown.
- [LS1-1958] Fixed a crash in the iOS SDK that could occur when connections are closed. This was identified by FMLiveSwitchRtpReceiver processFrame:roundTripTime.
- [LS1-1992] [Client Examples] Fixed a bug in the macOS example where UI APIs were being called from a background thread.
- [LS1-1991] [Client Examples] Fixed an error in the macOS example that prevented a user from connecting.
- [LS1-2002] Fixed a bug when creating an SDP message in Unity.
- [LS1-1964] Fixed a bug when streaming video over WebSockets where the resolution was incorrect in some cases.
- [LS1-1636] Fixed an issue blocking connection updates when using Media-Over-WebSockets.
- [LS1-1989] Fixed a race condition preventing Firefox (and potentially other client types) from connecting to peer connections when acting in an answering role under a specific set of circumstances.
- [LS1-1966] Fixed an issue in our native audio/video codec libraries to release data buffer pools when an exception in rendering occurs.
- [LS1-1963] Fixed an issue related to the dispatch queue not being cleared when the class is destroyed, leading to a crash.
- [LS1-1962] Fixed an issue that prevented the renderBuffer from cleaning up when a connection close event occurs.
- [LS1-1768] Fixed an issue where the client did not react to a server-side dead stream timeout message and would wait an extra 10 seconds before marking the upstream connection as dead.
- [LS1-1926] Fixed an issue where the encoder would be reinitialized before it was initialized for the first time.
1.21.0.56457
Release date: July 30, 2024
Client SDK
Improvements
- [LS1-1824] Enhanced Client Side Simulcast: implemented an automatic video feed disabling feature when users experience difficulty receiving the lowest simulcast layer. This improvement helps optimize bandwidth usage and maintain call quality in challenging network conditions.
- [LS1-1917] iOS Example Update: In compliance with Apple's new App Store requirements, incorporated a Privacy Manifest file into our iOS example. This addition ensures our app meets the latest privacy standards and guidelines set by Apple.
Bug Fixes
- [LS1-1544] Connection Establishment: Resolved a rare issue where connections failed to establish due to errors in SCTP connection book-keeping. This fix improves overall connection reliability.
- [LS1-1916] Fixed fm.liveswitch.WssDemuxer: TypeError: Cannot read properties of undefined (reading 'port')
- [LS1-1916] Fixed an issue where the paused video of the publisher still gets streamed to subscriber's end when using Media-over-WebSockets.
- [LS1-1916] Media-over-WebSockets Improvements: Restored the ability to change video resolution in real-time during live meetings.
- [LS1-1916] Media-over-WebSockets Improvements: Optimized memory usage, bringing it in line with standard WebRTC connections.
- [LS1-1928] WebSocket Media Server Compatibility: Implemented proper error handling for connection updates sent to older versions of WebSocket Media Servers that don't support the request, ensuring graceful degradation.
- [LS1-1905] Misleading Error Message: Eliminated a confusing error message during connection shutdown related to data channel communication and RTCP signalling fallback.
- [LS1-1918] iOS Memory Leak: Fixed a memory leak occurring on iOS devices when attempting asynchronous writes to a closed TCP connection socket, improving app performance and stability.
- [LS1-1940] Safari 17 Audio Compatibility: Resolved an audio artifacting issue introduced by Safari 17 when using Media-over-WebSockets, ensuring smooth audio playback for Safari users.
- [LS1-1888] iOS Audio Quality: Addressed the issue of robotic-sounding audio in media-over-WebSockets connections on iOS devices, significantly improving audio clarity.