Video Linux SDK Release Notes

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 systems with GLIBC 2.38 or higher on arm7 and arm64 architectures.

  • This version includes an update to the bundled CA certificates used by the SDK for establishing secure connections. This file contains trusted Certificate Authority certificates that the SDK uses to verify SSL/TLS connections, ensuring secure communication with external services. This file serves as a fallback and is only used when the SDK cannot locate a CA certificate bundle in the system. This routine update adds newly trusted CAs and removes outdated certificates.

  • The otc_video_frame_set_metadata() and otc_video_frame_get_metadata() functions, deprecated in 2.33.0, have been removed in this version.

Fixed

  • Fixed an issue where calling otc_session_publish() inside the on_session_connected callback could fail due to a race condition caused by the session's internal connected state not being updated before the callback fired.

v2.35.1 — August 2026

Added

  • Promise support for async SDK methods (non-breaking). The JS SDK now supports modern async/await and promise-based patterns alongside the existing callback-based API. This change is fully backward compatible — all existing callback-based code continues to work without modification. For more information, see this documentation.

  • Scalability Mode API. 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.

  • Performed Android 17 validation. The Vonage Web SDK has been validated on Android 17, confirming smooth operation across Android mobile browsers and WebView applications.

Fixed

  • Fixed an issue where, in some cases, subscribing to a VP9 stream failed when the publisher had set videoContentHint to "detail" or "text".
  • Fixed a memory leak in audio processing across subscribe/unsubscribe and publish/unpublish cycles that in some cases could lead to unbounded heap growth and audio degradation over time.
  • Fixed an issue where in some cases retrying to publish after a failed attempt resulted in a false positive, causing the session.publish callback to report success when the publish had not actually succeeded.
  • Fixed an issue where in some cases relay ICE candidates were not included when establishing a connection, which could result in connectivity failures in networks that require TURN relay.
  • Fixed an issue where in some cases applying or clearing a video filter after changing the publisher's resolution produced an unexpected zoom effect.
  • Fixed an issue where OT.hasMediaProcessorSupport() incorrectly returned false on iOS 26 WKWebView due to Apple's frozen user agent string, blocking the use of Publisher.applyVideoFilter() on affected devices. Additionally, a new asynchronous variant OT.hasMediaProcessorSupport.promise() has been added, which performs a more thorough check of the browser's capabilities and is recommended over the static version for a more accurate and future-proof result.
  • Fixed an issue where end-to-end encryption did not work on Safari when the developer tools were opened.
  • Fixed an issue introduced in version 2.34.0 where applications enforcing a strict Content Security Policy (CSP) could experience violations when using background blur or background replacement on Safari and Firefox, due to the use of an inline web worker. The inline web worker has been removed, eliminating these CSP violations.
  • Fixed an issue in the JS SDK where calling publishVideo(false) after setPreferredResolution() or setPreferredFrameRate() would incorrectly return a constraint error on Firefox and Safari.

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 (VonageClientSDKVideo pod) as a maintained but deprecated alternative.
    • A migration guide for projects moving from CocoaPods (VonageClientSDKVideo) to SPM.
  • The [OTVideoFrame setMetadata:data error:error] method and OTVideoFrame metadata property, deprecated in 2.33.0, have been removed in this version.


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.

  • This version adds support for Android 17 (API level 37), updating the SDK's compileSdk and targetSdk to 37. All Android 17 behavior changes have been analyzed and validated:

    • ACCESS_LOCAL_NETWORK permission: Not required. WebRTC ICE uses raw UDP/TCP sockets, which are not subject to this permission. P2P connections establish correctly on Android 17 without it.
    • Background audio hardening: The SDK's internal audio focus handling has been updated from the deprecated AudioManager.requestAudioFocus() API to the AudioFocusRequest API (the recommended non-deprecated API for API 26+). No changes are needed in your app.
    • Certificate Transparency: All Vonage server endpoints are already compliant. No changes are needed in your app.
  • The BaseVideoRenderer.Frame#getMetadata() method and several BaseVideoCapturer methods that provide video frame metadata, deprecated in 2.33.0, have been removed in this version.

Fixed

  • Fixed an issue on Android where rapid background-to-foreground transitions during an active video session could cause the publisher video to freeze or the application to crash.

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.

  • The Metadata property of VideoFrame, deprecated in 2.33.0, has been removed in this version.

Known issues