# What browser versions are supported?

**URL:** <https://mediasoup.discourse.group/t/what-browser-versions-are-supported/23>\
**Category:** mediasoup libraries\
**Created:** [May 28, 2019, 8:40am UTC](https://mediasoup.discourse.group/t/what-browser-versions-are-supported/23 "2019-05-28T08:40:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkh](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/mkh/32/145_2.png) [@mkh](https://mediasoup.discourse.group/u/mkh)\
**Post date:** [May 28, 2019, 8:40am UTC](https://mediasoup.discourse.group/t/what-browser-versions-are-supported/23/1 "2019-05-28T08:40:34Z")

</div>

Hi,  
Congrats for the new forum and I’m glad for creating the first topic here. 🤠

Is there a way to know about the supported version of the browser to advertise to users? A list of WebRTC features to be checked for example? Or we need to test versions one by one?

ITOH `Device.load()` does not provide detailed information when it throws **UnsupportedError** to know about the cause of the error. I’m getting the error on **Firefox 52** which is WebRTC equipped.

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [May 28, 2019, 9:27am UTC](https://mediasoup.discourse.group/t/what-browser-versions-are-supported/23/2 "2019-05-28T09:27:04Z")

</div>

Supported browsers and versions are somehow defined in the [lib/detectDevice.js](https://github.com/versatica/mediasoup-client/blob/v3/lib/detectDevice.js) file.

Indeed there are some features not available for certain old browser versions (such as `replaceTrack()`) since those browsers or versions do not support the corresponding WebRTC API. However I do not have time to document all those corner cases (nobody in WebRTC-land cares much about old versions of browsers, honestly). Firefox 52 may have WebRTC but I don’t want to deal with that so old WebRTC implementation.

You can use the [bowser](https://github.com/lancedikson/bowser) lib into your app to detect the browser model and version.

> ITOH `Device.load()` does not provide detailed information when it throws **UnsupportedError** to know about the cause of the error. I’m getting the error on **Firefox 52** which is WebRTC equipped.

`Device.load()` does not throw with “UnsupportedError”. You probably mean the `new Device()` constructor. Yes, “UnsupportedError” means just that: the browser&version is not supported, nothing else. No extra information can be provided.

---

<div class="post-metadata">

**Author:** ![mkh](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/mkh/32/145_2.png) [@mkh](https://mediasoup.discourse.group/u/mkh)\
**Post date:** [May 28, 2019, 10:53am UTC](https://mediasoup.discourse.group/t/what-browser-versions-are-supported/23/3 "2019-05-28T10:53:00Z")

</div>

Thanks for the precise answer. 👌

Here’s my tests result:

- Chrome 55+
- Firefox 60+
- Opera 42+
- Safari 11+

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [December 2, 2019, 11:10pm UTC](https://mediasoup.discourse.group/t/what-browser-versions-are-supported/23/4 "2019-12-02T23:10:46Z")

</div>


