Video React Native SDK Release Notes
v2.33.4 — October 2026
Fixed
-
Fixed an Android crash (SIGSEGV) that occurred during long-running calls with heavy stream churn. The crash was caused by subscriber event callbacks reading stream data from already-freed native memory. Stream data is now read once at subscribe time into an immutable snapshot; all subsequent callbacks read from the snapshot only.
-
Fixed Android performance degradation during prolonged calls caused by unnecessary event processing. Audio level, audio network stats, and video network stats events are now only forwarded to JavaScript when a handler is attached, eliminating overhead when no listener is registered.
-
Fixed a JS listener lifecycle issue in OTSession where remounting a session accumulated duplicate global event listeners, causing multiplied events and unnecessary re-renders.
-
Fixed shared-state leaks on Android where streams, publishers, and subscribers were not correctly removed from internal maps on unsubscribe, unpublish, or an involuntary disconnect, causing the maps to grow unbounded over time.
-
Fixed an issue on Android where calling
publish()before the publisher view had finished attaching could silently drop the publish request. -
Fixed an issue on Android where calling
getCapabilities()before the session connected could crash the app natively. This now rejects with an error instead.
v2.35.0 — September 2026
Added
-
This version updates the Vonage Video Android SDK and iOS SDK to version 2.35.1. For more information, see the Android SDK release notes and the iOS SDK release notes.
-
This version upgrades the React Native version from 0.86 to 0.87. The SDK now requires React Native 0.87 or later.
-
This version raises the minimum iOS deployment target to 17.0. Apps targeting iOS versions earlier than 17.0 must update their deployment target before upgrading to this version.
-
This version requires
compileSdk37 for Android. Ensure your Android project'scompileSdkVersionis set to 37 or higher. -
This version has been validated on iOS 27 devices.
Fixed
-
Fixed an Android crash (SIGSEGV) that occurred during long-running calls with heavy stream churn. The crash was caused by subscriber event callbacks reading stream data from already-freed native memory. Stream data is now read once at subscribe time into an immutable snapshot; all subsequent callbacks read from the snapshot only.
-
Fixed Android performance degradation during prolonged calls caused by unnecessary event processing. Audio level, audio network stats, and video network stats events are now only forwarded to JavaScript when a handler is attached, eliminating overhead when no listener is registered.
-
Fixed a JS listener lifecycle issue in OTSession where remounting a session accumulated duplicate global event listeners, causing multiplied events and unnecessary re-renders.
-
Fixed shared-state leaks on Android where streams, publishers, and subscribers were not correctly removed from internal maps on unsubscribe, unpublish, or an involuntary disconnect, causing the maps to grow unbounded over time.
-
Fixed an issue on Android where calling
publish()before the publisher view had finished attaching could silently drop the publish request. -
Fixed an issue on Android where calling
getCapabilities()before the session connected could crash the app natively. This now rejects with an error instead. -
Fixed an issue on Android where a denied
BLUETOOTH_CONNECTpermission blocked publishing entirely, even though the permission is only required for routing audio to a Bluetooth headset. -
Fixed a black screen issue on Android when screen sharing (
videoSource: 'screen') under the React Native new architecture. -
Fixed an issue where the
maxVideoBitrateproperty of the OTPublisher component was not applied correctly. -
Fixed inconsistent parsing of subscriber and publisher stats payloads (
audioNetworkStats,videoNetworkStats,rtcStatsReport) across platforms. -
Fixed an issue on Android where the
creationTimevalue for subscriber events was not formatted as ISO 8601, causing inconsistent timestamp formats between Android and iOS.
v2.33.3 — August 2026
Fixed
-
Fixed an issue where the subscriber view was not rendered on first connect. The
addStream()method silently failed on the first session connection because the streams array was never initialized. The subscriber view only worked on reconnect. Now the array is lazily initialized before the first push. -
Fixed missing
setVideoTransformersandsetAudioTransformersmethods on the OTPublisher ref. After the New Architecture migration (v2.31+), calling these methods on the publisher ref threw an error because the JS component no longer bridged them. Both instance methods are now re-exposed on the OTPublisher ref. -
Fixed a black screen when using
videoSource: 'screen'on Android with Fabric. The screen capture now usesandroid.R.id.contentinstead of the immediate parent view.
v2.34.0 — August 2026
Added
-
This version updates the Vonage Video Android SDK and iOS SDK to version 2.34.1. For more information, see the Android SDK release notes and the iOS SDK release notes.
-
This version upgrades the React Native version from 0.81 to 0.86. The SDK now requires React Native 0.86 or later, React 19.2 or later, and Node.js 22.11 or later.
-
This version has been validated on Android 17 devices. However, the SDK does not yet compile against or target Android 17 due to React Native 0.86 limitations.
-
Re-exposed
setVideoTransformersandsetAudioTransformersmethods on the OTPublisher component ref. These methods were previously unavailable after the migration to the React Native new architecture. -
The
subscribeToAudioandsubscribeToVideosubscriber properties now default totrue, eliminating the need to pass them explicitly. -
Added the
onVideoNetworkStatsevent to OTSubscriberView with updated TypeScript types.
Fixed
-
Fixed a crash on Android when calling
forceMuteAll(). The behavior is now aligned between iOS and Android. -
Fixed an issue where children of
OTSubscriberViewwere not rendered correctly. -
Fixed an issue where
sessionIdwas read at constructor time instead of from context at render time, causing problems with dynamic mount/unmount scenarios. -
Fixed an issue where the first
streamCreatedevent was silently dropped because the streams array was not initialized. -
Fixed a null pointer crash on Android when
mSessionwas null inOpentokReactNativeModule. -
Fixed an iOS crash in
sessionDidConnectduring rapid reconnection wheresession.connectioncould be nil. -
Fixed an Android crash in
refreshStreamCacheduring subscriber teardown wheresession.sessionIdcould return null. -
Fixed iOS build errors with Xcode 26+ related to C++20 compilation issues with the
fmtlibrary.
v2.33.2 — June 2026
Fixed
- Fixed subscriber video rendering issues introduced in version 2.31.x when using the React Native new architecture. Specifically:
- Fixed
subscribeToAudioandsubscribeToVideonot defaulting to true when omitted, causing a blank/black subscriber view. - Fixed a
sessionIdconcurrency issue that could prevent the video surface from attaching correctly. - Fixed redundant
OTContext.Providerre-creation on each render that could cause intermittent video surface attachment failures.
- Fixed