Skip to content

Releases: jwplayer/jwplayer-sdk-documentation

Enhanced Fullscreen Handling

20 Jun 22:12
89c6484
Compare
Choose a tag to compare

Our latest Android 3.6.0 release adds more flexibility to our Android SDK with enhanced fullscreen handling. The JWPlayerView now automatically detects if it is running in a RecyclerView or not and uses the appropriate handler to ensure a seamless fullscreen user experience.

3.6.0

Release Date: June 20, 2019 (Build 73)

Updates

  • Improved Android fullscreen handling for RecyclerView and non-RecyclerView configurations. The JWPlayerView will detect whether or not it is running a RecyclerView and will use the appropriate handler allowing for a seamless fullscreen user experience.
  • Upgraded SDK to use JW Player 8.8.6

Known Issue

  • Freewheel ads may restart when user enters or leaves fullscreen mode during playback. This does not cause multiple Freewheel ad impression pings to be sent and will not affect ad reporting.

Two updates

10 Jun 17:53
c155d76
Compare
Choose a tag to compare

Updated IMA and added a new class.

3.4.0

Release Date: May 2, 2019 (Build 91)

Updates

  • Upgraded to Google IMA iOS version 3.8.1 which includes IAB’s Open Measurement SDK that enables third-party viewability and verification measurement for ads served to mobile and desktop environments.
  • Added a new "Experimental API" class that enables the registration of video controls that overlay the media element. Typically, these video controls are considered obstructions and reduce the viewability rate calculated by the Open Measurement SDK. Learn more about Google IMA’s Open Measurement SDK integration and how to register video controls overlay obstructions here.

April release

10 Jun 17:52
c155d76
Compare
Choose a tag to compare

A variety of updates.

3.3.0

Release Date: April 8, 2019 (Build 88)

Updates

  • Upgraded Google Cast SDK library to v4.3.5
  • Improved fullscreen implementation to use AutoLayout
  • Enabled pinch-to-zoom on Fullscreen for iPhone X series
  • Added Fairplay DRM support for Airplay
  • Changed the Enums to NS_ENUM for better type-checking
  • Added onWarning callback for non-fatal error debugging or troubleshooting purposes
  • Improved JW Player expired license user experience by adding an error message notification and halting player setup or playback

Known Issue

  • Caption tracks with the defaultTrack property set to true will not be rendered when casting via Google Cast

Version 3.2

10 Jun 17:51
c155d76
Compare
Choose a tag to compare

3.2.4

Release Date: March 7, 2019 (Build 87)

Fixes

  • Fixed an issue where ad clickthrough on iOS 9 does not open Safari
  • Fixed an issue where onBufferChange passes the wrong values for bufferPercent
  • Fixed an issue where buffered or local video stops playing when connectivity issues occur

3.2.3

Release Date: Feb 25, 2019 (Build 86)

Enhancements

  • Enabled support for iOS 9 and 10 when using CocoaPods

3.2.2

Release Date: Feb 25, 2019 (Build 84)

Enhancements

  • Added support for the Developer license
  • Added a condition to use the previous DRM API to support iOS 9 and iOS 10

3.2.1

Release Date: Feb 5, 2019 (Build 83)

Fixes

  • Fixed an issue where omitting ad rules would disable ad schedules after the first playlist item

3.2.0

Release Date: Jan 23, 2019 (Build 81)

Fixes

  • Fixed an issue where IMA VMAP with the same tag for mid-roll and post-roll causes buffering at the end of the video
  • Fixed an issue where IMA VMAP mid-roll plays as a pre-roll when video is replayed
  • Fixed an issue where cue points for FreeWheel mid-rolls are not shown and they don't play for mp4 streams
  • Fixed an issue where playback rate resets to default after VAST ad
  • Fixed an issue where exiting fullscreen mode when iPad is in landscape mode causes a device to go into portrait mode
  • Fixed an issue where clickout from VPAID ad doesn't occur
  • Fixed an issue where DVR stream shows wrong current position
  • Fixed an issue where the Live button for DVR streams redirects to the very beginning
  • Fixed an issue where UI becomes non-responsive when device is rotated from portrait orientation to landscape orientation
  • Fixed an issue where empty VAST causes an error if a stream is DRM protected
  • Fixed an issue where post-ad infinite spinner shows after some ads
  • Fixed an issue where callbacks fire for the first ad instance in an ad pod only
  • Fixed an issue where manual switch between playlist items cannot be performed
  • Fixed an issue where source switching is broken
  • Fixed an issue where FreeWheel mid-roll does not show ad counter (1 of X) when two or more ads are in a pod
  • Fixed an issue where the player does not force portrait orientation when exiting fullscreen
  • Fixed an issue where seeking over two cue points causes the ads within both cue points to play
  • Fixed a random crash issue which may occur after a few minutes of playback
  • Fixed an issue where local CSS cannot be loaded
  • Fixed an issue where DVR reports a positive number of seconds
  • Fixed an issue where controls for DVR stream show 00:00 once configured

Features

  • Added the ability to set custom parameters to FreeWheel ad configurations. This allows publishers to better target their campaigns. Please refer to the FreeWheel section for the example of usage.

Enhancements

  • Upgraded SDK to use JW Player 8.7.1
  • Moved to new DRM API. As a result the latest supported iOS version is 11

Version 3.1

10 Jun 17:45
c155d76
Compare
Choose a tag to compare

3.1.4

Release Date: Dec 07, 2018 (Build 74)

Fixes

  • Fixed an issue where the player fails to initialize with error code 100012 when target name has spaces or special characters.

3.1.3

Release Date: Oct 17, 2018 (Build 73)

Fixes

  • Fixed an issue that prevents seek from accepting a negative value during DVR stream playback.
  • Fixed an issue that shows an incorrect, current position during DVR stream playback.

3.1.2

Release Date: Sep 19, 2018 (Build 72)

Fixes

  • Fixed an issue where an echo might be heard when the playback rate is less than 1.
  • Fixed an issue where player size is not considered when choosing a VAST ad media.
  • Fixed an issue where UIWebView baseUrl creates a URL with a file:// protocol, if relative protocol was used.
  • Fixed an issue where MPNowPlayingInfoCenter has an empty title if config.title is empty.

3.1.1

Release Date: Sep 13, 2018 (Build 71)

Enhancements

We made the JWPlayerError class public. To be able to use this class in Swift, import this class into the Bridging Header file.

3.1.0

Release Date: Aug 23, 2018 (Build 70)

Features

  • As another step towards parity between our native SDKs and the web player, we have added the ability to set up custom playback rates for your media. Please refer to the sample in this documentation section.

Version 3.0

10 Jun 17:43
c155d76
Compare
Choose a tag to compare

We are excited to announce JW Player SDK 3.0 for iOS. This release updates the SDK to JW8 and leverages its new UI & UX, optimization, and advertising enhancements to engage your audiences intelligently and monetize your content. In the coming months we will deploy more JW8 features into the JW Player SDKs for iOS & Android, so stay tuned!

Please refer to this important 3.x migration guide for iOS to update your current application from version 2.x to 3.x. This guide includes important information about API changes, new features & callbacks, and will help your team with the transition process.

You may use CocoaPods to update to SDK 3.x, or you can download the SDK 3 packages and new 3.x license keys from the Publish -> Tools section of your JW Player Dashboard. Please note that version 3 of the SDKs are available to our Enterprise edition customers, and require new license keys because 2.x license keys will not work.

3.0.1

Release Date: Jul 25, 2018 (Build 69)

Fixes

  • Fixed an issue where ad pods would not be shown on a seek bar if the ad client is FreeWheel
  • Fixed an issue where playback would not automatically play after pre-roll if the ad client is FreeWheel
  • Fixed an issue where midrolls would not play if they were set up using percents or timestamp and the ad client is FreeWheel

3.0.0

Release Date: Jul 2, 2018 (Build 63)

Features

  • Support for new advertising rules, including timeBetweenAds, startOnSeek, frequency, and startOn. Please refer to our Ad Rules Reference for details on how to use them.

Release Notes

15 Apr 14:30
c155d76
Compare
Choose a tag to compare

2.8.11

Release Date: May 21, 2018 (Build 49)

Fixes

  • Fixed an issue where the onControlBarVisible event would trigger for Ad related controls

2.8.10

Release Date: May 4, 2018 (Build 48)

Fixes

  • Fixed an issue where the app would crash if there was a problem with local player related files creation

Enhancements

  • Upgraded to support Google IMA SDK v3.3.1

2.8.9

Release Date: Apr 16, 2018 (Build 47)

Fixes

  • Fixed a VAST issue where content would replay after completion of post-roll
  • Fixed an issue where skipping a VMAP ad did not proceed to the content

2.8.8

Release Date: Mar 28, 2018 (Build 46)

Fixes

  • Fixed an issue where media playback would stop when the app was sent to the background
  • Fixed an issue where NowPlayingInfo (NPI) Center would not display the media's title & meta data, and NPI controls did not work

2.8.7

Release Date: Mar 20, 2018 (Build 45)

Fixes

  • Fixed an HLS in-manifest webVTT captions issue where the list of available tracks was not showing when CC button was selected

2.8.6

Release Date: Feb 27, 2018 (Build 44)

Fixes

  • IMPORTANT UPDATE Apple recently tightened their iOS app store submission restrictions. They started to flag the use of non-public APIs and rejecting apps using them - even if these apps were accepted previously without issue. Our team performed a full code audit and this release removes all use of non-public APIs. As a result, we temporarily removed picture-in-picture (PiP) for iPad and background audio support. We will work towards adding these features back in a subsequent release. We strongly recommend all users to update to this version to avoid this issue. If you're upgrading from SDK 2.7.x please refer to the Migration Guide

2.8.5

Release Date: Feb 09, 2018 (Build 43)

Fixes

  • Fixed minor bugs

2.8.4

Release Date: Feb 07, 2018 (Build 42)

Fixes

  • Fixed an issue where a 'Library not loaded' error message would appear during an Ad Hoc build
  • Fixed an issue where after a VMAP ad error, the player wouldn't gracefully recover and resume media playback

2.8.3

Release Date: Jan 23, 2018 (Build 41)

Fixes

  • Fixed an issue where after a VAST ad error, the player wouldn't gracefully recover and resume media playback

2.8.2

Release Date: Jan 09, 2018 (Build 39)

Fixes

  • Fixed an issue where SDKVersion returned an incorrect value

2.8.1

Release Date: Dec 20, 2017 (Build 38)

Fixes

  • Fixed an issue where Chromecast and IMA libraries were required to build the app. Reminder: A migration is required from 2.7.x versions, please refer to the Migration Guide.

2.8.0

Release Date: Dec 11, 2017 (Build 36)

Enhancements

  • JW Player SDK for iOS is now a Dynamic Library and is no longer static. A migration is required from 2.7.x versions, please refer to the Migration Guide. Please note this version contains a known issue: Chromecast and IMA libraries are required to build the app. We recommend version 2.8.1.

Version 2.7

10 Jun 17:34
c155d76
Compare
Choose a tag to compare

v2.7.11

Release Date: Nov 17, 2017 (Build 35)

Enhancements

  • Renamed symbol _PLAYABLE_KEY to avoid conflicts with other exposed var / consts / symbols that may have the same name

Fixes

  • Fixed an issue where the onControlBarVisible delegate was not called when the player status is "paused"
  • Fixed an issue where playbackPosition() always reported 0 when called immediately after onSeeked()
  • Fixed an issue where two playlist items having an identical video file would cause the player to buffer indefinitely on the second item

v2.7.10

Release Date: Nov 15, 2017 (Build 34)

Updates

  • All CDN assets, including JS files, are now packaged with the SDK and loaded locally if the CDN is not available

Fixes

  • Fixed an issue where the player did not resize correctly in fullscreen/ landscape view for the iPhone X simulator
  • Fixed an issue in CocoaPods where the player controls would appear after an IMA preroll even if config.controls was set to false

v2.7.9

Release Date: Oct 03, 2017 (Build 32)

Fixes

  • Fixed all remaining XCode 9 threading warnings
  • Fixed an issue playing ad tags pointing to media addresses that do not have a URI scheme

v2.7.8

Release Date: Sep 19, 2017 (Build 31)

Fixes

  • Prevents UIKit instance methods from being called on a background thread when the player is deallocated

v2.7.7

Release Date: Sep 15, 2017 (Build 30)

Features

  • onAdImpression: now includes click-through URL parameter

Enhancements

  • Upgraded SDK to use JW Player 7.12.6

v2.7.6

Release Date: Aug 4, 2017 (Build 29)

Enhancements

  • Enabled seeking in DVR streams using the JWPlayerController seek: method

v2.7.5

Release Date: July 21, 2017 (Build 28)

Features

  • Added a new onFullscreenRequested() delegate callback to trigger when fullscreen is requested, but before the animation takes place

Enhancements

  • Upgraded SDK to use JW Player 7.12.1

Fixes

  • Fixed an issue where the CC options would not display when replaying a video
  • Fixed an issue where the first frame of media flashes right before an IMA pre-roll ad played
  • Fixed an issue where the player would freeze after you seeked past two IMA ads in a video

v2.7.4

Release Date: Jun 16, 2017 (Build 27)

Enhancements

  • Upgraded SDK to use JW Player 7.11.3

Fixes

  • Fixed an issue where OnControlbarVisibilityChanged fired when the player was in buffering state and inaccurately reported as true

v2.7.3

Release Date: Apr 7, 2017 (Build 26)

Features

  • New onAdschedule: callback for the VAST ad client that provides detailed information of a VMAP ad schedule.

Enhancements

  • Upgraded SDK to use JW Player 7.10.4
  • onAdImpression: now includes VMAP ad schedule details

Fixes

  • Fixed an issue where VMAP breakstart/breakend callbacks would not fire when no ad source was present.

v2.7.2

Release Date: Mar 24, 2017 (Build 25)

Fixes

  • Fixes bug where a file is downloaded on the main thread

v2.7.1

Release Date: March 10, 2017 (Build 24)

Fixes

  • Fixes bug where the onAdSkipped and onAdMeta delegate methods would not fire

v2.7.0

Release Date: Feb 23, 2017 (Build 23)

New Features

  • Added the ability to programmatically setup the JW Player license key in JWPlayerController. Useful for developers who integrate our framework into their own and want to obfuscate the license key from users.
  • Added bitRateUpperBound property to set the maximum bitrate level during automatic quality switching. Useful in limiting bandwidth consumption for viewers.

Enhancements

  • Adaptive bitrate switching for HLS streams will now be managed directly by AV Player and will behave like "auto". The HD button in this case will not display and manual quality switching is no longer supported. As a result, this resolves issues regarding multiple audio and caption tracks not behaving correctly for HLS streams and improves overall bitrate switching behavior.

Version 2.6

10 Jun 17:27
c155d76
Compare
Choose a tag to compare

v2.6.8

Release Date: Feb 21, 2017 (Build 19)

Fixes

  • Fixes bug where controlBarIsVisible did not fire during vast ads
  • Fixes bug where calling load: during a VAST ad does not load the requested file at time 0
  • Fixes bug where preload would occasionally load the same file twice
  • Fixes bug where occasionally buffer icon would stay on screen during playback

Enhancements

  • Supports Google IMA SDK version 3.3.1

v2.6.7

Release Date: Feb 17, 2017 (Build 18)

Fixes

  • Fixes bug where side loaded webVtt and SRT captions do not display

v2.6.6

Release Date: Feb 7, 2017 (Build 17)

New Features

  • Added support for "preload" where media is preloaded after the player is setup but before the play button is pressed. This allows JW Player to fetch media information prior to playback and enhances perceived performance by users.
  • The "mediafile" string is now returned in the onAdImpression() delegate, which represents the currently playing media item. Also returns a boolean indicating if ad is linear

v2.6.5

Release Date: Jan 31, 2017 (Build 16)

Features

  • Added support for variable rate playback. Dynamically adjust the playback speed of the media to be slower or faster, for both forward and reverse playback.
  • Enabled pausing and resuming IMA Ad playback with the Player's playback API
  • Added support from the Google IMA SDK to specify the language to be used to localize ads

Enhancements

  • Supports Google ChromeCast version 3.3.0.11401

Fixes

  • Fixed bug where playlist containing vast pre-rolls would occasionally load next playlist item at the wrong start time
  • Fixed an out of bounds crash that would intermittently occur when loading a CSS Skin

v2.6.4

Release Date: Jan 24, 2017 (Build 15)

Fixes

  • Fixed bug where replaying a stream with a vast pre-roll would jump to the end after the ad completed
  • Fixed IMA crash caused when switching between view controllers

v2.6.3

Release Date: Jan 12, 2017 (Build 14)

Fixes

  • Fixed firing of VMAP breakstart tracking event

v2.6.2

Release Date: Jan 12, 2017 (Build 12)

Fixes

  • Fixed bug where HD button would not display
  • Fixed a crash when a poster image was set that returned a 404 status
  • Fixed a bug where the onAdImpression delegate method would not get called when playing vast ads that did not contain wrappers
  • Fixed a bug where the onAdImpression delegate method would incorrectly indicate "preroll" for some VAST ads played using the Google IMA ad client
  • Fixed a bug preventing ATS compliance

v2.6.1

Release Date: Dec. 22, 2016 (Build 11)

Updates

  • Added onControlBarVisible callback that indicates when the player control bar's visibility changes. Sync your custom UI elements to display & hide with the player control bar.

v2.6.0

Release Date: Dec. 12, 2016 (Build 9)

Features

  • Added onAdCompanion() callback for VAST client that returns companion ad data

Enhancements

  • Upgraded SDKs to use JW Player 7.8
  • General improvements to SDK player UI
  • More detailed error messaging to assist debugging
  • onMeta() now includes bitrate, frame rate, & dropped frames information
  • Enhanced general fullscreen and rotation UI and behavior
  • Improved accuracy of state changes when JWPlayerStateChangedNotification is fired

Fixes

  • Fixed visual transitions to and from full screen, and on rotations for iPad devices
  • Fixed an issue that would cause the player to exit fullscreen on a 180 degree rotation
  • Fixed an issue where calling Load() during an IMA Ad does not dismiss the ad
  • Fixed an issue where VPAID ads would start in Fullscreen

Version 2.5

10 Jun 17:19
c155d76
Compare
Choose a tag to compare

v2.5.8

Release Date: Nov. 30, 2016 (Build 99)

Fixes

  • Fixed a bug where a crash would occur during the deallocation of a JWPlayerController that had been playing ads with the Google IMA client
  • Fixed a bug where occasionally a crash would occur during changes in Network Connectivity

v2.5.7

Release Date: Nov. 22, 2016 (Build 97)

Fixes

  • Fixed a bug where some JS and CSS files were downloading on the main thread
  • Fixed a bug where setting a file and a playlist in the JWConfig would result in the playlist being ignored

v2.5.6

Release Date: Nov. 8, 2016 (Build 96)

Fixes

  • Fixed a bug where Ads rendered using the Google IMA client would not render on multi-source streams.

v2.5.5

Release Date: Oct. 31, 2016 (Build 95)

Fixes

  • Fixed a bug where the video would automatically replay after a Google IMA post roll
  • FIxed a bug where seeking while offline would display the offline poster even though the video would continue playing in the background
  • Fixed a bug preventing offline playback of local files
  • Fixed a bug where setting the JWPlayerController pictureInPictureDisabled property to YES would not prevent entering Picture in Picture when exiting the app while in fullscreen
  • Fixed a bug preventing playback of AES encrypted streams after switching stream qualities
  • Fixed a bug preventing quality switching when reproducing DVR streams
  • Fixed a bug preventing AutoStart after calling the JWPlayerController's load: method
  • Fixed a bug where IMA VMAP post rolls would not replay after replaying the stream
  • Fixed a bug where occasionally MP4 and MP3 streams would restart after seeking many consecutive times

Enhancements

  • Compatible with Google IMA SDK version 3.2.1

v2.5.4

Release Date: Oct. 3, 2016 (Build 90)

Fixes

  • Fixed a bug in iOS 10 where rotating to landscape on a view controller supporting all interface orientations (UIInterfaceOrientationMaskAll) with the player's forceFullScreenOnLandscape property set to True would display an incorrect fullscreen orientation

v2.5.3

Sep. 22, 2016 (Build 87)

Fixes

  • Fixed an issue where uploading to the App Store without the Google IMA or Google Cast SDKs would result in a rejection

v2.5.2

Release Date: Sep. 22, 2016 (Build 86)

Fixes

  • Fixed an issue where certain enums were not compatible with Swift

v2.5.1

Sep. 21, 2016 (Build 84)

Fixes

  • Fixed an issue where certain HLS streams wouldn't be recognized correctly by the SDK
  • Fixed an issue in playlists where the HD button would appear even if some items in the playlist did not support multiple qualities
  • Fixed an issue where the HD button wouldn't appear after 'load:' was called
  • Fixed an issue where ads with a '#' in the URL would produce an error

Enhancements

  • Enums are now compatible with Swift

v2.5.0

Release Date: Sep. 14, 2016 (Build 83)

New Features

  • Added support for Related Feeds player setup options
  • Added support for custom HTTP headers for video streams (including signed cookies or tokens) via AVURLAsset Options dictionary
  • New and updated delegate callbacks (eg. onAdStarted) for parity with HTML5 player
  • Added a media ID property to JWPlaylistItem to allow developers to specify the JW Media ID for an externally hosted media file in the JW Platform in order to track analytics for that video

Enhancements

  • Compatible with iOS 10
  • Improved onTime to ping every 100 ms
  • Poster image for lock screen is now fetched on the background thread
  • The player now detects the "Video Override" option from the users's "General -> Accessibiity -> Subtitles & Captioning -> Style" settings to determine whether to have the video settings override the user's accessibility settings

Fixes

  • Fixed an issue where setting an adBreak tag with setter instead of using AdBreak's initWithTag custom initializer caused a crash
  • Fixed an issue where toggling displayLockScreenControls did not update correctly
  • Fixed an issue for multiple IMA midrolls where if one midroll should fail and return an ad error, the next scheduled midroll would erroneously play out of turn instead of resuming media playback
  • Fixed an issue where playlists with IMA or VAST ads would erroneously display "Live Stream" in the status bar after ending
  • Fixed an issue where captions from the media were displayed during ad playback