OpenTok.js SDK Release Notes

v2.34.2 — June 2026

Fixed

  • Fixed an issue where switching audio input devices (for example, connecting Bluetooth headphones) shortly after session start could trigger an audioAcquisitionProblem that caused complete audio loss for remote participants once the session transitioned to a routed topology.

  • Fixed an issue where applications running inside an Android Chrome WebView could not access the precall test or join a video conference.

  • Fixed a missing TypeScript definition: the constraints property was not included in the GetUserMediaProperties interface in ot.d.ts, causing a mismatch with the actual runtime behaviour of the SDK.


v2.34.1 — May 2026

Fixed

Fixed an issue where using publisher.setPreferredResolution() in combination with a background filter (blur or replacement) caused the published resolution to change to an unexpected value. The publisher now maintains the intended resolution when a background filter is applied.

Fixed an issue where toggling video off and back on (publishVideo(false) followed by publishVideo(true)) while a background filter (blur or replacement) was active could briefly expose unfiltered frames to remote participants. The SDK now ensures only filtered frames are sent after video is re-enabled.

Fixed a change introduced in v2.34 where the TypeScript definition of OT.hasMediaProcessorSupport() incorrectly required a mediaType parameter. The mediaType parameter is now optional, restoring compatibility with existing code that calls OT.hasMediaProcessorSupport() without arguments.


v2.34.0 — May 2026

Added new network condition insights. 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.

Added support for background blur and background replacement on Safari and Firefox. This version adds support for background blur and background replacement on Safari and Firefox. This provides feature consistency across all major browsers and devices, addressing customer requests for uniform background effects support across platforms. To check for the availability of required browser APIs, the SDK uses an inline web worker. This inline web worker may trigger Content Security Policy (CSP) violations in applications that enforce a strict CSP — specifically, those that do not include blob: and data: in the worker-src or child-src directives. For more information, see this documentation.

Added support for Live Captions Translation. 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.

Fixed

This version fixes a timing issue where setting a media processor connector immediately after subscriber creation could fail. The SDK now waits for the stream to be available before applying the connector.

This version fixes an issue where streams failed to subscribe in sessions with both End-to-end Encryption and Single Peer Connection enabled.

This version fixes an issue with automatic reconnection handling that could cause unnecessary connection resets during network recovery. Reconnections now occur more reliably without interrupting stable peer connections

This version fixes a race condition where calling subscribeToVideo(true) immediately after subscriber initialization could fail if the video track had not yet been received.

This version fixes an issue where packet loss was incorrectly calculated, and an issue where the audio fallback event was not fired in some situations. These fixes were identified during the implementation of the network condition insights feature, as audio fallback events are one of the inputs used to determine network health. Both fixes result in more accurate and reliable audio fallback behaviour.


v2.33.1 — March 2026

Fixed

Fixed a memory leak affecting long-running sessions with multiple participants.

Fixed a TypeScript definition error where the publisher stats property was incorrectly named transport instead of transportStats.


v2.33.0 — February 2026

Added new publisher and subscriber statistics and video quality changed events. 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.

Added full support for network statistics of a sender in video sessions. For more information, see this documentation.

Added support for preferred video resolution and frame rate for publishers. This version adds new methods to configure the preferred video resolution and frame rate for a publisher, allowing you to dynamically adjust outgoing video quality, without exceeding the resolution or frame rate originally specified when initializing the Publisher. For more information, see this documentation.

OpenTok.js now includes full support for Google Chrome for iOS. For more information, see this documentation.

We have deprecated the video.frameRate property in the stats objects returned by the Subscriber.getStats() completion handler. This property is deprecated and will be removed in the future. Please instead use the video.decodedFrameRate property instead. For more information, see this documentation.

Fixed

Resolved an issue where TypeScript definitions for Publisher Max Bitrate were not included in the previous releases.

Fixed a memory leak in the websocket handling logic for the signaling protocol.

Fixed an issue where audio processing options (gain control, echo cancellation, etc.) were not being applied correctly in certain scenarios.

Fixed audio input device change management issues including default device switching detection and device tracking accuracy.