Video iOS SDK Release Notes
v2.36.0 — November 2026
Added
-
This version adds support for iOS 27, which has been analyzed and validated. There is an important change for UIKit applications:
- The
@UIApplicationMainannotation (and the traditionalUIApplicationDelegate-only lifecycle) is now deprecated in iOS 27. Applications integrating the SDK with UIKit must transition to the scene-based lifecycle. This means adoptingUISceneDelegateand configuring yourInfo.plistwith theUIApplicationSceneManifestkey. Specifically, you will need to:- Add a
UIApplicationSceneManifestdictionary to yourInfo.plist, declaring your scene configuration and specifyingUISceneConfigurationNameandUISceneDelegateClassName. - Move any app-launch UI setup logic from
application(_:didFinishLaunchingWithOptions:)toscene(_:willConnectTo:options:)in yourUISceneDelegate. - Replace
@UIApplicationMainwith@mainin your app's entry point.
- Add a
- This change is required for apps targeting iOS 27. Apps running on earlier iOS versions are not affected.
- The
-
Client Observability: quality restriction insights. Statistics now provide more detail on why video quality is being limited, for both subscribers and publishers:
- Subscriber video statistics now report whether the received video quality is being restricted, and where the restriction originates. The new
senderQualityRestrictionproperty ofOTSubscriberKitVideoNetworkStatsreflects restrictions applied by the immediate sender (the Media Router in routed sessions, or the publisher in relayed sessions). - The new
remotePublisherQualityRestrictionproperty reflects restrictions applied by the originating publisher, such as CPU or uplink bandwidth constraints. - Changes in the sender quality restriction are now also reported as a reason in the subscriber video quality changed event.
- The network condition reason now includes two new values, which apply only to the publisher's transport:
OTNetworkReasonNoSubscribers(the publisher bitrate is limited because there are no active subscribers) andOTNetworkReasonDownstreamConstraint(the publisher bitrate is constrained by downstream receiver conditions, typically when client simulcast is disabled).
For more information, see this documentation.
- Subscriber video statistics now report whether the received video quality is being restricted, and where the restriction originates. The new
-
End-to-end encryption: new error when encryption is not enabled. Setting an encryption secret in a session that was not created with end-to-end encryption enabled now results in a new encryption not enabled error (
OTSessionEncryptionNotEnabled,OTPublisherEncryptionNotEnabled, orOTSubscriberEncryptionNotEnabled). Previously, the secret was silently ignored. For more information, see this documentation. -
This version updates the root certificates embedded in the WebRTC library used by the SDK, so that certificates issued by the compromised eMudhra (emSign) intermediate certificate authorities are no longer trusted. WebRTC uses these root certificates to verify secure connections to TURN servers over TLS. In October 2026, the private keys of eight eMudhra intermediate certificate authorities were found to be recoverable, which could allow trusted-looking certificates to be created for any domain. For more information about the incident, see this Cloudflare article.
Fixed
- Fixed an issue where setting the
cameraFrameRateproperty ofOTPublisherhad no effect on the frame rate captured by the default camera capturer. The requested frame rate is now applied. If the camera does not support it, the closest supported frame rate above the requested one is used, or the highest supported frame rate if the request exceeds what the camera supports. The default frame rate is nowOTCameraCaptureFrameRate30FPS.
v2.35.1 — August 2026
Added
-
This version adds a new API that allows publishers to explicitly set the target scalability mode, giving developers fine-grained control over the number of spatial (resolution) and temporal (frame rate) layers used during encoding. This enables applications to better balance video quality, adaptability, and resource usage based on their specific needs. For more information, see this documentation. This is a beta feature.
-
This version of the SDK now uses WebRTC M145, a recent milestone from Google's WebRTC library. The upgrade brings improvements in performance, stability, and security across all supported native platforms. It includes bug fixes and performance enhancements to audio and video media codecs, better network adaptation, and improved compatibility with modern platform environments. This update ensures the SDK remains aligned with the current WebRTC specification and maintains a strong foundation for future feature development. As a result of this upgrade, version 2.35.1+ of the SDK only supports iOS 17 or higher.
-
Added a new Installation section to the iOS SDK overview documentation covering:
- Swift Package Manager (SPM) as the recommended installation method (available since v2.25.1).
- CocoaPods (
VonageClientSDKVideopod) as a maintained but deprecated alternative. - A migration guide for projects moving from CocoaPods (
VonageClientSDKVideo) to SPM.
-
The
[OTVideoFrame setMetadata:data error:error]method andOTVideoFramemetadata property, deprecated in 2.33.0, have been removed in this version.
v2.34.1 — July 2026
Fixed
- Fixed an issue where a publisher's video stream was lost after an Adaptive Media Routing (AMR) transition to a routed topology, following a specific sequence of mute/unmute operations and subscriber joins.
v2.34.0 — May 2026
Added
-
This version adds new network condition metrics to the client observability feature, providing detailed visibility into network performance and quality indicators. These metrics complement the publisher and subscriber statistics introduced in 2.33.0 and help developers proactively monitor network conditions affecting video quality, diagnose connectivity issues, and make informed decisions about potential adjustments. For more information, see this documentation.
-
This version adds support for Live Captions Translation, which provides real-time subtitle translation during video calls. Each participant can independently select their preferred translation language. This feature supports the full AWS Translate language set. This is a Private Beta feature—to enable Live Captions Translation for your project, contact us. For more information about Live Captions, see this documentation.
Fixed
- This version fixes an issue where custom video capturers incorrectly mirrored video from the back camera.
Reactions for iOS
The iOS Reactions feature can result in clients sending unintended animations in published videos based on user gestures.
With iOS and iPadOS 17.4 a developer can disable the Camera Reactions by setting the key NSCameraReactionEffectGesturesEnabledDefault to false in the plist file of the app.
Known issues
Screen sharing limitation on macOS
Full desktop screen capture is not supported when running the iOS SDK on macOS (Apple Silicon Macs).
When using screen sharing features (such as ReplayKit-based implementations) on macOS:
- Only the app's own window can be captured, not the full desktop
- ReplayKit's sandboxing restrictions prevent capturing content outside the application
- ScreenCaptureKit (macOS native screen capture API) is not available in iOS app targets, even when running on Apple Silicon Macs
- The SDK’s xcframeworks do not include Mac Catalyst support, which would otherwise allow access to ScreenCaptureKit
If your application requires full desktop screen sharing on macOS, consider using the JavaScript SDK with Electron instead.
v2.33.0 — February 2026
-
This version adds new publisher and subscriber statistics including: video layer metrics for simulcast/SVC and transport statistics for publishers; video freeze/pause tracking and decoding metrics for subscribers; and video quality changed events for both publishers and subscribers. For more information, see this documentation.
-
This version adds full support for network statistics of senders for subscribers in video sessions (which was previously in beta). For more information, see this documentation.
-
This version adds publisher degradation preference settings to control how video quality adapts when bandwidth or CPU resources are limited. For more information, see this documentation.
-
This version adds support for Apple silicon Macs running macOS 14 or later. For more information about platform-specific considerations and limitations, see this documentation.
-
In this version we are deprecating the
[OTVideoFrame setMetadata:data error:error]method andOTVideoFramemetadataproperty. These will be removed in future minor releases.