1.0.0-beta5 (March 20, 2017)
We are very close to releasing the 1.0.0 APIs. This release includes a number of
simplifications to the twilio-video APIs, namely
-
The Client class has been removed. Instead of constructing a Client using an
Access Token and then callingconnecton it, you can simply callconnect
and pass it an Access Token directly. For example,const { connect } = require('twilio-video'); const room = await connect('your-token');
Or, if using browser globals,
const room = await Twilio.Video.connect('your-token');
-
The Media and LocalMedia classes have been removed. Although the Media and
LocalMedia classes provided some convenience methods for automatically
attaching and detaching Tracks from the DOM as they were added and removed,
these APIs got in the way whenever you wanted to do something more interesting
with the Tracks. Therefore, theaudioTracksandvideoTrackscollections as
well as theaddTrackandremoveTrackmethods have been moved up to the
Participant and LocalParticipant levels. You should update your code to use
the Track-levelattachanddetachAPIs exclusively. For example,function handleParticipant(participant) { participant.tracks.forEach(addTrack); participant.on('trackAdded', addTrack); } function addTrack(track) { const element = track.attach(); document.body.appendChild(element); }
-
The
getLocalMediamethod has also been replaced with a new method,
createLocalTracks. This method behaves likegetLocalMediadid, except it
returns an Array of LocalTracks. -
The
addMicrophoneandaddCameramethods from LocalMedia have been replaced
with two new top-level methods,createLocalAudioTrackand
createLocalVideoTrack.
Refer to the API docs for more information.
New Features
- LocalTracks now indicate whether or not they have stopped with the
isStopped
property. They also emit a new event, "stopped". LocalParticipant re-emits
this event as "trackStopped". - LocalAudioTracks and LocalVideoTracks can now be constructed directly from
MediaStreamTracks. - Updated the Track-level
attachAPIs to allow attaching both an AudioTrack
and a VideoTrack to the same HTMLMediaElement.
Bug Fixes
- Fixed a bug where twilio-video.js, when used in Firefox, would not raise a
"trackAdded" event on a remote Participant if they added, removed, and added
back the same Track - Fixed a bug where round-trip times reported by
getStatswere accidentally
multiplied by 1000 - Fixed a bug where certain identities with non-ASCII characters could not be
used (for example, multiple ":" characters were causing failures) - Fixed a bug where minified builds of twilio-video.js could not be used on web
pages that did not specify a charset - Fixed an EventEmitter leak in StateMachine that was warning in the console