LiveSwitch 1.26 Release
LiveSwitch 1.26 includes the following notable change:
- OpenSSL 3.5.4 — All native SDK platforms have been upgraded from OpenSSL 1.x to OpenSSL 3.5.4, adding TLS 1.3 support and retiring an end-of-life cryptography library.
Release Notes for Client SDK 1.26
1.26.0.21097
Release date: June 01, 2026
Client SDK
Breaking Changes
- [LS1-3686] [Web] The TypeScript SDK's
LocalMediaconstructor now has typed overloads. Passing two separateMediaStreamobjects as audio and video arguments is no longer supported and will produce a compiler error — use a single synchronizedMediaStreamvia the newnew LocalMedia(stream)overload instead. When using this overload, the SDK treats the stream as caller-owned and will not stop the tracks on your behalf, making it suitable for pipelines such as background blur or canvas-based video sources.
New Features
- [LS1-3517] Native camera sources now support changing resolution and frame rate at runtime via new
ChangeResolution,ChangeFrameRate, andChangeConfigmethods onCameraSourceBase.
Improvements
- [LS1-1782] [Android] Replaced deprecated API calls, including screen capture and screen sharing APIs, ensuring compatibility with the latest Android platform releases.
- [LS1-2584] Upgraded all native SDK platforms to OpenSSL 3.5.4, adding TLS 1.3 support and retiring an end-of-life cryptography library.
- [LS1-3306] Updated cryptographic hashing from MD5 to SHA-256 across all SDKs.
- [LS1-3338] [MAUI Android] Echo cancellation is now enabled by default on
AudioRecordSourceinstead of relying on the application to enable it. - [LS1-3546] Improved browser video and audio synchronisation under variable network or device conditions by implementing the WebRTC playout-delay RTP header extension. The LiveSwitch Media Server also injects the extension on all downlink video streams, ensuring the improvement applies even when the upstream client does not support it.
- [LS1-3587] [Android] Modernized the example app UI to match the iOS sample app.
- [LS1-3683] [MAUI Android] Restored
libaudioprocessingto the MAUI Android SDK with 16KB memory page size alignment. The library was previously removed to maintain Google Play Store compliance when Android made 16KB page size support compulsory; it is now rebuilt to meet the requirement, restoring audio processing capabilities for MAUI Android apps targeting Android 15+.
Bug Fixes
- [LS1-2873] [MAUI Android] Fixed an issue in the example where audio and video might not flow during P2P calls.
- [LS1-3389] [Unity Android] Fixed an issue in the example where every log message would get duplicated.
- [LS1-3466] [Android] Fixed an issue where screen sharing orientation did not update from portrait to landscape when rotating the device during an active share, causing the video to remain locked in the initial orientation and appear letterboxed.
- [LS1-3540] [iOS] [macOS] Fixed an intermittent crash that occurred when closing WebRTC connections.
- [LS1-3571] [Android] Fixed an issue in the example where double-tapping to switch between front and back camera was not working.
- [LS1-3578] Fixed a race condition where gracefully closing a connected session could suppress the
client:connection.closedanalytics event. - [LS1-3596] Fixed an issue where round-trip time was not being calculated correctly under high-latency or throttled network conditions.
- [LS1-3597] Fixed an issue where closing a connection could hang indefinitely and suppress the
connection.closedevent when an ICE transport failure occurred during graceful shutdown. - [LS1-3605] Fixed an intermittent issue where RSA key generation could produce components with incorrect byte lengths.
- [LS1-3606] Fixed a race condition where a server-side upstream close notification arriving during a client-initiated close could cause the connection to fail instead of closing cleanly, causing
Close()to raise an unexpected error andUnregister()to block for an extended period. - [LS1-3620] Fixed an issue where
MediaTrackInfoJSON deserialization incorrectly mapped thestoppedfield toMutedinstead ofStopped. - [LS1-3665] [Android] Fixed an issue where video buffer cleanup was incorrectly dispatched to the main thread, causing frame skips in group calls with multiple remote participants.
- [LS1-3692] Fixed an issue introduced in 1.25.3 where calling
Channel.CloseAll()would leave the channel unable to create new connections without re-registering. - [LS1-3699] [Android] Fixed an issue where screenshare would crash on Samsung devices after an orientation change.
- [LS1-3700] [macOS] Fixed an issue where local media would fail to start when using certain external USB cameras with fixed frame rates (such as the Logitech C525).
- [LS1-3701] [Web] Fixed an issue where "Could not process bitrate request" errors would occur during teardown of SFU connections.
- [LS1-3707] [Web] Fixed an issue where TypeScript projects with
strictNullChecksenabled would encounter ats(2416)compiler error when importing the LiveSwitch TypeScript SDK in 1.25.x.