Release Notes (Android v4)

The Android v4 release notes highlight the additions and improvements JWP has made to the Android SDK v4 code. If you have any questions after reading a release note and linked documentation, please contact your JWP representative.


To receive immediate notifications for all Player releases, add the following RSS feed URL to your RSS reader:


Version Date Description
4.8.0 07 Nov 2022 General Improvements
  • A new getter, JWPlayer.isCaptionsRendering(), has been created that checks if the caption rendering is on/off.
  • Captions scale with the player size. When playing the video on a larger surface, the size of the captions will scale according based on the new height of the JWPlayerView.
  • Caption position responds more accurately and reliably to resizing of the JWPlayerView.
  • Fixed an issue when not using background audio, even with autostart enabled, playback would not begin when the player is backgrounded.
  • Fixed an issue when replacing or removing a JWPlayerFragment would not tear down correctly.
  • Fixed an issue where the ad does not play when the fragment was visible (either on the back stack or in the background).


Version Date Description
4.7.1 27 Oct 2022 General Improvements
  • Upgraded ExoPlayer to 2.18.1
  • Optimized ProGuard rules
  • Added PauseReason on PauseEvent

  • Preventing debuggeable webView visibility in web inspector.
  • Fixed crashes from Nullable mediaurl on ExoMediaPlayerController.
  • Fixed crashes from IMA ads when muteAd API is called.
  • Fixed LifecycleOwner from JWPlayerSupportFragment to prevent plays on background after removed.
  • Fixed an issue with IMA DAI TagParameters not being sent.
4.7.0 12 Sep 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.

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

• Prevent a possible null pointer in our IMA implementation


Version Date Description
4.6.1 2 Sep 2022 General Improvements
• Background audio notification improved on Samsung devices
onAdPlay andonAdPause now have a playReason and pauseReason.

• 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
• API stop() method would result in an unresponsive player
• PiP events not firing
• Sideloaded captions were not selectable when Casting
• Captions accessibility settings not applying
• The receiver would not remain paused when Casting was started while paused on the sender.
4.6.0 1 Jul 2022 Fixes
• Fixed Chromecast on Android API 31
• Fixed Chromecast options not displayed in player menu
• Fixed GoogleIMA onAdRequest position marked as UNKNOWN
• Fixed controls visibility after DAI Ads completion
• Fixed duplicated onAdPause event being fired for DAI ads
• Fixed text alignment of the recommendations header in the Playlist UI
• Fixed the player UI when a developer calls stop()


Version Date Description
4.5.1 12 Apr 2022 Fixed Issues
• Fixed an issue where the onAdImpressionListener.onAdImpression not containing the skipOffset value set.
4.5.0 21 Mar 2022 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.

Fixed Issues
• 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.
• Developers can now use our ViewModels to power their Custom UI.
• Added support for Custom Styling.

• Updated ExoPlayer to 2.16.1.


Version Date Description
4.4.0 9 Feb 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.


Version Date Description
4.3.0 6 Dec 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


Version Date Description
4.2.0 11 Nov 2021 New Feature & Updates
• Added double tap to rewind/fast forward.
• Updated IMA SDK to 3.24.0.
• Updated ExoPlayer to 2.14.2.

• Added localization support to our DAI implementation via ImaSdkSettings.
• Added a reason to onBuffer events.
• Improved error code reporting.
• Continued improvements to User Interface.
• General stability improvements.

• Fixed an issue where caption track did not show up properly when casting a video.


Version Date Description
4.1.0 6 Oct 2021
• Added support for OMID (Open measurement Interface Definition) in JWP VAST client.
• Added the ability to specify a playlist URL in PlaylistItem.playlistUrl.
• Added caption analytics support.
• Fixed an issue where InPlaylistTimedMetaData start and end values differ from web and iOS.


Version Date Description
4.0.1 28 Jul 2021
• Improved memory management.
4.0.0 28 Jul 2021 General Changes
JWPlayerView has been decoupled from the JWPlayer API, which enables your layouts to inflate quickly and provide a responsive user experience on screens that have a JWPlayerView.
• JW Android SDK 4.0 uses fully native controls, which simplified control customization by using ViewModels.
• Updated Java package root to be com.jwplayer.
• Added support for Picture-in-Picture, Related feeds, and JW Recommendations.
• Thumbnail preview is shown as the user seeks across the content if a thumbnail track is specified for a PlaylistItem
• Improved accessibility support for screen readers.
• Added helper classes to better support Background Audio.
• Minimum OS is set to API 21.

User Interface
• Created new menu system for new design and updated seek bar thumbnail style, Casting menu, error code screen, Next Up card, and Live interface.

• JW Android SDK 4.0 supports IMA, IMA DAI, and JWP VAST.
• Added support for background loading of the next playlist item and VAST ads.
• Added ads cue points for IMA.
• Added feature to make IMA ad request before the ad break.
• Added AdErrorEvent and AdImpressionEvent to help the customers to track ad related events.

API Updates
• Created a JWPlayerCompat class that contains all of the addOnXListener() and removeOnXListener() methods.
• Added CaptionsListEven, ErrorEvent, and SetupErrorEvent to help the customers to track the list of captions and all error related events.
• Renamed AdSource to AdClient.
• Renamed ImaAdvertising to ImaAdvertisingConfig.
• Renamed ImaDaiAdvertising to ImaDaiAdvertisingConfig.
• Renamed ImaVMAPAdvertising to ImaVmapAdvertisingConfig.
• Renamed VMAPAdvertising to VmapAdvertisingConfig.

• Fixed an issue where TalkBack would not read the controlbar contents correctly.
• Fixed an issue where the player does not maintain the selected resolution when replaying a video.

Deprecated features
• VPAID and FreeWheel support.
• CSS support.
• Caption Styling Configuration.