Search Results for

    Show / Hide Table of Contents

    LiveSwitch 1.27 Release

    LiveSwitch 1.27 includes two significant infrastructure changes that require attention before upgrading:

    • .NET 10 — All LiveSwitch server services (Gateway, Media Server, Recording, and SIP Connector) now run on .NET 10 (LTS), keeping your deployment on a fully supported runtime ahead of the previous .NET version reaching end of support on November 10, 2026, and lowering CPU usage under load by roughly 4–5% for SFU broadcast and 2–3% for two-way SFU calls. Self-hosted customers must run the services on the .NET 10 runtime or update to the v1.27 container images, which are now based on Ubuntu 24.04 LTS.
    • PostgreSQL 12+ — PostgreSQL 11 and earlier are no longer supported. Upgrade your database server before updating LiveSwitch; there's no database migration to run and no schema changes, so the services start against your existing database as-is. If you connect over TLS, certificate trust behavior is unchanged, but test the connection in staging before rolling out to production.

    Release Notes for LiveSwitch Server v1.27

    1.27.0.22319

    Release date: July 31, 2026

    Client SDK

    Improvements
    • [LS1-3462] [Web] The example app now displays a remote mute indicator, so participants can see when another participant has muted their microphone.
    • [LS1-3733] [Web] The example app now shows audio and video mute state overlays on video tiles.
    Bug Fixes
    • [LS1-2613] [MAUI Android] Fixed an issue in the example app where backgrounding the app during a call caused video to freeze and the connection to reconnect on return. The example now runs the call in a foreground service while the app is in the background. Because Android requires each app to declare its own foreground service and lifecycle handling, this isn't something the SDK applies for you — see the MAUI Chat example for the pattern, or contact support for guidance on applying it to your own app.
    • [LS1-2876] [MAUI Android] Fixed an app crash when accepting the notification prompt while joining in Screen Share Only mode. Joining a Screen Share Only session now works reliably across P2P and SFU connections.
    • [LS1-3472] [Unity iOS] Fixed an issue where call audio played through the earpiece instead of the loudspeaker when joining an SFU call, making calls hard to hear. Audio now routes to the loudspeaker by default.
    • [LS1-3522] [MAUI Android] Fixed the device screen turning off and going to sleep during an active call, which could interrupt video and audio. The screen now stays awake for the duration of a call.
    • [LS1-3523] [MAUI Android] Fixed local self-video freezing after the app returned from the background. The camera now resumes automatically on return to the foreground.
    • [LS1-3670] Fixed an issue where peer-to-peer calls could unnecessarily fall back to TURN relay even when a direct connection between clients was available, resulting in avoidable relay bandwidth usage and added connection latency.
    • [LS1-3678] [Web] Fixed an issue in P2P mode where the answer SDP always contained sendrecv regardless of the joining client's configured direction (receive-only or send-only), causing setRemoteDescription to fail with an InvalidAccessError.
    • [LS1-3694] [.NET] Fixed an issue where the SDK NuGet packages were missing the native OpenSSL library (libopensslfm.dylib) on macOS, causing applications referencing SDK 1.23.0 or later to fail at runtime with a missing native library error.
    • [LS1-3705] [Web] Fixed an issue in the example app where muting audio or video after switching from SFU to MCU mode would throw an error instead of updating the connection.
    • [LS1-3706] [Web] Fixed several connection lifecycle issues in the example app, including stale connection references and missing cleanup.
    • [LS1-3723] Fixed an issue where channel update messages could be silently discarded, so OnRemoteClientUpdate never fired for other participants even though the sending client's update() call succeeded.
    • [LS1-3739] [Web] Fixed an issue in the example app where audio and video mute buttons had no effect in P2P mode before any peer had joined the channel.
    • [LS1-3742] Fixed a race condition where calling Update() twice in rapid succession (e.g. muting audio and video within ~100ms of each other) could silently drop one of the state changes.
    • [LS1-3744] Fixed an issue where a connection's reported maximum video resolution could incorrectly reflect the send stream dimensions instead of the larger receive stream dimensions.
    • [LS1-3746] [Unity] Fixed an issue where libopensslfm_stub.c was missing from the package, causing LNK2019 linker errors when building IL2CPP targets.
    • [LS1-3747] [MAUI iOS] Fixed an issue in the example app where backgrounding the app during a call dropped audio and caused the connection to reconnect on return. The example now declares background audio/VoIP modes and pauses/resumes the camera on background/foreground transitions. As with the Android fix above, this is an application-level change you'll need to replicate yourself — see the MAUI Chat example for the pattern, or contact support for guidance on applying it to your own app.

    All Server Services

    Breaking Changes
    • [LS1-3438] All LiveSwitch server services — Gateway, Media Server, Recording, and SIP Connector — now run on .NET 10 (LTS) on Ubuntu 24.04 LTS-based container images, and now require PostgreSQL 12 or later. Upgrade action: self-hosted customers must run the services on the .NET 10 runtime or update to the v1.27 container images.
    Improvements
    • [LS1-3510] Expanded internal dependency vulnerability scanning to cover transitive dependencies, not just direct references, reducing the risk of known CVEs shipping in LiveSwitch Server releases.
    Bug Fixes
    • [LS1-3788] [LS1-3792] Updated dependencies to address high-severity security vulnerabilities in third-party libraries.

    Gateway

    New Features
    • [LS1-3758] Added a lightweight recording-status endpoint (GET /admin/api/v1.0/applications/{applicationId}/channels/{channelId}/recording) to the REST API that returns whether recording is active on a channel, without the overhead of a full Media Server report.
    Improvements
    • [LS1-3089] Replaced a retired authentication library used for admin dashboard sign-in with a supported, actively maintained OAuth server, resolving a security advisory (GHSA-55p7-v223-x366). Admin usernames, passwords, and API keys are unchanged. Dashboard users will be signed out once after upgrading and will need to sign in again — a one-time event that doesn't affect any accounts or credentials; browser-only dashboard users need no other action.
    Bug Fixes
    • [LS1-3715] Fixed an issue where zombie WebSocket connections were logged continuously as Potential WebSocket Timeout instead of being closed.
    • [LS1-3721] Fixed a rare startup issue where, if webhook processing initialized on multiple requests at exactly the same time during a cold start, the Gateway could stall or briefly apply an incomplete set of webhook rules.

    Media Server

    Bug Fixes
    • [LS1-3704] Fixed an issue where MCU receive-only clients would see permanently degraded, blocky video after all receivers disconnected and rejoined a session, because the server failed to request a new keyframe from the upstream publisher.
    • [LS1-3722] Fixed a gradual memory leak on the Media Server cluster data path that could occur under certain error conditions during long-running sessions, improving stability for clustered deployments under sustained load.
    • [LS1-3733] Fixed an issue where SFU downstream connections did not reflect the upstream participant's muted audio/video state until the first connection update after connecting.

    In This Article
    Back to top Copyright © LiveSwitch Inc. All Rights Reserved.Documentation for LiveSwitch Version 1.27.0