Skip to content

Releases: jwplayer/jwplayer-sdk-documentation

Google IMA Library Upgade

26 Mar 17:45
6fc366b
Compare
Choose a tag to compare

Stay up to date with the latest Google IMA library in our iOS 3.12.0 release.

3.12.1

Release Date: April 22, 2020 (Build 116)

Fixes

  • Fixed an issue where unplugging earphones from a device during ad playback causes the player screen to freeze and become unresponsive to taps
  • Fixed a thread synchronization issue where a crash could result from reading and updating a property at the same time

3.12.0

Release Date: March 26, 2020 (Build 115)

Updates

  • Upgraded iOS Google IMA support to version 3.11.3
    • Google iOS IMA SDK 3.11.3 is the final version that supports iOS 9.x
    • All remaining references to UIWebView were removed from Google iOS IMA SDK 3.11.2
  • Removed all code enabling IDFA transmission from iOS SDK

Fixes

  • Fixed an issue that caused IMA preroll ads to not play when using Google iOS IMA SDK 3.11.2

Google DAI Support

02 Mar 23:35
6fc366b
Compare
Choose a tag to compare

Monetize your live or VOD content with Google IMA Dynamic Ad Insertion (DAI) in our iOS 3.11.0 release! Visit our developer documentation for more details on how to get started.

3.11.1

Release Date: March 16, 2020 (Build 114)

Updates

  • Expanded support to display thumbnail images for audio-only MP4 files.
  • Added support to surface metadataCueParsed events for EXT-X-DATERANGE tags.

Fixes

  • Fixed a Chromecast issue where casting to a receiver causes the app to crash and provides a EXC_BAD_ACCESS error
  • Fixed issue where repeatedly loading a playlist item causes the loadTime property of the onFirstFrame event to be null, resulting in a crash.

3.11.0

Release Date: February 28, 2020 (Build 113)

Updates

  • Added support for Google IMA DAI. See our iOS SDK developer documentation for more details.
  • Developers can now set the volume for Google IMA ads relative to other audio output.
  • Exposed creativeAdId and creativeID in the AdImpressionEvent payload for Google IMA ads.

Fixes

  • Optimized and increased stability of file handling.
  • Fixed issue where relative URL references in ad tags do not load successfully.

FreeWheel improvements and more!

31 Jan 16:15
6fc366b
Compare
Choose a tag to compare

iOS 3.10 is packed with some great updates! We have exposed HLS #EXT-X-DATERANGE tags that can be used to indicate when there are temporal breaks in a live stream—great for ad stitching. Speaking of advertising, we upgraded and made improvements to our FreeWheel ad client. And those who are looking for more customization, you can now add and remove buttons with custom callbacks in your iOS app.

3.10.2

Release Date: February 20, 2020 (Build 112)

Fixes

  • Fixed an issue where players using a JWAdRule.timeBetweenAds configuration with the VAST ad client will oscillate between player states when there is an empty VMAP mid-roll slot

3.10.1

Release Date: February 6, 2020 (Build 111)

Updates

  • Exposed additional date-range metadata items that might be included in an HLS #EXT-X-DATERANGE tag

Fixes

  • Fixed an issue where the playerView disappears when switching to fullscreen mode in projects that are supporting multiple windows
  • Fixed an issue where serializing specific date-range metadata to JSON would cause a crash
  • Fixed an issue where players that have the license key entered programmatically crash when their app is upgraded from iOS SDK version 3.8 to a newer version

3.10.0

Release Date: January 30, 2020 (Build 110)

Updates

  • Extended FreeWheel ad support to include versions 6.15.0 - 6.32.0
  • Added support for playlist-level configuration of FreeWheel where the JWFreewheelConfig can now be nested within an individual JWPlaylistItem. Use case descriptions and a code sample can be found here
  • Added ability for pauseAd method in JWPlayerController to be called when using the FreeWheel and Google IMA ad clients
  • Added addButton() and removeButton() API methods allowing developers the ability to add or remove custom player buttons to the player control bar. When new buttons are added via the addButton() API method, they can call back to developers' custom native code
  • Added getPlaylistItem() and getPlaylist() API methods allowing developers to get the current playlist or playlist item from a player instance
  • Added date-range metadata type found in JWMetaEvent. The date-range metadata event fires when playback enters the section of an HLS stream tagged with #EXT-X-DATERANGE. Note: #EXT-X-DATERANGE support requires iOS 9.3+

Fixes

  • Fixed an issue where default controls are misplaced when the playerView intersects the notch in iPhone X+ devices
  • Fixed an issue where the player does not recover when a Google IMA exclusion rule is in the ad pre-roll slot
  • Fixed an issue where tapping the screen while an ad is buffering causes the player UI to stop responding until the ad creative timeout fires and the main content resumes playback
  • Fixed an issue where calling pause() in onBuffer does not pause the playback
  • Fixed an issue where some VPAID ad tags return an "invalid XML" error

Version 2.9

10 Jun 17:40
6fc366b
Compare
Choose a tag to compare

2.9.1

Release Date: November 8, 2018

Fixes

  • Fixed an issue where the app could crash if FreeWheel returned an empty ad tag (undocumented by FreeWheel)

2.9.0

Release Date: June 18, 2018 (Build 50)

Updates

  • We have integrated support for the FreeWheel ad-serving platform. Configure your FreeWheel Ad Manager settings in our new FreeWheel ad client to serve pre-rolls and mid-rolls with other features such as ad-skip and ad-click. Please refer to the new FreeWheel advertising section in our developer guide documentation to get started.

Version 1.x

05 Jun 21:34
6fc366b
Compare
Choose a tag to compare

Release Notes prior to JW SDK version 2.0 (1.x) are available in the readme.txt file included in the 1.x download packages.

Features, Fixes, & Improvements

12 Sep 15:50
6fc366b
Compare
Choose a tag to compare

Features and fixes.

4.7.0

Release Date: September, 12, 2022

General Improvements

  • Persists user caption selections between playlist items based on the caption label.
  • When casting a multi-source MP4 video, we now cast the source marked as default if one is available.

Features

  • Added new API to enable and disable Caption rendering.
  • Added new API to listen to new CaptionText cues.

Fixes

  • Prevent a possible null pointer in our IMA implementation.

Features, Fixes, & Improvements

01 Jul 18:25
6fc366b
Compare
Choose a tag to compare

4.6.1

Release Date: September, 2, 2022

General Improvements:

  • Background audio notification improved on Samsung devices
  • onAdPlay and onAdPause now have a playReason and pauseReason

Fixes:

  • Seeking in fractional seconds
  • Infinite buffer after a casting session ends
  • Crash when using AndroidX FragmentContainer with the JWPlayerFragments
  • PlaylistItemCallback functionality when used with a PlaylistItem with ads
  • UI tweaks and improvements
  • API stop() method would result in a unresponsive player
  • PiP events not firing
  • Sideloaded captions not selectable when Casting
  • Captions accessibility settings not applying
  • Stream would not remain paused when Casting was started while paused

4.6.0

Release Date: July, 1, 2022

Fixes

  • Fixed Chromecast on Android api 31 -> affected version 4.3.6
  • Fixed Chromecast options not displayed in player option -> affected version 4.5.0
  • Fixed GoogleIMA onAdRequest UNKNOWN -> affected version 4.5.0
  • Fixed Controls visibility after DAI Ads completion -> affected version 4.2.0
  • Fixed duplicated onAdPause DAI event -> affected version 4.0.1
  • Fixed recommendation text alignment -> affected version 4.0.1
  • Fixed idle progress visibility on api stop -> affected version 4.4.0

Features, Fixes, & Improvements

22 Mar 21:57
6fc366b
Compare
Choose a tag to compare

4.5.1

Release Date: April 12, 2022

Fixes

  • Fixed an issue where the onAdImpressionListener.onAdImpression not containing the skipOffset value set.

4.5.0

Release Date: March 21, 2022

Fixes

  • Fixed a bug where onAdBreakEndEvent & onAdBreakStartEvent triggered twice
  • Fixes a bug where the Normal (1x) playback rate would not appear in the UI if there was no 1.0 rate defined in the PlayerConfig

New Features

  • New Seekbar with chapter and ad markers
  • Added support for selecting captions based on the caption language
  • Developers can now use our ViewModels to power their Custom UI
  • Added support for Custom Styling

Improvements

  • Updated ExoPlayer to 2.16.1

Custom Ad controls, programmatic fullscreen, improvements

10 Feb 14:20
6fc366b
Compare
Choose a tag to compare

4.4.0

Release Date: February 9, 2021

Features and Improvements:

  • Added openAdClickthrough() API to support using custom ad controls.
  • Added transitionToFullScreen() and dismissFullScreen() APIs to support programmatically entering and exiting fullscreen mode.
  • Exposed skip offset through the meta ad event.

Fixed Issues:

  • Fixed certain side-loaded caption options not displaying.
  • Fixed play button not displaying when player is loaded from complete state.
  • Fixed crash when setting an out-of-bounds captions/audio index.
  • Fixed certain caption options being omitted when playing HLS content.
  • Fixed content not replaying when replay is set to true.
  • Fixed VMAPs not working when using the JWAdsAdvertisingConfigBuilder API.
  • Fixed crash when JWPlayerViewController deinitializes.
  • Fixed crash when accessing certain JWPlayerViewController properties before the “onReady” event.
  • Fixed skip button not working on second ad of an ad pod.
  • Fixed skipping of second ad in an ad pod.

Localization Support, WebVTT Captions in Chromecast and More!

07 Dec 20:32
6fc366b
Compare
Choose a tag to compare

Now you can display labels and other UI elements in your user's native language. We've also added a much-requested feature--captions in Chromecast.

4.3.0

Release Date: December 6, 2021

Features and Improvements

  • Added localization support for languages: Arabic, Chinese, Dutch, Finnish, French, German, Greek, Hebrew, Indonesian, Italian, Japanese, Korean, Norwegian, Portuguese, Romanian, Russian, Slovenian, Spanish, Swedish, Thai, Turkish
  • Added localization support by IMA with IMASdkSettings configuration
  • Added support for in-manifest WebVTT captions when casting to Chromecast
  • IMA midroll and postroll ads are now pre-requested to improve the transition between content and ads

Fixed Issues

  • Fixed an issue where empty IMA ads caused the player to become unresponsive
  • Fixed a DAI bug on Android API 5.0 where the ads do not play
  • Fixed a VAST bug where after skipped midroll the progress bar goes to the end of the stream.
  • Fixed a bug where IMA midrolls would not be requested as expected during video playback