With the release of the latest version of Safari, Safari 12, Apple has decided to remove support for third party NPAPI plugins in Safari. This means that third party plugins, including the Temasys WebRTC Plugin for Safari, will no longer work with the new version(s) of Apple Safari.
Are there any exceptions to this decision by Apple?
We are not aware of any workarounds or exceptions being made to this decision, except for Flash Player.
Is Apple adding any sort of plugin support to Safari, in any fashion?
Apple supports Safari extensions, but Safari extensions do not allow the embedding of NPAPI plugins in them.
What happens from the end user's perspective?
As explained here, Safari versions 11 and above have native WebRTC implementation, so your App should continue to function without the Plugin for most use cases.
- End users will not be warned that they have lost the ability to run third-party NPAPI plugins.
- Temasys is also unable to warn end users that the plugin is no longer supported because, as a result of the changes to Safari, the plugin will never be started.
- It is unlikely that there will be an easy way for end users to roll back their software or applications to use earlier versions of Safari just to maintain access to the Temasys WebRTC Plugin.
What Temasys has done
On our part, we will ensure that the Skylink Platform and Temasys AdapterJS are as compatible as possible with Safari 12 and onwards.
We also continue to ensure that Temasys AdapterJS remains up to date with Google's version of webrtc-adapter.
To continue to support customers using Safari 11.1 and below, we have released a new version of AdapterJS (0.15.3) that overrides Safari's native implementation where possible, and leaves the native implementation untouched otherwise. You can read more about using the Temasys WebRTC Plugin with Safari 11 here.
What you may need to do
If your application uses Safari's native WebRTC implementation, it should continue to work with no change required by you.
If your application uses the flag AdapterJS.options.forceSafariPlugin = true, you will need to update to the latest Temasys AdapterJS version.
Behaviours of different Safari versions with Temasys AdapterJS use cases.
|Safari 10.x||Safari 11 and 11.1||Safari 12 and Above|
|No AJS||No WebRTC support||Native WebRTC implementation||Native WebRTC implementation|
|AJS < 0.15.3||AdapterJS.options.forceSafariPlugin == false||Plugin implementation (shimmed)||NativeWebRTC implementation (shimmed)||Native WebRTC implementation (shimmed)|
|AdapterJS.options.forceSafariPlugin == true||Plugin implementation (shimmed)||Plugin implementation (shimmed)||Plugin fails to start|
→ Error banner will prompt you to install the plugin, even if it's already installed
|AJS ≥ 0.15.3||AdapterJS.options.forceSafariPlugin == false||Plugin implementation (shimmed)||Native WebRTC implementation (shimmed)||Native WebRTC implementation (shimmed)|
|AdapterJS.options.forceSafariPlugin == true||Plugin implementation (shimmed)||Plugin implementation (shimmed)||Native WebRTC implementation (shimmed)|
We recognise the major impact this will have on your customers and your business. This is a unilateral decision from Apple which Temasys has no control over.
Please feel welcome to reach out to us at email@example.com if you have any queries about this.