Web Client SDK release notes

Welcome to version 2.31 of the OpenTok.js library.

If you have any questions, Vonage Support is here to help.

Announcements

New features

Requirements

Known issues

Fixed issues

How to report bugs

For details on the OpenTok.js API, see the OpenTok.js library reference.

Announcements

Safari versions 15.4 and 15.5 (which ship with iOS 15.4 and 15.5 and macOS 12.3 and 12.4) fix issues that affect apps that use OpenTok.js (in Safari). See this note.

OpenTok.js now includes beta support for Google Chrome for iOS and Firefox for iOS.

OpenTok.js version 2.16 was the last version to support the Plugin for Internet Explorer. OpenTok.js version 2.16 was deprecated in May 2020 for the Standard environment and June 2020 for the Enterprise environment. Support for the plugin for Internet Explorer was removed in 2.17.

OpenTok.js fully supports Chromium-based versions of Microsoft Edge (versions 79+) for Windows and macOS.

Safari now supports the VP8 video codec, in addition to H.264. VP8 support is in Safari 12.1, which ships on macOS 10.14.4 and is also available for macOS 10.13.6 and 10.12.6. And it is available in the latest iOS 12.2 release. For information on video interoperability and other issues, see the Safari browser support page. For more information on video codecs, see this developer guide.

As of Chrome 72 and Opera 59, an extension is no longer needed for screen sharing. Chrome prompts the end user for access to a screen, window, or tab, as it would for access to the camera. In the current versions of Chrome, Firefox, and Opera, you no longer need to deploy a screen-sharing extension.

On macOS 10.15+ (Catalina), to publish a screen-sharing stream the user must grant the browser access to the screen in macOS System Preferences > Security & Privacy > Privacy > Screen Recording. Otherwise, the Publisher will dispatch an accessDenied event.

New Features in OpenTok.js 2.31

New Features in OpenTok.js 2.31.1 - October 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.31.0 - September 2025

Added full support for the VP9 codec with Scalable Video Coding (SVC) in routed sessions.

Added full support for session migration. See the sessionMigration property of the options object you pass into the OT.initSession() method. For more information, see the this documentation.

Added support for video bitrate settings for publishers. This version adds new methods to configure video bitrate settings for publishers. For more information, see this documentation.

Added support for new WebRTC-capable browsers. For more information, see this documentation.

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.30

New Features in OpenTok.js 2.30.6 - November 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.30.5 - July 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.30.4 - July 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.30.3 - June 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.30.2 - June 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.30.1 - May 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.30.0 - May 2025

*Added VP9 codec support for end-to-end encryption.

Added support for end-to-end encryption on WebKit-based browsers, for example Safari on macOS/iOS and Chrome on iOS.

Added support for session migration. See the sessionMigration property of the options object you pass into the OT.initSession() method. For more information, see the this documentation. This is a beta feature.

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.29

New Features in OpenTok.js 2.29.6 — October 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.29.5 — June 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.29.4 — May 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.29.3 — March 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.29.2 — February 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.29.1 - February 2025

This version adds quality improvements for the background blur and background replacement APIs.

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.29.0 - January 2025

Added support for Single Peer Connection. To enable single peer connection, pass in a singlePeerConnection property of the options you pass into the OT.initSession() method and set it to true. When enabled, it reduces OS resource consumption, improves rate control, and in the case of mobile native devices, supports large sessions. See the Single Peer Connection documentation.

Added support for call quality change events. This version adds the qualityScoreChanged event, which the Subscriber object dispatches when there are changes in audio or video call quality.

We have extended the Publisher accessDenied event to be dispatched when the user revokes access to the camera or microphone after previously granting them. This was previously a beta feature.

Added support for audio input changed events. This version adds the audioInputDeviceChanged event, which the Publisher object dispatches when the audio input device changes. See this documentation. This was previously a beta feature.

Added support for central processing unit (CPU) usage events. This version adds the cpuPerformanceChanged event, which the Session object dispatches when there are changes in CPU usage. This was previously a beta feature.

Added support to disable audio input management. To disable audio input management, add the disableAudioInputDeviceManagement property to the options passed into the OT.initPublisher() method and set it to true. See the documentation. This was previously a beta feature.

Added support for publishVideo function callbacks. See the documentation. This was previously a beta feature.

This version adds support for the VP9 codec with Scalable Video Coding (SVC) in routed sessions. This is a beta feature.

Features added in previous versions

New Features in OpenTok.js 2.28

New Features in OpenTok.js 2.28.9 - June 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.28.8 - April 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.28.7 - February 2025

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.28.6 - December 2024

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.28.5 - December 2024

Added support for call quality change events. This version adds the qualityScoreChanged event, which the session object dispatches when there are changes in audio or video call quality. This is a beta feature.

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.28.4 - November 2024

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.28.3 - September 2024

We have extended the Publisher accessDenied event to be dispatched when the user revokes access to the camera or microphone after previously granting them. This is a beta feature.

This release fixes some issues - see the list of fixed issues.

New Features in OpenTok.js 2.28.2 — August 2024

Added support for audio input changed events. This version adds the audioInputDeviceChanged event, which the Publisher object dispatches when the audio input device changes. This is a beta feature. See the 'Detecting when a publisher switches audio input devices' of this documentation for more information.

Added support for central processing unit (CPU) usage events. This version adds the cpuPerformanceChanged event, which the Session object dispatches when there are changes in CPU usage. This is a beta feature.

New Features in OpenTok.js 2.28.1 — July 2024

Added support to disable audio input management. To disable audio input management, add the disableAudioInputDeviceManagement property to the options passed into the OT.initPublisher() method and set it to true. This is a beta feature.

Added support for publishVideo function callbacks. This is a beta feature.

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.28.0 - June 2024

This release adds support for advanced noise suppression. See Applying the advanced noise suppression filter. This is a beta feature. Added support for media stream APIs for publishers and subscribers. See the Publisher mediaStreamAvailable and Subscriber mediaStreamAvailable events. This was previously a beta feature.

This release adds support for advanced noise suppression. See Applying the advanced noise suppression filter. This was previously a beta feature.

Added support for subscriber resolution optimization. You can now pass the "auto" value into the preferredResolution property of the options object you pass into the Session.subscribe() method. With the preferred resolution set to "auto", OpenTok.js automatically sets the preferred resolution for a subscriber, based on its dimensions in the browser. This feature only applies when subscribing to a stream that uses the scalable video feature. This was previously a beta feature.

New Features in OpenTok.js 2.27

New Features in OpenTok.js 2.27.11 - April 2025

This release fixes some issues - see the list of fixed issues

New Features in OpenTok.js 2.27.10 - February 2025

This release fixes some issues - see the list of fixed issues

New Features in OpenTok.js 2.27.9 - January 2025

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.27.8 - December 2024

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.27.7 — June 2024

Added support for media stream APIs for publishers and subscribers. This is a beta feature. See the Publisher mediaStreamAvailable and Subscriber mediaStreamAvailable events.

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.27.5 — May 2024

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.27.4 — April 2024

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.27.3 — April 2024

Added support for subscriber resolution optimization. This is a beta feature. You can now pass the "auto" value into the preferredResolution property of the options object you pass into the Session.subscribe() method. With the preferred resolution set to "auto", OpenTok.js automatically sets the preferred resolution for a subscriber, based on its dimensions in the browser. This feature only applies when subscribing to a stream that uses the scalable video feature.

Added TypeScript definitions for Subscriber audioBlocked and audioUnblocked events.

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.27.1 — January 2024

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.27.0 - December

Added support for publisher audio fallback. This was previously a beta feature. For more information, see the Publisher audio fallback documentation.

Added support for the VP9 codec in relayed sessions. For more information, see the Video Codecs documentation.

Added support for end-to-end-encryption interoperability with the other Vonage Video client SDKs. For more information, see the End-to-end encryption documentation.

Added support in the Vonage Media Processor library for subscriber media processor APIs for audio and video. You can apply custom subscriber video and audio transformations to video and audio streams using the Subscriber.setVideoMediaProcessorConnector() and Subscriber.setAudioMediaProcessorConnector() methods. For more information, see the Vonage Media Processor documentation.

New Features in OpenTok.js 2.26

New Features in OpenTok.js 2.26.5 - December 2024

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.26.4 — November 2023

Added support for publisher audio fallback. This is a beta feature. See Publisher audio fallback.

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.26.3 — October 2023

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.26.2 — October 2023

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.26.1 — August 2023

This release fixes some issues — see the list of fixed issues.

New Features in OpenTok.js 2.26.0 — August 2023

Added support for publisher initials. This feature allows users to specify what initials to display over the publisher's widget when the video is disabled. See the documentation for the initials option of the properties of the OT.initPublisher() method. This was previously a beta feature.

Live Captions. This version adds support for Live Captions. This was previously a beta feature.

This release fixes some issues — see the list of fixed issues.

Requirements

The OpenTok.js library is currently supported in:

  • Electron (latest release version)
  • Google Chrome (latest release version)
  • Google Chrome for Android (latest release version)
  • Beta support for Google Chrome for iOS (latest release version)
  • Firefox (latest release version)
  • Firefox for Android (latest release version)
  • Beta support for Firefox for iOS (latest release version)
  • Microsoft Edge versions 79+ for Windows and macOS (Chromium-based versions of Edge)
  • Safari 11+ on macOS and iOS. For information on video interoperability and other issues, see the Safari browser support page.
  • Opera (latest release version)
  • Samsung (latest release version)

Important: OpenTok.js version 2.16 was the last version to support the Plugin for Internet Explorer. OpenTok.js version 2.16 was deprecated in May 2020 for the Standard environment and June 2020 for the Enterprise environment.

The OpenTok.js library uses port 443. Port 443 must be open on the client network.

Known issues

The following are known issues for this version of OpenTok.js:

For WebKit-based browsers, for example Safari on macOS/iOS and Chrome on iOS, end-to-end encryption can not work when the developer tools are opened. We are working on a fix for this issue.

OpenTok 2.27 and later is not supported on Safari 14 and lower.

On Windows computers with Intel Smart Sound Technology audio drivers installed, a Publisher object may not dispatch an audioInputDeviceChanged event when switching audio input devices. However, audio will still be routed correctly. We are working on a fix for this issue.

For iOS browser subscribers, in some cases, the audio level may be incorrect. We are working on a fix for this issue. This issue has been reported as a WebKit bug.

For iOS 17+ browser users, video flickers when device orientation is changed and with resizing of the video. This issue has been reported as a WebKit bug

In Chromium browsers, closing the laptop lid while publishing causes the publisher to be destroyed. Chromium bug.

Emojis unexpectedly appear in videos in iOS 17 and macOS 14 (Sonoma). This is a result of the new Apple Reactions feature. At this time, there is no API or programmatic to turn this off. End-users must disable it during a video session. On macOS, click the green video camera icon in the Mac's menu bar and then deselect Reactions. On iOS and iPadOS, open Control Center (by swiping down from the top-right corner or bottom of the screen, depending on the device), tap Video Effects, and then tap Reactions to disable it.

In Safari, new subscribers are inaudible until bringing focus to the browser tab. Switching to the tab that uses OpenTok.js restores audio for the new subscribers. This issue has been reported as a WebKit bug.

For Firefox users on Android 13, video resolution may be incorrect when switching orientation. Rotating a device running Android 13 may not cause the video resolution to be properly updated. This issue is the result of a reported Mozilla regression. Note: there is a pull request to fix this issue.

In Safari 17.0+, video resolution setting ignored for screen-sharing video. The resulting resolution is always 640x360, regardless of the resolution set when initializing the Publisher. This issue has been reported as a WebKit bug.

For users on iOS 17+, video is initially displayed as the wrong resolution in a video publisher, resulting in a visible flicker as the video resizes. This issue is the result of a reported Webkit regression.

On iOS 16.4+ when using the iCloud Private Relay feature on Safari, users may experience disconnects in relayed sessions. This has been reported as a WebKit bug.

On Safari, when calling the OT.initPublisher() method for initializing a screen-sharing publisher without a user gesture handler, you may receive an InvalidAccessError error. This is expected behavior for Safari.

In some cases, when tab-sharing a Google Slides presentation, the video is letter-boxed when the publisher's aspect-ratio is 4:3. This issue is not present when screen-sharing the Google Slides presentation.

On Android 12 and 13, Chrome requires using the "Media Volume" to adjust the volume instead of the phone's volume slider. This issue has been reported as a Chromium bug.

On Android 13, Firefox microphone and camera permissions require a device restart. After you set the permissions in the browser, you need to restart the device for the permissions to take effect.

iOS Safari audio and video loss after incoming phone call. After an iOS device accepts an incoming phone call and returns to an OT session, the audio and video from the iOS device may be dropped. This has been reported here and here as WebKit bugs.

Audio degradation over time on iOS/iPadOS devices with Safari. The audio quality for streams published from Safari on iOS/iPadOS may degrade over time with a growing crackling/distortion sound. This issue has been reported as a WebKit bug.

Video can flicker for streams with the videoType set to "custom". This can happen if video content doesn't change much. Setting the content hint to text or detail mitigates the issue. See this developer guide topic and the documentation of the videoContentHint property the options you pass into the OT.initPublisher() method and the Publisher.setVideoContentHint() method. This issue has been reported as a Chromium bug.

The accessDialogOpened event may be erroneously dispatched. When calling the OT.getUserMedia() method, the accessDialogOpened event may be dispatched, even though no access dialog was shown.

For some mobile Firefox web users, device orientation may corrupt the publisher's video stream. See this Mozilla bug report.

Setting the frame rate does not work in Firefox on macOS when using the built-in FaceTime camera. Setting the frameRate option when calling OT.initPublisher() has no effect. This is the Mozilla bug report for the issue.

Setting the audio bitrate is not supported in streams published in Firefox. Setting the audioBitrate option of the OT.initPublisher() method has no effect in Firefox. See this Mozilla bug report.

Echo cancellation disabled with stereo audio input in Chrome. Some browsers (such as Chome 73+) do not support echo cancellation for stereo audio (see this Chrome issue report).

In Chrome, publishing is not supported on http (insecure) pages (except for http://localhost). You must serve the page over https (secure). Note that for testing, you can also load a page from the local file system (from the file: URI scheme).

Fixed issues

Fixed in OpenTok.js 2.31.1

This version fixes an issue where, in some cases, sessions could not connect due to wrong credentials.

In this version we are adding some improvements to the functions to check whether a stream has audio or video.

This version fixes an issue when enumerating audio output devices available in Safari on iOS 26 and Firefox.

This version fixes an issue where publishing live captions could fail.

In this version we are fine tunning the Mean Opinion Score (MOS) algorithm where we consider impact of low frame rates in screen share use cases.

Fixed in OpenTok.js 2.31.0

In some cases, subscribers can not subscribe after an automatic session migration. We have fixed this issue.

Fixed in OpenTok.js 2.30.6

In some cases, sessions could not connect due to wrong credentials. We have fixed this issue.

In certain situations, publishers may be unable to publish content because of audio capture issues, especially in Safari on iOS devices. We have fixed this issue.

Fixed in OpenTok.js 2.30.5

In some cases, subscriber video would freeze. We have fixed this issue.

Fixed in OpenTok.js 2.30.4

In some cases, a black screen flickered in the video shortly after initially subscribing to a stream. We have fixed this issue.

The events for "cpuPerformanceChanged" were being dispatched too frequently. We have fixed this issue.

Fixed in OpenTok.js 2.30.3

In some cases, there were missing TypeScript definitions for Publisher and Subscriber events. We have fixed this issue.

Fixed in OpenTok.js 2.30.2

In some cases, if a connection failed there were unhandled exceptions. We have fixed this issue.

In some cases, when rapidly toggling video background blur or replacements "mediaStopped" events were erroneously dispatched. We have fixed this issue.

VP9 scalability mode improvements. The SDK now uses modes in which the spatial layers don't depend on lower spatial layers at a key frame. This change vastly improves the experience of VP9 when using features that introduce complex background textures, such as video filters from the Vonage media processor library.

Fixed in OpenTok.js 2.30.1

In some cases, "MaxListenersExceededWarning" was logged in the console. We have fixed this issue.

For Chromium browsers, a black screen at times flickered in a Subscriber video shortly after initially subscribing to a stream. We have fixed this issue.

In some cases, duplicated connected events were dispatched. We have fixed this issue.

Fixed in OpenTok.js 2.30.0

If a page has a Content Security Policy header and 'unsafe-eval' is not specified with the script-src directive end-to-end encryption cannot work. We have fixed this issue.

Fixed in OpenTok.js 2.29.6

In some cases, sessions could not connect due to wrong credentials. We have fixed this issue.

In certain situations, publishers may be unable to publish content because of audio capture issues, especially in Safari on iOS devices. We have fixed this issue.

Fixed in OpenTok.js 2.29.5

In some cases, if a connection failed there were unhandled exceptions. We have fixed this issue.

For Chromium browsers, a black screen at times flickered in a Subscriber video shortly after initially subscribing to a stream. We have fixed this issue.

In some cases, "MaxListenersExceededWarning" was logged in the console. We have fixed this issue.

Fixed in OpenTok.js 2.29.4

We have fixed some security vulnerabilities.

In some cases, a null reference error was logged in the web console. We have fixed this issue.

In some cases, duplicated connected events were dispatched. We have fixed this issue.

Fixed in OpenTok.js 2.29.3

In some browsers, warnings were being logged in the console. We have fixed this issue.

In some cases, supported browsers were erroneously detected as incompatible. We have fixed this issue.

Fixed in OpenTok.js 2.29.2

Automatic reconnections occasionally failed in certain scenarios. We have fixed this issue.

We have fixed some security vulnerabilities.

Fixed in OpenTok.js 2.29.1

In some cases, when screensharing, the mediaStopped and streamDestroyed events were not dispatched. We have fixed this issue.

Fixed in OpenTok.js 2.29.0

In some cases, the Publisher accessDenied event was missing an error message. We have fixed this issue.

Fixed in OpenTok.js 2.28.9

In some cases, if a connection failed there were unhandled exceptions. We have fixed this issue.

In some cases, when rapidly toggling video background blur or replacements mediaStopped events were erroneously dispatched. We have fixed this issue.

For Chromium browsers, a black screen at times flickered in a Subscriber video shortly after initially subscribing to a stream. We have fixed this issue.

In some cases, duplicated connected events were dispatched. We have fixed this issue.

In some cases, a null reference error was logged in the web console. We have fixed this issue.

In some cases, "MaxListenersExceededWarning" was logged in the console. We have fixed this issue.

Fixed in OpenTok.js 2.28.8

In some cases, the Publisher accessDenied event was missing a message property. We have fixed this issue.

In some cases, when screen sharing, the mediaStopped and streamDestroyed events were not dispatched. We have fixed this issue.

Automatic reconnections occasionally failed in certain scenarios. We have fixed this issue.

We have fixed some security vulnerabilities.

In some browsers, warnings were being logged in the console. We have fixed this issue.

In some cases, supported browsers were erroneously detected as incompatible. We have fixed this issue.

Fixed in OpenTok.js 2.28.7

We have fixed some security vulnerabilities.

Fixed in OpenTok.js 2.28.6

On some computers with certain graphics processing units (GPUs), using background blur or replacement was sometimes causing a memory leak. We have fixed this issue.

Fixed in OpenTok.js 2.28.5

Publishers were unable to publish multiple times without destroying the publisher. We have fixed this issue.

Fixed in OpenTok.js 2.28.4

In some cases, when calling the Publisher.getAudioSource() method, the correct device ID of the audio source was not being returned. We have fixed this issue.

The TypeScript definition for signal events could not support signals with an undefined type. We have fixed this issue.

In some cases, audio was muted. We have fixed this issue.

In some cases, publishers were failing to republish. We have fixed this issue.

In some cases, publishers in relayed sessions were destroyed when a subscriber had certain network issues. We have fixed this issue.

Fixed in OpenTok.js 2.28.3

In some cases, importing the SDK would cause an error. We have fixed this issue.

In some cases, users could not be heard. We have fixed this issue.

Fixed in OpenTok.js 2.28.1

The applyAudioFilter type was incorrect in the TypeScript definition. We have fixed this issue.

Safari subscribers were generating unnecessary errors when receiving audio only from publishers. We have fixed this issue.

Fixed in OpenTok.js 2.27.11

In some cases, the Publisher accessDenied event was missing a message property. We have fixed this issue.

In some cases, when screen sharing, the mediaStopped and streamDestroyed events were not dispatched. We have fixed this issue.

Automatic reconnections occasionally failed in certain scenarios. We have fixed this issue.

We have fixed some security vulnerabilities.

In some browsers, warnings were being logged in the console. We have fixed this issue.

In some cases, supported browsers were erroneously detected as incompatible. We have fixed this issue.

Fixed in OpenTok.js 2.27.10

We have fixed some security vulnerabilities. Note: This was already addressed in versions 2.29.9 and 2.28.7.

Fixed in OpenTok.js 2.27.9

Safari subscribers were generating unnecessary errors when receiving audio only from publishers. We have fixed this issue.

In some cases, importing the SDK would cause an error. We have fixed this issue.

In some cases, users could not be heard. We have fixed this issue.

In some cases, publishers in relayed sessions were destroyed when a subscriber had certain network issues. We have fixed this issue.

In some cases, publishers were failing to republish. We have fixed this issue.

Publishers were unable to publish multiple times without destroying the publisher. We have fixed this issue.

Fixed in OpenTok.js 2.27.8

On some computers with certain graphics processing units (GPUs), using background blur or replacement was sometimes causing a memory leak. We have fixed this issue.

Fixed in OpenTok.js 2.27.7

In some cases, the audio level may return null. We have fixed this issue.

Fixed in OpenTok.js 2.27.6

In some cases, end-to-end encryption was not working properly when the encryption secret was updated. We have fixed this issue.

Fixed in OpenTok.js 2.27.5

Audio was occasionally lost when the audio input device was changed. We have fixed this issue.

Video was opening in full screen for iOS 17 subscribers. We have fixed this issue.

Video was occasionally going blank after joining a session. We have fixed this issue.

Fixed in OpenTok.js 2.27.4

The target property of the Subscriber connected and disconnected events included some undefined values. We have fixed this issue.

Fixed in OpenTok.js 2.27.3

In some cases, audio was not routed when switching audio input devices. We have fixed this issue.

In some cases, Electron apps running on Apple Silicon laptops could not publish. We have fixed this issue.

Fixed in OpenTok.js 2.27.1

In some cases, when Live Captions were enabled, the stream.hasAudio property was not set correctly. We have fixed this issue.

In relayed sessions, subscriber video was freezing for users using browsers on iOS 17+. We have fixed this issue.

Fixed in OpenTok.js 2.26.5

On some computers with certain graphics processing units (GPUs), using background blur or replacement was sometimes causing a memory leak. We have fixed this issue.

Fixed in OpenTok.js 2.26.4

In some cases, duplicate events were dispatched. We have fixed this issue.

Fixed in OpenTok.js 2.26.3

When transitioning backgrounds using the Publisher.applyVideoFilter() method, the background momentarily changes to solid black. We have fixed this issue.

Fixed in OpenTok.js 2.26.2

Some legacy code used an eval-based expression. We have fixed this issue.

In Safari 16.6, audio was not heard if you subscribed to an audio only stream. We have fixed this issue.

An error was appearing in the console when users disconnected from sessions. We have fixed this issue.

When users unpublished screen sharing, an incorrect reason was sent. We have fixed this issue.

Fixed in OpenTok.js 2.26.1

In some cases, audio was lost when switching audio devices in a session. We have fixed this issue.

In some cases, subscribers were not able to mute publishers. We have fixed this issue.

In some cases, an error occurred when the audio input was changed. We have fixed this issue.

Fixed in OpenTok.js 2.25.4

In relayed sessions, participants were sometimes unable to establish peer connections when the transportPolicy was set to relay. The transportPolicy setting is part of the Configurable TURN servers add-on feature. We have fixed this issue.

Fixed in OpenTok.js 2.25.3

Participants were unable to update invalid end-to-end encryption passwords. We have fixed this issue.

Audio was occasionally lost when audio devices were switched during a session. We have fixed this issue.

Fixed in OpenTok.js 2.25.2

Reusing the same device ID in the Publisher.setVideoSource() method in Chrome on Android produced blank video. We have fixed this issue.

Fixed in OpenTok.js 2.25.1

When background blur was enabled on an Android phone, cycling video sometimes caused the screen to go black. We have fixed this issue.

Fixed in OpenTok.js 2.25.0

In some cases, audio events were not displayed for publishers. We have fixed this issue.

Fixed in previous versions

Fixed in OpenTok.js 2.24.7

Added fixes to the default UI.

Fixed in OpenTok.js 2.24.6

In some cases, participants were unable to unmute their audio. We have fixed this issue.

Fixed in OpenTok.js 2.24.5

Video filters were causing delayed or dropped video. We have fixed this issue.

Fixed in OpenTok.js 2.24.4

Background blur was not working if EU proxy was enabled. We have fixed this issue.

Fixed in OpenTok.js 2.24.3

Poor background blur performance on certain devices. We have fixed this issue.

Fixed in OpenTok.js 2.24.2

In some cases, importing a webpack module would cause an error. We have fixed this issue.

In some cases, when background blur was enabled, warnings were logged in the console. We have fixed this issue.

Fixed in OpenTok.js 2.24.1

Applying video filters may have caused a memory leak. We have fixed this issue.

When background blur or replacement was applied in sessions with IP Proxy enabled, certain assets were not being proxied. We have fixed this issue.

How to report bugs

We'd love to hear from you! If you have any issues or bugs, you can report them to us at our support page.