Upcoming Breaking Changes in Twilio Client JavaScript SDK & Google Chrome

Twilio Client JavaScript versions prior to version 1.7.1 rely on the Plan B SDP (Session Description Protocol) API, which Google will be removing from Chrome by Q1 of 2020. The removal of Plan B SDP could cause users of Twilio Client JS SDK versions 1.7.0 and earlier to lose audio if they switch audio input devices during an active call. Due to this change, we no longer consider these older versions of the Twilio Client JS SDK to be compatible with future versions of Chrome.

Twilio recommends upgrading to the latest 1.7.x version of Twilio Client JS SDK as soon as possible.

Notice - 2019/08/22: This article was republished with the updated Q1 2020 guidance from Google for the removal of Plan B SDP. The previous timeline given was "End of 2019".

Impact Timeline

Google has communicated to Twilio these latest changes will be in a Chrome release targeted for Q1 of 2020. Google has not indicated the exact version of Chrome, or a more precise date. We recommend that you upgrade to the latest Client JS SDK release as soon as possible.

Detailed Explanation

In December 2018, Google began the phased migration of Chrome from using the Plan B SDP (Session Description Protocol) format to the Unified Plan SDP format. As they have now entered the final phase, Google will completely remove Plan B support from Chrome. Google has indicated this will be completed by Q1 of 2020.

With this phase out, Client JS SDK versions prior to 1.7.1 exhibit incompatibilities with the new Unified Plan format that causes the user to lose audio if the input device is changed. With the loss of audio, this will ultimately cause the caller and/or callee to hang up the call.

Is my application affected?

You will be affected if you are using a version prior to 1.7.1.

How do I upgrade my application?

If you depend on the SDK served directly from Twilio's CDN, update your dependency to the latest 1.7.x version of Twilio Client JS SDK. Version 1.7 is backward-compatible with 1.4, 1.5, and 1.6, and should require no additional migration steps.

To update to the latest version of 1.7.x, use the following URL in your application:

https://media.twiliocdn.com/sdk/js/client/v1.7/twilio.min.js

For customers using NPM, install the newest version of twilio-client before re-building your application:

npm install --save twilio-client@^1.7

In general, we recommend that all customers currently using our CDN to switch to a build process using the official twilio-client NPM package. Using NPM provides developers with more precise versioning rules. Additionally, and adding dependencies as a build step provides more control over what makes it into your production application. That said, you don't need to switch to NPM to address this upcoming compatibility issue with Chrome.

Additional Resources

Have more questions? Submit a request
Powered by Zendesk