Skip to main content

RELAY JS SDK 3.0.0 Release

· 3 min read
Daniele Di Sarli

We are happy to announce the release for the RELAY JavaScript SDK 3.0.0!

This Is A Major Release

When upgrading to this version from a previous version, please be aware that there may be breaking changes. Please check out our RELAY Browser SDK vs RELAY SDK for more information.

Future updates will adhere to Semantic Versioning. This means you can upgrade with confidence knowing that new versions will not break your version from minor updates.

SignalWire Release Card

This release marks the first stable version of the JavaScript SDK v3! With respect to the previous major release of the JavaScript SDK, version 3 allows you to manage an environment with multiple rooms and participants for building full-fledged video-conferencing applications and much more. Take a look at the Getting Started information on our developers website.

Please note that some of the features that were present in the old SDK are still missing, and will be included in the upcoming updates to version 3. For more information on the differences between the functionalities offered by the old and the new SDK, refer to our Getting Started guide.

If you have been an early user of version 3 by following our beta releases, here's what changed since the latest preliminary release (beta 6). For the complete changelog with respect to the previous major release, see CHANGELOG.md.

Highlights

New helper methods to create device watchers

Previously, if you wanted to create a device watcher for a single device, you had to manually specify the device category, as in:

h = await SignalWire.WebRTC.createDeviceWatcher({targets: ['microphone']})

You can still use createDeviceWatcher to listen to the events of one or more devices, but we have introduced the methods createCameraDeviceWatcher, createMicrophoneDeviceWatcher and createSpeakerDeviceWatcher which can help make your code cleaner. The previous example would become:

h = await SignalWire.WebRTC.createMicrophoneDeviceWatcher()

Fixed behavior of setMicrophoneVolume() and setSpeakerVolume()

If you were using our beta SDK, you may have run into a bug in which setMicrophoneVolume() actually controlled the volume of the speaker, and vice versa. We have fixed that, so you may need to update your code accordingly.

New Features

  • Export createCameraDeviceWatcher, createMicrophoneDeviceWatcher and createSpeakerDeviceWatcher helper methods

Bug Fixes

  • Update the filtering logic for the device list where Firefox could return a device with deviceId but with empty label.
  • Fix setMicrophoneVolume() behavior on Room, RoomDevice and RoomScreenShare objects. Fix setSpeakerVolume() behavior on Room object.