Skip to content

3.4.0

Latest

Choose a tag to compare

@zhanim-tdl zhanim-tdl released this 17 Dec 13:31
003e0e2

Changes

  • Updated React and React Native peer dependencies to allow compatible version ranges.
  • Added the previously Android-only callbacks to iOS (onCameraSwitched, onVideoChanged, onAudioChanged, onLocalParticipantSupportedCodecs) so both platforms now emit identical events.
  • Added camera lifecycle callbacks (onCameraDidStart, onCameraWasInterrupted, onCameraInterruptionEnded, onCameraDidStopRunning) on Android to be consistent with IOs.
  • Added parity callbacks for the full recording lifecycle plus local/remote track publish, unpublish, and subscription failure events across Android and iOS (docs, PropTypes, and TypeScript updated). Newly exported callbacks:
    • onRecordingStarted, onRecordingStopped
    • onLocalAudioTrackPublished, onLocalAudioTrackPublicationFailed
    • onLocalVideoTrackPublished, onLocalVideoTrackPublicationFailed
    • onLocalDataTrackPublished, onLocalDataTrackPublicationFailed
    • onRemoteAudioTrackPublished, onRemoteAudioTrackUnpublished, onRemoteAudioTrackSubscriptionFailed
    • onRemoteVideoTrackPublished, onRemoteVideoTrackUnpublished, onRemoteVideoTrackSubscriptionFailed
    • onRemoteDataTrackPublished, onRemoteDataTrackUnpublished, onRemoteDataTrackSubscriptionFailed
  • Added sendBinary APIs (Android/iOS native + JS bridge) and Example App controls for sending Base64-encoded payloads over the data track
  • Added binary payload support to onDataTrackMessageReceived, emitting payloadBase64 and isBinary for non-string messages
  • Android now assigns human-readable track names (camera, microphone, screen) when creating local video, audio, and screen-share tracks so trackName in events matches iOS.
  • Android and iOS now label local data tracks as data, keeping the emitted trackName consistent across platforms.
  • Added default value to autoInitializeCamera and deprecated it to show future removal.
  • Example App upgraded to React Native 0.82.1 and React 19.1.1.
  • Updated native Twilio Video SDKs to Android 7.10.0 and iOS 5.11.0.
  • Added automated version constants generation for Twilio Video Insights reporting. The SDK version from package.json is now embedded into native iOS (RCTTWVideoConstants.h) and Android (TwilioVideoConstants.java) files via template files and a prepare script. This ensures the correct SDK name and version are reported to Twilio Video Insights.
  • Fixed a bug on iOS where screensharing wasn't working with H.264 codec enabled. The screen share track will be limited to a max resolution of 1280x720 when using H.264, which is the maximum resolution supported by the native Video iOS SDK.
  • Added new method fetchRoom to request the room object and a new callback onRoomFetched to handle the response.
  • Fixed an Android bug where roomName was reported as roomSid when roomName was not passed as a connection option.

Fixes

  • Fixed an Android freeze triggered by react-native-reanimated animations interacting with Twilio video views by ensuring layout updates are a posted asynchronously on the UI thread.

Known issues

  • Screensharing on iOS only supports in-app sharing. The screen share track will freeze when the app is backgrounded.