JW Player wants to save you time and improve the viewer experience out of the box with our latest feature, automated player localization. Did you know that our video player contains over 50 customizable tooltips, labels for menus and overlays, and ARIA labels (for accessibility viewers who use screen readers)? Previously, you had to customize these fields in order to provide a better viewing experience on non-English language sites. It is time consuming to translate the player, so we’ve done the work for you so that your viewers can benefit today. Beginning with 8.6, the player will automatically translate those fields to match the language on your website. We’ve included support for 14 languages and will add more by request. Enjoy a seamless experience that increases clarity and engagement for all of your viewers.
Release Date: November 14, 2018
Improved handling of cross-origin 360/VR videos in Chrome 70 and Safari 12 so that instead of displaying a blank screen, the player errors with a new 307012 code.
Ungated VAST 4.1 tags, enabling ad tags marked with the latest VAST version to play. VAST 4.1 features that are not yet supported in JW Player will be ignored.
Added automated localization of all Google IMA text to match the player’s language. Developers may also declare a two-letter ISO language in advertising.locale.
Addressed uncaught TypeError that occurs when provided double value for currentTime property on HTMLMediaElement is non-finite.
Fixed an issue where the error screen was still present after calling .remove() when the player experienced a setupError.
Fixed an issue in Google IMA where content did not background load during a pre-roll on an autostarting player.
Fixed broken countdown timers in some ads when vpaidcontrols was set to true.
Fixed a bug in Freewheel causing the adPlay event to fire twice on mobile devices.
Release Date: Nov 1, 2018
Increased contrast ratio of the quality level label when “Auto” is selected.
Changed focus behavior so that focus remains on the fullscreen icon when entering and exiting fullscreen.
Improved responsive scaling of the shelf widget when using the selectorconfiguration option to decouple the width of the player from the width of the widget.
Fixed an issue causing header logos to be pushed above the viewable area on JW Showcase sites.
Fixed an issue in Safari that caused duplicate captions tracks to appear in the menu of a small player (<320px wide) when switching captions in a live HLS stream with embedded WebVTT captions.
Fixed an issue where players in iframes autostarted out of the viewport when autostart: 'viewable' was set.
Fixed an issue with paused DVR streams in Safari where the player would seek to the live edge when a viewer scrubbed to a specific position.
Fixed an issue where pausing and resuming a live stream with 708 captions would cause the captions to no longer be in sync with the video.
Fixed an issue where parsing an hls manifest containing an EXT-X-MEDIA tag with no URI would result in an error, though this is spec compliant.
Fixed an issue with ad frequency rules in the VAST and Google IMA plugins causing audio from a playlist item to play over the next playlist item when used with the playlistItem() event.
Fixed an issue in Google IMA where an exception was thrown when an ad times out in an ad pod.
Fixed an issue in Freewheel where the duration property was not being passed to the Freewheel SDK.
Release Date: October 22, 2018
Added more granular DASH and HLS playback error codes.
Added specific error codes for cases where an attempt to start playback fails.
Reduced player setup errors by extending the setup timeout from 30 to 60 seconds.
Created a new warning event that displays messages in the developer console, alerting developers of non-fatal errors.. Note: Documentation updates about these changes are coming soon.
Updated the name of the Chromecast button component from button to google-cast-launcher to reflect changes made by Google to be compatible with React.
Added a new configuration option, displayPlaybackLabel, which adds click-to-play call to action text below the play icon on the idle screen. Testing has shown a 3-5% lift in clicks to play with this feature enabled. The default text is “Play” and it can be customized or translated in the intl block with the playback option.
Added non-fatal, console-logged warning events and error codes. See our Errors Reference for updates.
Added support for players to automatically translate tooltips, ARIA labels, and headings into 14 different languages, based on the language attribute declared in the HTML tag on the page. If the lang attribute is not present, the viewer’s browser language will be used, and a translation will still be provided if available. For a full list of languages supported and to request support for another language, please see the support article.
Introduced a new object, the intl block, which accepts an array of objects of ISO language codes. Each language object accepts all the localization strings previously used in localization. Going forward, developers are encouraged to use the intl block so that a single player can be used across pages localized in any language.
Added 12 new localizable strings, which includes “link,” “auto,” “off” and more, as well as updated the default values for a few existing strings. All hard-coded strings are now mapped to localizable strings.
Moved the following fields into the intl block so that they can be localized by language: abouttext, advertising.admessage, advertising.cuetext, advertising.loadingAd, advertising.podmessage, advertising.skipmessage, advertising.skiptext, related.autoplaymessage, sharing.heading. These fields will be backward compatible with their original locations, but will not take advantage of the automated player localization features for those fields. All fields should be nested in the intl block as written.
Moved localization.related to related.heading within the intl block. In a localization context, related is now an object nested inside the intl block.
Removed the auto-exit fullscreen functionality when using IMA with skippable ads, now that iOS 12 allows the video element (and thus the skip button to) work in fullscreen instead of the native player.
Decluttered the seek slider by removing cue markers for non-linear (banner overlay) ads.
In the VAST plugin, added support for the following attributes in the ad tag wrapper:
fallbackOnNoAd – selects any stand-alone adwhen set to true and the response contains no ad.The default is false.
followAdditionalWrappers – ignores wrappers received in the response when set to false. The default is true.
allowMultipleAds – only allows stand alone adswhen set to false. The default is true.
Fixed an issue where VP9 streams would not play in Edge.
Fixed a bug causing the player to error when it was set up after zone.js, a third-party script.
Fixed an issue where it was difficult to differentiate between the text decoration of selected and hover states for items in the settings menu, causing confusion about which option was selected.
Fixed an issue present in IE 11 on Windows 7 where viewers were unable to mute HLS content with the Flash provider.
Fixed an issue causing some 608/708 captions from HLS streams to render successfully.
Fixed an issue in Freewheel where a "Loading Ad" message would appear when an ad was not loading.