Releases: twilio/twilio-video.js
2.21.2
Bug Fixes
- Fixed an issue where some extraneous errors were logged to console when a video track was stopped. (VIDEO-9511)
- Fixed an issue where the
dimensionsChanged
event was not firing when the track dimensions first became available. (VIDEO-3576) - Removed references to node dependencies that causes build errors on Angular and Vue. (VIDEO-9282)
- Fixed an issue where incorrect device was detected when using iPad in Desktop Website mode. (VIDEO-8282)
2.21.1
2.21.0
New Features
-
twilio-video.js now supports WKWebView and SFSafariViewController on iOS version 14.3 or later. The
isSupported
flag relies partly on the User-Agent string to determine if twilio-video.js officially supports the user's browser. If your application modifies the default value for the User-Agent string, the new value should follow the correct format.Additionally, for iOS applications, your application will need to include the camera usage description, microphone usage description and inline media playback in order for the SDK to work on WKWebView.
Note: As with Safari, WKWebViews only support only one local media track of each kind at a time.
We also would like to thank @cbxp for his contribution. (VIDEO-8374)
Known Issue
Some common issues such as interruptions on mobile devices which includes, backgrounding the application, or switching between applications can sometimes cause VideoTracks to go black or AudioTracks to stop.
2.20.1
2.20.1 (Feb 17, 2022)
Bug Fixes
- Fixed a bug that was introduced in 2.19.0 where the published LocalVideoTracks of Participants on older iOS versions 14.5 and below did not encode and transmit media. (VIDEO-8770)
2.20.0
2.20.0 (February 10, 2022)
Changes
The Preflight API (runPreflight), originally released in 2.16.0, has been promoted to GA.
Thank you @morninng @eroidaaruqaj #1622 for your feedback. Based on this feedback, we have made the following changes to runPreflight
. (VIDEO-7728)
-
The failed event now provides a PreflightTestReport which include partial results gathered during the test. Use this in addition to the error object to get more insights on the failure.
-
Signaling and Media Connection errors are now properly surfaced via the failed event.
-
PreflightTestReport now includes a
progressEvents
property. This new property is an array of PreflightProgress events detected during the test. Use this information to determine which steps were completed and which ones were not.
You can learn more about runPreflight
usage in the documentation, here.
Other changes in this release includes:
- In October 2019, twilio-video.js started using Unified Plan where available, while also maintaining support for earlier browser versions with Plan B as the default SDP format. With this release, twilio-video.js will now stop supporting the Plan B SDP format and will only support the Unified Plan SDP format. Please refer to this changelog and this public advisory for more related information. (VIDEO-6587)
2.19.1
2.19.1 (February 7, 2022)
Bug Fixes
- Fixed a bug where media connection was not getting reconnected after a network interruption if participant was not subscribed to any tracks. (VIDEO-8315)
- Fixed a bug where network quality score stops updating after network glitches. (VIDEO-8413)
2.19.0
New Features
- This release introduces a new feature Adaptive Simulcast. This opt-in feature can be enabled by setting
preferredVideoCodecs="auto"
in ConnectOptions. When joining a group room with this feature enabled, the SDK will use VP8 simulcast, and will enable/disable simulcast layers dynamically, thus improving bandwidth and CPU usage for the publishing client. It works best when used along withClient Track Switch Off Control
andVideo Content Preferences
. These two flags allow the SFU to determine which simulcast layers are needed, thus allowing it to disable the layers not needed on publisher side. This feature cannot be used alongsidemaxVideoBitrate
.
If your application is currently using VP8 simulcast we recommend that you switch to this option.
Example:
const { connect } = require('twilio-video');
const room = await connect(token, {
preferredVideoCodecs: 'auto',
bandwidthProfile: {
video: {
contentPreferencesMode: 'auto',
clientTrackSwitchOffControl: 'auto'
}
}
});
Known Limitations
- Specifying
preferredVideoCodecs="auto"
will revert to unicast in the following cases:- The publisher is using Firefox.
- The publisher has preferred the H264 codec.
- The Room is configured to support only the H264 codec.
- Peer-to-Peer Rooms
- When the participant is being recorded, the SFU will not disable any simulcast layers of the participant's VideoTrack.
Bug Fixes
- Fixed a bug where
clientTrackSwitchOffControl
andcontentPreferencesMode
sometimes did not work as expected during network glitches. (VIDEO-7654)
2.18.3
2.18.3 (January 4, 2022)
Bug Fixes
- Fixed a bug where connect was returning a Promise type instead of a CancelablePromise. (VIDEO-7831)
- Fixed a bug where
audioLevel
,frameRate
, andcaptureDimensions
WebRTC stats are returning null on certain browsers. With this release, these stats are now populated whenever they are available. (VIDEO-3600)
2.18.2
2.18.2 (December 15, 2021)
Bug Fixes
- Fixed a bug where setting
clientTrackSwitchOffControl
toauto
caused the RemoteVideoTracks to get switched off while playing in picture-in-picture mode. Note that this fix does not apply to Firefox as it does not yet implement picture-in-picture APIs. (VIDEO-6677)
2.18.1
2.18.1 (October 29, 2021)
Changes
- Added some metrics to track the usage of the Preflight API Public Beta (
runPreflight
). There are no changes to the public APIs in this release. (VIDEO-6891)