Latest Releases JW Player JW Platform iOS SDK Android SDK


Seamlessly autogenerate Swift headers from Objective-C

For the Swift developers out there! We have updated our Objective-C headers for improved Swift header autogeneration. See it yourself in the latest iOS SDK 3.6.0 release.


Release Date: September 12, 2019 (Build 102)


  • Upgraded to Google IMA iOS version 3.9.2
  • Improved the user experience by retaining the paused state after a viewer seeks while paused. Developers who have worked around this in the past by calling pause() on seek no longer need to use the API, but anyone who wishes to resume playback automatically after a seek event now must call play()


  • Fixed an issue where 608 captions can not be disabled in a playlist item containing side-loaded captions
  • Fixed an issue where duplicate captions appear for playlist items that contain both side-loaded and in-stream 608 captions
  • Fixed issue where VMAP ads scheduled with Google IMA in live streams cause the player to infinitely buffer


Release Date: September 5, 2019 (Build 101)


  • Removed debug assertions from production build in ReachabilityCallback function to avoid uncaught exception


Release Date: August 7, 2019 (Build 100)


  • Fixes bug where pinch gesture recognizers were ignored in fullscreen. Now custom pinch gesture recognizers supersede our default pinch gesture recognizer which is used for zooming in and out.
  • Fixed an issue where the onControlBarVisible callback was not firing
  • Fixed an issue where calling the stop() method would stop the player but did not return it the idle state
  • Fixed issue where side-loaded captions did not display during offline playback


Release Date: July 15, 2019 (Build 99)


  • Added side-loaded caption support for offline playback
  • Exposed nextupOffsetPercentage property which allows the next up overlay to be displayed at a specified percent of the way through the video, rather than at a fixed number of seconds from the beginning or end of the video. When the nextupOffsetPercentage is set, it overrides nextupOffset
  • Upgraded SDK to use JW Player 8.8.6
    Breaking Changes
  • Annotated Objective-C headers to be Swift friendly. This may require code changes for previous Swift implementations.
  • Reintroduced the required fetchContentIdentifierForRequest:forEncryption:withCompletion: method in the JWDrmDataSource protocol. This method is required to play DRM encrypted streams.


  • Fixed an issue where the onControlBarVisible callback was not firing when setting player.controls:true
  • Fixed warning flag by the main thread checker