Skip to content

Releases: jwplayer/jwplayer-react-native

v1.4.1

02 Mar 00:25
bb590ba

Choose a tag to compare

What's Changed

  • Bump JW Android SDK from 4.24.1 to 4.24.2
  • Release v1.4.1 by @Jmilham21 in #219

Full Changelog: v1.4.0...v1.4.1

v1.4.0

26 Feb 05:45

Choose a tag to compare

v1.4.0

Native SDK Upgrades

  • iOS: JWPlayerKit 4.25.1 → 4.25.2
  • Android: JW Player SDK 4.24.0 → 4.24.1

Bug Fixes

  • fix(ios): replace force-unwrap with safe cast in resolveNextPlaylistItem by @Jmilham21 in #215
  • fix: resolve onBeforeNextPlaylistItem crash and ad issues (#211) by @Jmilham21 in #214

Native SDK Changes (included via version bump)

iOS 4.25.2

  • Improved threading safety for event callbacks
  • Fixed ad container layout in scrollable contexts
  • Fixed caption track selection for DRM content
  • Player controls now remain visible while paused

Android 4.24.1

  • Fixed ad prerolls not playing on subsequent playlist items when using async playlist callbacks
  • onTime events now fire while a DVR stream is paused
  • Improved null safety for ad API calls
  • Fixed Chromecast caption visibility and restoration

Maintenance

  • Reduced npm package size from 151 kB to 91 kB
  • Added build-info hooks to the Example app

What's Changed

Full Changelog: v1.3.4...v1.4.0

v1.3.4

30 Jan 22:45

Choose a tag to compare

What's Changed

Bug Fixes

  • fix: Ensure player cleanup runs on main thread to prevent crash on unmount (#206)
  • fix: Prevent race conditions during player destruction and enhance error handling (#205)

Dependencies

Maintenance

  • Exclude AI configuration files from npm package

Full Changelog: v1.3.2...v1.3.4


Note: v1.3.3 was skipped due to a packaging issue.

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/jwplayer-react-native@1.3.2
# or
yarn add @jwplayer/jwplayer-react-native@1.3.2

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/jwplayer-react-native@1.3.1
# or
yarn add @jwplayer/jwplayer-react-native@1.3.1

⚙️ 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/jwplayer-react-native@1.3.0

or

yarn add @jwplayer/jwplayer-react-native@1.3.0

⚠️ 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