Video Android SDK Release Notes

v2.36.0 — November 2026

Added

  • 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 senderQualityRestriction property of SubscriberKit.SubscriberVideoStats reflects restrictions applied by the immediate sender (the Media Router in routed sessions, or the publisher in relayed sessions).
    • The new remotePublisherQualityRestriction property 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: NETWORK_CONDITION_REASON_NO_SUBSCRIBERS (the publisher bitrate is limited because there are no active subscribers) and NETWORK_CONDITION_REASON_DOWNSTREAM_CONSTRAINT (the publisher bitrate is constrained by downstream receiver conditions, typically when client simulcast is disabled).

    For more information, see this documentation.

  • 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 ErrorCode.EncryptionNotEnabled error. 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 the default camera capturer could crash the application when the camera was closed or released while capture was starting, stopping, or switching between cameras. These conditions are now handled gracefully and reported as capturer errors when they cannot be recovered.
  • Fixed an issue where the video renderer could crash the application if its view was detached from the window while the renderer was starting. The renderer now stops safely in this situation and starts again when the view is reattached.
  • Fixed an issue where destroying the default camera capturer could crash the application with a NullPointerException if the capturer had not been fully initialized.

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.

Known issues

  • Due to a WebRTC issue, release builds that use code shrinking (R8 or ProGuard) can crash at runtime unless the org.jni_zero classes are kept. Debug builds without minification are not affected. As a temporary workaround, add the following rule to your ProGuard configuration:

    -keep class org.jni_zero.** { *; }
    

    For more information, see ProGuard Rules.


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

  • 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.

  • This version fixes an issue that prevented Vonage Noise Suppression audio transformers from working on Android.

  • This version fixes an audio issue that occurred when joining a video session while already on an active carrier call.


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.

  • In this version we are deprecating the BaseVideoRenderer.Frame#getMetadata() and several BaseVideoCapturer methods that provide video frame metadata. See the reference documentation for details. These will be removed in future minor releases.