Releases: twilio/twilio-video.js
2.34.0
2.34.0 (January 8, 2026)
New Features
Enhanced Telemetry
-
Added new telemetry events to enhance monitoring and diagnostics for the following media-related states:
-
Added room lifecycle telemetry events: reconnecting, reconnected, and disconnected.
Changes
- Replaced SDP munging for codec preferences with native
RTCRtpTransceiver.setCodecPreferences()API.
2.33.0
2.33.0 (November 6, 2025)
New Features
Enhanced Telemetry
Added new telemetry events for enhanced monitoring and diagnostics when insights is enabled:
- Application Lifecycle - Monitor application visibility changes (backgrounded/resumed) and termination
events. - Network Information - Track connection type, bandwidth, RTT, and data saver mode changes.
- Quality Limitation - Report video quality limitation reasons (cpu, bandwidth, or other constraints).
- CPU Pressure - Monitor system CPU pressure states using the
Compute Pressure API. - getUserMedia - Track media acquisition success, permission denials, and failures.
- Track Warning - Report freeze counts for video tracks.
These events are automatically collected and reported through the existing insights pipeline when connecting to a
Room.
Changes
isSupportednow returnstruefor Microsoft Edge on iOS.
2.32.1
2.32.1 (August 1, 2025)
Bug Fixes
- Fixed an issue where video tracks would freeze when the video element was offscreen in a document Picture-in-Picture window.
- Fixed an issue where
LocalVideoTrack.restart()would fail on some devices when a video processor was active. - Fixed an issue where SDP munging would generate duplicated payload types, causing SDP negotiation failures with Chrome 137+.
2.32.0
2.32.0 (July 23, 2025)
New Features
Real-Time Transcriptions Support
Added real-time transcription capabilities for group rooms, allowing the capture and display of real-time captions during video calls.
Usage
To receive transcriptions, set the receiveTranscriptions option to true when connecting to a room. Then, subscribe to the transcription event to receive real-time transcription data:
import { connect } from 'twilio-video';
const room = await connect(token, {
name: 'my-room',
receiveTranscriptions: true
});
room.on('transcription', (transcriptionEvent) => {
console.log(`${transcriptionEvent.participant}: ${transcriptionEvent.transcription}`);
});See the Transcription's documentation for more details.
2.31.0
2.31.0 (April 21, 2025)
New Features
Document Picture-in-Picture API Support
Previously, when Client Track Switch Off Control was set to auto, video tracks were automatically switched off—even if they were visible and rendered in a Document Picture-in-Picture (PiP) window. This caused issues where users could see the video element, but the track itself was disabled. In this new SDK version, video tracks will remain active and continue to play when displayed in a PiP window.
2.30.0
2.30.0 (March 28, 2025)
New Features
WebRTC Overrides (Beta)
The SDK now enables you to override WebRTC APIs with the following options. If your environment supports WebRTC redirection—such as Citrix HDX's WebRTC redirection technologies—your application can leverage this new beta feature to enhance media quality in those environments. For more details, please refer to the JavaScript WebRTC Overrides documentation.
ConnectOptions
rtcConfiguration- An optionalRTCConfigurationobject passed to the RTCPeerConnection constructor.RTCPeerConnection- Allows overriding the nativeRTCPeerConnectionclass.
ConnectOptions and CreateLocalTracksOptions
getUserMedia- Overrides the nativeMediaDevices.getUserMediaAPI.enumerateDevices- Overrides the nativeMediaDevices.enumerateDevicesAPI.MediaStream- Overrides the nativeMediaStreamclass.mapMediaElement- Callback triggered after a media track is attached to an audio or video element.disposeMediaElement- Callback triggered after a media track is detached from an audio or video element.
Bug Fixes
- Fixed a bug where a Chrome iOS Participant's local audio (Krips Noise Cancellation enabled) did not recover after disconnecting a bluetooth headset. (VIDEO-13010)
2.29.0
2.29.0 (December 6, 2024)
Changes
Video Processor V3 support (Beta)
AddProcessorOptions.outputFrameBufferContextType = 'bitmaprenderer'is now supported on Safari and Firefox. (VBLOCKS-3643, VBLOCKS-3644)AddProcessorOptions.inputFrameBufferTypenow has a new valuevideoframe. On browsers that supportVideoFrame, theinputFrameBufferargument ofVideoProcessor.processFrame()will be aVideoFrame. On other supported browsers, it will be anHTMLVideoElement.AddProcessorOptions.outputFrameBufferContextTypenow has a new valuebitmaprenderer. Currently, this is only supported for Chromium-based browsers. On other supported browsers, it falls back to2d.- Patched the build script to work around the issue: markdown-it/linkify-it#111.
2.28.2
2.28.2 (November 22, 2024)
Bug Fixes
- Fixed a bug in Desktop Safari 18 and all iOS browsers on iOS 18 where cloning a disabled
MediaStreamTrackwould incorrectly set theenabledproperty totrueinstead of preserving the original disabled state. This ensures track cloning behavior matches the MediaStreamTrack specification and works consistently across browsers. Bug report: https://bugs.webkit.org/show_bug.cgi?id=281758
2.29.0-preview.1
2.29.0-preview.1 (August 13, 2024)
Changes
AddProcessorOptions.inputFrameBufferTypenow has a new valuevideoframe. On browsers that supportVideoFrame, theinputFrameBufferargument ofVideoProcessor.processFrame()will be aVideoFrame. On other supported browsers, it will be anHTMLVideoElement.AddProcessorOptions.outputFrameBufferContextTypenow has a new valuebitmaprenderer. Currently, this is only supported for Chromium-based browsers. On other supported browsers, it falls back to2d.- Patched the build script to work around the issue: markdown-it/linkify-it#111.
2.28.1
2.28.1 (October 3, 2023)
Bug Fixes
- Previously, a Chrome iOS 17 Participant's local audio (Krisp noise cancellation enabled) did not recover after foregrounding the browser following the playing of a YouTube video (or some other application which requires microphone permissions). We work around this by permanently disabling the Krisp noise cancellation upon foregrounding the browser. (VIDEO-13006)