Skip to content

Releases: jwplayer/jwplayer-react-native

v1.3.2

02 Jan 19:54

Choose a tag to compare

Release Notes - v1.3.2

🐛 Bug Fixes

Android: Remove Accidental Command Paste in ImaHelper

Problem: An accidental terminal command was left in the ImaHelper.java source code from v1.3.1, causing compilation errors for projects using Google IMA.

Solution: Removed the errant command line text from the ImaHelper class.

Impact: Android builds with IMA enabled now compile successfully without syntax errors.


📦 Installation

npm install @jwplayer/[email protected]
# or
yarn add @jwplayer/[email protected]

What's Changed

Full Changelog: v1.3.1...v1.3.2

v1.3.1

30 Dec 23:22
2755a31

Choose a tag to compare

Release Notes - v1.3.1

🐛 Bug Fixes

Android: Make IMA Dependency Optional (#201)

Problem: After v1.3.0, developers not using Google IMA ads encountered Android build failures requiring core library desugaring even when IMA wasn't being used.

Solution: Implemented Gradle source sets to make the jwplayer-ima dependency truly optional:

  • IMA dependencies only included when RNJWPlayerUseGoogleIMA = true
  • No desugaring required for non-IMA users
  • Graceful degradation: player loads without ads instead of crashing
  • Clear warnings when IMA is configured but not enabled

Impact: VAST-only users can now build without IMA dependencies or desugaring requirements.


🔧 Technical Changes

  • Split IMA code into separate source sets (src/ima/ and src/noima/)
  • Added support for both "client" and "adClient" property names in advertising configs
  • Improved null-safety and validation in advertising configuration
  • Enhanced developer experience with clear warning messages

📦 Installation

npm install @jwplayer/[email protected]
# or
yarn add @jwplayer/[email protected]

⚙️ Configuration

For IMA users (no change):

// app/build.gradle
buildscript {
    ext {
        RNJWPlayerUseGoogleIMA = true
    }
}

For VAST-only users (now works without desugaring):

// app/build.gradle
buildscript {
    ext {
        RNJWPlayerUseGoogleIMA = false  // or omit entirely
    }
}

What's Changed

Full Changelog: v1.3.0...v1.3.1

v1.3.0

29 Dec 19:53
908a37f

Choose a tag to compare

Release 1.3.0

🎉 What's New

Native SDK Upgrades

iOS SDK 4.25.0

  • Chromecast Improvements: Fixed embedded captions not displaying on Chromecast devices
  • Playback Fixes:
    • Fixed video not completing after post-roll ad
    • Fixed video pausing after scrubbing during playback
  • UI Improvements:
    • Fixed Next Up card showing wrong video
    • Fixed toolbar transparency issue with UIDesignRequiresCompatibility on iOS 26
    • Fixed iOS 26 black screen in JWPlayerView after ad break
  • Stability: Prevented AVPlayerItem crash when adding outputs that are already attached

See full details: iOS 4.25.0 Changelog

Android SDK 4.24.0

  • Ad SDK Upgrade: Upgraded Google IMA SDK to version 3.37.0
    • ⚠️ Important: Core library desugaring must be enabled when adding Google IMA client dependencies
    • ⚠️ Breaking: Requires setting compiling and target SDK versions when adding the SDK
  • Chromecast Improvements: Improved support for embedded captions in HLS streams when casting to Chromecast
  • Stability: Fixed Picture-in-Picture (PiP) crash that could occur when PiP was triggered multiple times in quick succession

See full details: Android 4.24.0 Changelog

React Native Wrapper Improvements

  • Fixed: License key handling in TypeScript example (#199)
  • Fixed: Player recreation with configuration updates (#194 - fixes issues #192, #188)
  • Enhanced: Player item handling in YouTube example component (#191)
  • Improved: Added bottom padding for Android navigation (#190)
  • Documentation: Updated JSON parsed configs documentation (#187)
  • Documentation: Updated README with rebranding and latest information (#196)
  • Native SDK: Implemented Android 4.24.0 (#197)
  • Native SDK: Implemented iOS 4.25.0 (#198)

📦 Installation

npm install @jwplayer/[email protected]

or

yarn add @jwplayer/[email protected]

⚠️ Breaking Changes

Android

When upgrading to Android SDK 4.24.0, you must:

  1. Set the compiling and target SDK versions in your app configuration
  2. Enable core library desugaring if using Google IMA client dependencies

🐛 Bug Fixes

  • Fixed license key not being properly passed in TypeScript example
  • Fixed player recreation issues when updating configurations dynamically
  • Fixed multiple Chromecast-related playback issues (via native SDK updates)
  • Fixed PiP stability issues on Android (via native SDK update)
  • Fixed various iOS 26 compatibility issues (via native SDK update)

📚 Documentation

  • Enhanced documentation for JSON configuration parsing
  • Updated README with current setup instructions
  • Improved example app implementations

🙏 Contributors

Thank you to all contributors who helped make this release possible!

What's Changed


Full Changelog: v1.2.0...v1.3.0

v1.2.0

21 Oct 16:49
94775c7

Choose a tag to compare

What's Changed

Full Changelog: v1.1.3...v1.2.0

v1.1.3

01 Oct 16:12

Choose a tag to compare

What's Changed

  • Implement userInfo prop for custom data while casting by @Jmilham21 in #152
  • [Improvement] Modernize some TS declarations and add export by @Jmilham21 in #164
  • Fix import statement (lowercase to uppercase) for JWPlayerKit header, issue #171 by @ggppdk in #172
  • Handle both mediaId and mediaid case variations in playlist items by @edougher in #167
  • Task/upgrade ios 4.23.1 by @Jmilham21 in #176
  • Enhance player UI/UX with loadPlaylist quirks by @Jmilham21 in #175
  • Update README.md by @Jmilham21 in #150
  • Add check for in PiP before loading new content on iOS by @Jmilham21 in #177

New Contributors

Full Changelog: v1.1.2...v1.1.3

v1.1.2

17 Jul 22:14
e5e8109

Choose a tag to compare

What's Changed

Full Changelog: v1.1.1...v1.1.2

v1.1.1

05 May 11:45
82b0021

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.1.0...v1.1.1

v1.1.0

14 Mar 20:03
7d560f5

Choose a tag to compare

1.1.0

This release better handles support for the new architecture which is enabled by default in React-Native.

What's Changed

New Contributors

Full Changelog: v1.0.3...v1.1.0

v1.0.3

12 Dec 00:02
d2875f2

Choose a tag to compare

What's Changed

  • [BUG] PiP not working on iOS by @Jmilham21 in #85
  • Add playerInModal to type def for JwConfig by @Jmilham21 in #83
  • upgrade Android SDK to 4.18.4 by @Jmilham21 in #86
  • [BUG] Error and warning standardization by @Jmilham21 in #96
  • [BUG] App crash when re-entering full screen from a player that was previously sent into PIP mode whilst full screen by @Jmilham21 in #94
  • [IMPLEMENT] Expose more captions callbacks and events by @edougher in #99
  • [bug]Updates ios setCurrentCaptions to implement correctly by @Sccttt in #100
  • [Improvement] Modernize loadPlaylist function with types and logic by @Jmilham21 in #98
  • [BUG] iOS build failure with JWPlayerKit 4.20.0 by @Jmilham21 in #91
  • [BUG] app crashes when attempting to play a second video while another is playing by @Jmilham21 in #88
  • upgrade to JWP iOS 4.21.0 and IMA 3.22.1 by @Jmilham21 in #105
  • [BUG] Crash when setting volume on android by @Jmilham21 in #104
  • add in required override for JWPlayerDelegate by @Jmilham21 in #103
  • implement JWP ios 4.21.1 by @Jmilham21 in #107
  • [BUG] Previous video gets played on the Chromecast device by @Jmilham21 in #87
  • Release 1.0.3 by @Jmilham21 in #108

New Contributors

Full Changelog: v1.0.2...v1.0.3

v1.0.2

05 Sep 18:59
ede38c5

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.1...v1.0.2