React Native release notes
New features and changes
2.28.3 (October 2024)
[Update]: This version updates the Vonage Video Android SDK to version 2.28.3 and the Vonage Video iOS SDK to version 2.28.2. See the Android SDK release notes and the iOS SDK release notes.
This version updates
sourceCompatibilityandtargetCompatibilityto Java 17 in the Android build.gradle file. When using this version, you will need to specifysourceCompatibilityandtargetCompatibilityin the Android build.gradle file:compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 }[Update]: The new
OTSessioncomponent now has anapplicationIdprop, replacing theapiKeyprop, which is now deprecated:
<OTSession
applicationId="the application ID"
sessionId="the session ID"
token="the connection token"
/>
Vonage developers specify Vonage application ID (not an API key), along with a session ID and token, as OTSession props. If you include the applicationId prop, do not include an apiKey prop. This is a beta feature.
[Fix]: Updates react, react-native modules (and axios dependency), and replaces uuid with react-native-uuid. The fixes issue #769. And it prevents an issue that would result from using an upgraded version of uuid.
[Fix]: Fixes an error that resulted if you set an OTPublisher event handler for
streamCreatedwithout setting one forstreamDestroyed.
Note: An update for version 2.28.2 did not ship. This version is 2.28.3 to keep in line with the React Video API client SDK for OpenTok developers (opentok-react-native).
2.28.1 (September 2024)
[Update]: The new
OTPublisher.setAudioTransformers()method lets you set (and clear) audio transformers. One transformer, the noise suppression filter, is supported. To use this, call thesetAudioTransformers()method of the OTPublisher ref, and pass in an array with one object that has anameproperty set to'NoiseSuppression'and apropertiesproperty set to an empty string:publisherRef.setAudioTransformers([{ name: 'NoiseSuppression', properties: '', }]);
Important: To use this method, you must add the Vonage Media Transformer library to your project, separately from the OpenTok React Native SDK. See Vonage Media Library integration.
- [Update]: This version adds support for enabling single peer connection for the client, by setting the
enableSinglePeerConnectionproperty of theoptionsprop of the OTSession component totrue. For more information see this documentation.
2.28.0 (July 2024)
[Update]: This version updates the Vonage Video Android SDK and iOS SDK to version 2.28.0.
[Update]: The Vonage Video iOS and Android SDKs loaded by this version are reduced in size by removing Vonage Media Library code.
Important: In order to use the OTPublisher.setVideoTransformers() method (which uses the Vonage Media Library), you must add the Vonage Media Library separately from the Vonage Video React Native SDK. For details, see Vonage Media Library integration.
[Update]: For Android, this version of the library requires a minimum Android API level of 24.
[Update]: This version adds support for reading the Certificate Authority certificates in the trust store of the host so that it can use them as valid root certificates when connecting to Vonage services.
[Update]: This version adds support for Apple's requirement of the signature for the SDK.
[Update]: This version updates a vulnerable Node module (braces).
2.27.6 (June 2024)
- [Fix]: This version fixes some iOS crashes that were introduced in version 2.27.5. Fixes issue #757.
2.27.5 (June 2024)
[Fix]: This version fixes the
OTSubscriber captionReceivedevent handler. It also fixes theOTPublisher publishCaptionsoption in iOS.[Fix]: Calling
OTSubscriber.getRtcStatsReport()method was resulting in an error. This version fixes the issue.[Fix]: Setting the
enableStereoOutputoption of the OTSession component was causing apps to crash in Android. The custom audio driver (used in Android when theenableStereoOutputoption is set) is broken. This version disables theenableStereoOutputoption in Android.[Fix] The
subscribeToSelfprop of the OTSubscriber component was not working. This version fixes the issue (issue #612).
2.27.4 (April 2024)
- [Update]: This version updates the Vonage Video iOS SDK version to 2.27.3. This version adds a privacy manifest required by Apple's App store. Issue #737.
2.26.2 (April 2024)
- [Update]: This version updates the Vonage Video iOS SDK version to 2.26.3. This version adds a privacy manifest required by Apple's App store. Issue #737.
2.25.5 (April 2024)
- [Update]: This version updates the Vonage Video iOS SDK version to 2.25.5. This version adds a privacy manifest required by Apple's App store. Issue #737.
2.27.3 (March 2024)
2.27.1 (March 2024)
- [Fix]: On Android,
OTPublishercomponents failed with an error when eitherPermissionsAndroid.PERMISSIONS.CAMERAorPermissionsAndroid.PERMISSIONS.RECORD_AUDIOwere not true. This version fixes that, by having audio-only or video-only publishers skip thePermissionsAndroid.PERMISSIONS.CAMERAorPermissionsAndroid.PERMISSIONS.RECORD_AUDIOcheck if thevideoTrackoraudioTrackproperty of thepropertiesprop of theOTPublishercomponent is set to false. You can set these props to false based on these permissions:
import { PermissionsAndroid } from 'react-native';
// ...
<OTPublisher
properties={{
videoTrack={{(Platform.OS === 'ios' || PermissionsAndroid.CAMERA)}}
}}
/>
Note: In Android 6.0 (API Level 23) and higher, the React Native SDK automatically adds these permissions. However, an app or user can disable them independently of the SDK.
[Fix]: On Android, setting the
videoTrackproperty of thepropertiesprop of theOTPublishercomponentfalseresulted in the app to crash. This version fixes the issue (issue #652).[Fix]: Fixes some TypeScript definitions (issue #725).
2.27.0 (March 2024)
[Update]: Update Android SDK and iOS SDK to version 2.27.0.
This version adds support for the VP9 codec in relayed sessions. For more information, see the video codecs documentation.
This version adds support for adaptive media routing. For more information, see the adaptive media routing documentation.
For more details, see the release notes for the iOS and Android SDKs.
[Update]: This version adds support for end-to-end encryption. The
OTSessioncomponent includes a new encryptionSecret prop, which you can use to set and change the encryption secret used by the local client.[Update]: This version adds a new
OTPublisheraudioFallback option, which supports both subscriber and publisher audio fallback. TheaudioFallback.subscriberproperty replaces theOTPublisheraudioFallbackEnabledoption, which is deprecated. TheOTPublishercomponent has new callback functions for publisher audio fallback-related events:videoDisabled(),videoEnabled(), videoDisableWarning(), andvideoDisableWarningLifted(). See the audio fallback guide.[Update]: The
OTPublisher.setVideoTransformer()method now supports the background image replacement transformer in Android (as well as iOS). And the custom radius option for the background blur filter is now supported in Android (as well as iOS).[Update]: The axios package is updated. This updates a vulnerable version of in the follow-redirects dependency.
[Fix]: This version fixes some issues in the TypeScript definitions.
[Fix]: This version fixes the following events, which were not being dispatched:
OTPublisher audioNetworkStats
OTPublisher videoNetworkStats
OTPublisher muteForced
OTSession muteForced
[Fix]: This version fixes the
OTSession.forceMuteAll()method in iOS.
2.26.1 (October 2023)
- [Update]: The new
OTPublisher.setVideoTransformers()method lets you set (and clear) video transformers, such as a background blur for a publisher (issues #631 and #682). For more info, see the docs: OTPublisher. - [Update]: Live Captions API enhancements (issue #643)
- The new OTPublisher.publishCaptions option lets you enable and disable captions for a published stream (if captions are enabled for the session). For more info, see the docs:OTPublisher.
- The new OTSubscriber.subscribeToCaptions option lets you turn captions on and off for a subscriber (if captions are enabled for the session and the publisher is publishing captions). For more info, see the docs: OTSubscriber.
- The new OTSubscriber captionReceived event is dispatched when a subscriber receives a caption. For more info, see the docs: OTSubscriber.
- For more information, see the Live Captions developer guide.
- [Fix]: Fixes an issue in which applications could not connect to a session when the
proxyUrloption for OTSession was set. - issue #645 - [Fix]: Fixes an issue a stream is not destroyed immediately after unmounting an OTSession component or when the
OTSession.disconnect()method is called. - issues #685 and #686
2.26.0 (October 2023)
- [Update]: Update Android SDK and iOS SDK to version 2.26.1. See the release notes for the ioS SDK and the Android SDK. For Android, this version of the library requires a minimum Android API level of 23. There are changes to iOS 14 networking affecting relayed sessions — see the list of known issues in the iOS SDK release notes.
2.25.4 (October 2023)
- [Fix]: Fixes TypeScript definitions - issue #690.
2.25.3 (September 2023)
- [Update]: Add API to implement functionality missing from the Android and iOS SDKs:
OTSession.getCapabilities()methodreportIssue()methods andrtcStatsReportevents added to OTPublisher and OTSubscriber- OTPublisher
scalableScreenshareoption (in the OTPublisher properties) - OTPublisher
audioNetworkStatsandvideoNetworkStatsevents OTPublisher.getRtcStatsReport()method and OTPublisherrtcStatsReportevent- "1920x1080" option for OTPublisher
resolution(for FHD video support) - OTSubscriber
audioVolumeproperty. - OT.getSupportedCodecs() method.
- OT.forceMuteAll(), OT.forceMuteStream(), OT.disableForceMute() methods. OTPublisher
muteForceevent and OTSessionmuteForcedevent.
For more info, see the docs:
- OTPublisher
- OTSession
- OTSubscriber
- [Fix]: Fix android app crash due to permission missing.
- [Fix]: Fix OTSubscriber audioVolume and other properties not working -- issue #694
2.25.2 (July 5 2023)
- [Fix]: Fix crash on iOS when publishing a screen-sharing stream.
2.25.1 (June 27 2023)
- [Fix]: Fix camera lifecycle on Android. - issue #645
2.25.0 (May 17 2023)
- [Update]: Update Android SDK and iOS SDK to version 2.25.1.
Note that with this version, we are pinning the major and minor release versions (2.25) to match the corresponding versions in the Android and iOS SDKs.
For iOS, note that this version supports iOS 13+, removes support for FAT binaries and drops 32-bit support. The iOS SDK is now available as the OTXCFramework Pod file. (The pod file was for FAT binaries.)
See the release notes for the ioS SDK and the Android SDK. - [Fix]: Fixes an issue in which applications could not connect to a session when the
proxyUrloption for OTSession was set. - issue #645
0.21.4 (April 12 2023)
- [Update]: Revert iOS SDK back 2.23.1. There are issues with linked libraries in the iOS SDK v2.24.0+ that cause issues when used in React Native. We are working on a bug fix.
0.21.3 (March 2023)
- [Update]: iOS SDK to 2.24.2 and Android to 2.24.2 - issue #629
0.21.2 (February 14, 2023)
- [Update]: iOS SDK to 2.23.1 and Android to 2.23.1
- [Fix]: Fix video freeze issue in Android 13 simulator (API level 33) - issue #628
0.21.1 (Oct 14, 2022)
- [Update]: iOS SDK to 2.23.1 and Android to 2.23.1
- [Update]: min target for iOS is now 12.0
0.21.0 (June 14, 2022)
- [Update]: Add DTX Option for Publisher
- [Update]: Android Native SDK to 2.22.3 and iOS to 2.22.3
0.20.3 (May 18, 2022)
- [Fix]: Updates from DependatBot
0.20.2 (May 16, 2022)
- [Update]: Readme file update with Bintray instructions
- [Update]: Android Native SDK to 2.21.5 and iOS to 2.21.3
- [Fix]: Typescript types fixed audioLevel
0.20.1 (Jan 28, 2022)
- [Update]: Add Content Hint API on the OTPublisher object
- [Update]: Add timestamp property on the audioNetworkStats and videoNetworkStats
- [Fix]: Bump
opentok-react-nativeversion to
0.20.0 (Jan 26, 2022)
- [Update]: update SDKs iOS to 2.21.3 and Android to 2.21.4
0.19.0 (Oct 11, 2021)
- [Update]: update SDKs Android to 2.20.2
- [Update]: added IceConfig options in the Session Options object
- [Fix]: added missing typings in @types/index.d.ts
- [Fix]: fix crash in OTSubscriberLayout #525
0.18.0 (Jun 24, 2021)
- [Update]: update SDKs iOS to 2.20.0 and Android to 2.20.1
- [Fix]: fix crash in OTPublisherLayout when sessionId is null. Fix: https://github.com/opentok/opentok-react-native/issues/462#issuecomment-752171962
- [Fix]: Downgrade uuidv4 module to
3.4.0due to UUID#375 - [Fix]: OTCustomAudioDrive added file in project.pbxproj
- [Fix]: Update Github Actions
0.17.2 (May 27, 2021)
0.17.1 (May 25, 2021)
- [Fix]: Fixed @opentok/types (merged from PR505)
- [Fix]: Fixed double listeners #271 (merged from PR307)
0.17.0 (Apr 29, 2021)
- [Feature]: Updated to react-native 0.64.0
- [Fix]: Updated npm dependencies
- [Fix]: Fixed react-native 0.64.0
nativeEvents.listeners()crash PR493
0.16.0 (Apr 19, 2021)
- [Feature]: Added support for
stereooutput oniOSandAndroidusingCustomAudioDevice
0.15.0 (Jan 26, 2021)
- [Feature]: OTSubscriber: added preferredResolution and preferredFrameRate properties.
- [Fix]: Fixed android app crash with API level 29 (merged from PR456). Adheres to: #455
- iOS SDK updated to
2.18.1 - Android SDK updated to
2.18.1 - Added typescript support
0.14.0 (May 22, 2020)
- [Feature]: Update of iOS SDK to
2.17.0and Android SDK to2.17.1 - OTSessionManager.java#248 mSubscriber.destroy() removed as from 2.17.x, resources will be automatically released by the garbage collector.
0.13.0 (Mar 23, 2020)
- [Feature]: Add Session Options support, both iOS and Android. Note: iceConfig option is not currently supported
- [Feature]: Update of iOS SDK to
2.16.5and Android SDK to2.16.5
0.12.2 (Dec 4, 2019)
- [Fix]: Prevent to unpublish on disconnected sessions (merged from PR356). Adheres to: #337
- [Feature]: Add podspec for autolinking support in RN 0.6x (merged from PR358). Adheres to: #332
- Android SDK updated to
2.16.3
0.12.1 (Aug 30, 2019)
- [Fix]: Fix an error when updating streamId for subscriber component (merged from PR326). Adheres to: #315, #324
- [Fix]: Use Context API for passing props down the component tree (merged from PR333). Adheres to: #329, #335
- [Fix]: Fix
Attempted to register RCTBridgeModule class OTSessionManagerissue after opening/reloading app (merged from PR336). - [Fix]: Fix reload in iOS (merged from PR339).
- [Fix]: Fix security vulnerabilities on dependencies (merged from PR339).