Skip to content

Releases: TheWidlarzGroup/react-native-video

v6.0.0

14 May 16:07
464ce7c
Compare
Choose a tag to compare

Stable 6.0.0 (2024-05-14)

Main Changes

πŸš€ Features

General

  • Add typescript (#3266)
  • Add notification controls (#3723)
  • Add support of subtitles style configuration
  • Implement startPosition (#3355)
  • Add full screen support
  • RN 0.73 support
  • Add playback functions to ref
  • Update isCodecSupported to return enum
  • Add onVolumeChange event (#3322)
  • Add AdEvent enum to have an exhaustive list of all possible AdEvent values (#3374)
  • Move require (local files) to source.uri (#3535)
  • Implement opacity to control visibility of subtitles (#3583)

Android

  • Replace deprecated ExoPlayer2 with AndroidX media3 (#3337)
  • Add new apis to query device capabilities
  • Add new events for audioTrack, textTracks and videoTracks
  • Add prop to control debug log level (#3277)
  • Add subtitle event (#3566)
  • Allow to disable selected functionalities (#3681)
  • Cache (#3514)
  • Implement asset folder playback (#3733)
  • Make buffering strategy dynamic (#3756)
  • Add support of square video format
  • Add support for AGP 8

iOS

  • Implement onPlaybackStateChanged callback (#3307)
  • Add onBandwidthUpdate event (#3331)
  • Add visionOS support (#3425)
  • Implement onAudioTracks and onTextTracks (#3503)
  • Add support for accessing WebVTT Subtitle Content (#3541)
  • Add support for ios camera roll
  • Swift Conversion

tvOS

  • Add custom image metadata option for tvos and add missing types for custom metadata properties (#3280)

πŸ› Bug Fixes

General

  • Improve initial test for checking url validity
  • Add accessibility & testID in typing (#3434)
  • Fix crash with interop layer (#3509)
  • Add missing shutterColor type (#3561)
  • Fix getLicense function's type definition (#3606)
  • Remove setNativeProps usage (#3605)
  • Fix codegen types (#3636)
  • Ensure poster works as expected and add it to the sample (#3643)
  • Ensure tracks are available in sample (#3660)
  • Prevents crash from occurring when using the selected video track with resolution type (#3664)
  • Avoid crash when setting index to 0 to tracks selection (#3721)

Android

  • Ensure playback progress is reported even if paused
  • Fix the play button no shown after pausing video at the very first time
  • Fix the hardware back button
  • Ensure player is stopped when invalid uri is configured
  • Add stub for IMA and option to enable it on demand
  • Remove kotlin-android-extensions (#3299)
  • Ensure audio volume is changed in UI thread (#3292)
  • Fix leak caused by removing lifecycle listener too early (#3380)
  • Ensure save doesn't crash on android (#3415)
  • Support opacity properly (#3464)
  • Fix Re-layout controls after fullscreen dismiss (#3490)
  • Check disableFocus when state is ready (#3494)
  • EnableDecoderFallback to decrease DECODER_ERROR issue (#3416)
  • Ensure rate is never set to 0 (#3593)
  • Track selection parameter has change in last release. (#3594)
  • Keep screen on on fullscreen (#3563)
  • Set title for external subtitles (#3676)
  • Fixed bug where video would not be visible after remount and change of drm source (#3668)
  • Seek callback with controls (#3694)
  • Prevent changing video track when video load (#3683)

iOS

  • Fix Unable to disable sideloaded texttracks in the AVPlayer
  • Fix memory leaks for iOS
  • Fix the kvo compliance crash when rapidly switching source
  • Ensure controls are not displayed when disabled by user
  • Ensure audio and subtitle tracks are well reported
  • Fix Memory leak due to [weak self] and delegate not being weak
  • Fix Fairplay different key per asset (#3261)
  • Fix Resuming video ad after closing the in-app browser on iOS (#3275)
  • Remove false calls at onPlaybackRateChange (#3306)
  • Fix Player is frozen after re-focusing on the app (#3326)
  • Fix external text tracks crashes with m3u8 files (#3330)
  • Fix pip when player doesn't fill screen (#3363)
  • Check for ios url query encoding (#3384)
  • Do not crash when accessLog return nil (#3549)
  • Fix missing bridge in bridgeless mode (#3570)
  • Don't crop video when in repeat mode (#3575)
  • Split licenseUrl and loadedLicenseUrl (#3578)
  • Ensure playback stopped in background (#3587)
  • Fix iOS DRM header parser (#3609)
  • Fix PiP callback (#3601)
  • Call PictureInPicture callbacks with native controls (#3603)
  • Apply PictureInPicture state on start (#3655)
  • Do not save pause state before seeking (#3650)
  • Workaround for rate change (#3657)
  • Add workaround for TouchableWithoutFeedback (#3688)
  • Fix sideloading external subtitles (#3690)
  • Ensure duration available when playing live (#3710)
  • Ensure orientation is correct on iOS (#3719)
  • Destroy adsManager when player detach from super view (#3716) (#3722)
  • Restore caching feature (#3341)
  • Fix real time issue when fast zapping (#3582)

tvOS

  • Fix Compile issues with tvOS linked to earpiece & pip (#3276)

🚜 Refactor

  • (ios) Remove type assertion within setupPipController (#3493)
  • Refactor resize prop handler (#3286)
  • Refactor fullScreenPlayerView creation

⚑ Performance

  • Ensure we do not provide callback to native if no callback provided from app (#3735)
  • (ios) Add early returns (#3741)
  • (android) Refactor side loaded text tracks (#3754)

Full History

This changelog only includes the changes that are relevant to the end user. 5.2.1 is +900 commits behind new stable version.
For a full list of changes, please refer to the commit history.
Full Changelog: v5.2.1...v6.0.0

v6.0.0-rc.2

13 May 19:43
aa854fb
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v6.0.0-rc.1...v6.0.0-rc.2

v6.0.0-rc.1

08 May 16:48
aef7879
Compare
Choose a tag to compare

6.0.0-rc.1 (2024-04-22)

Performance ⚑️

Features ✨

Android

Bug fixes πŸ›

  • chore: fix bug template to get free field for version by @freeboub in #3714
  • fix: avoid crash when setting index to 0 to tracks selection by @freeboub in #3721

Android

  • fix(android): prevent changing resolution video track when video load by @YangJonghun in #3683
  • fix(android): Switch order of literals to prevent NullPointerException by @pixeeai in #3711
  • fix(android): video flickering add playback start by @freeboub in #3746

iOS

  • fix(ios): ensure duration available when playing live by @freeboub in #3710
  • fix(ios): ensure orientation is correct on iOS by @freeboub in #3719
  • fix(ios): destroy adsManager when player detach from super view (#3716) by @Khuongnb in #3722
  • fix(ios): text track selection by index ios by @freeboub in #3728

Others

  • docs(ios): no onSeek callback with controls by @freeboub in #3701
  • chore(android): rework bufferConfig to make it more generic and reduce ReactExoplayerView code size by @freeboub in #3739

New Contributors

Full Changelog: v6.0.0-rc.0...v6.0.0-rc.1

v6.0.0-rc.0

22 Apr 17:46
709818f
Compare
Choose a tag to compare

6.0.0-rc.0 (2024-04-22)

Features ✨:

Braking

Bug fixes πŸ›

iOS

Android

  • fix(android): set title for external subtitles by @KrzysztofMoch in #3676
  • fix(android): fixed bug where video would not be visible after remount and change of drm source by @YangJonghun in #3668
  • fix(android): catch errors in performOnPlayerViewCrash by @JinYuSha0 in #3685
  • fix(android): seek callback with controls by @freeboub in #3694

Other

  • fix: ensure poster works as expected and add it to the sample by @freeboub in #3643
  • fix: prevents crash from occurring when using the selected video track with resolution type by @YangJonghun in #3664
  • fix(ts): onPlaybackRateChangeData was not correctly typed by @freeboub in #3651

New Contributors:

@JinYuSha0 made their first contribution in #3685

v6.0.0-beta.8

03 Apr 19:51
Compare
Choose a tag to compare

6.0.0-beta.8 (2024-04-03)

Bug fixes πŸ›

Others ✨

Full Changelog: v6.0.0-beta.7...v6.0.0-beta.8

V6.0.0-beta.7

30 Mar 11:30
Compare
Choose a tag to compare

6.0.0-beta.7 (2024-03-30)

Bug Fixes

  • android: ensure rate is never set to 0 (#3593) (3d7444a)
  • android: improve and backBufferDurationMs. mainly let exoplayer manage the prop (#3619) (f10511d)
  • android: keep screen on on fullscreen (#3563) (bfb76e6)
  • android: track selection parameter has change in last release. (#3594) (d5c8b51)
  • fix getLicense function's type definition (#3606) (89ae843)
  • inject onGetLicense prop properly for detect user defined or not (#3608) (24c1aab)
  • iOS: fix iOS DRM header parser (#3609) (c9a75f3)
  • ios: fix PiP callback (#3601) (bb9e7eb)
  • ios: fix regression when playing source starting with ph:// (#3630) (75d3707)
  • ios: fix startPosition, cropStart and cropEnd to handle float values correctly (#3589) (36bd2e2)
  • iOS: throw when content id defined with empty string (#3612) (0983580)
  • remove setNativeProps usage (#3605) (0312afc)

BREAKING CHANGES

  • android: move backBufferDurationMs from root props to bufferConfig

v6.0.0-beta.6

18 Mar 10:26
Compare
Choose a tag to compare

6.0.0-beta.6 (2024-03-18)

Bug fixes πŸ›

iOS

Android

Features ✨

New Contributors

Full Changelog: v6.0.0-beta.5...v6.0.0-beta.6

v6.0.0-beta.5

02 Feb 12:02
Compare
Choose a tag to compare

6.0.0-beta.5 (2024-02-02)

Bug Fixes

Features

  • implement onAudioTracks and onTextTracks on ios (#3503) (6a49cba)

Full Changelog: v6.0.0-beta.4...v6.0.0-beta.5

v6.0.0-beta.4

15 Jan 07:43
cf3ebb7
Compare
Choose a tag to compare

6.0.0-beta.4 (2024-01-15)

Bug Fixes

Features

v6.0.0-beta.3

24 Dec 13:44
Compare
Choose a tag to compare

Bug Fixes

Common: ReactVideoProps: add accessibility & testID in typing (#3434) (d986b7b)

Android: default UA (#3429) (dd7bb54)
Android: ensure save doesn't crash on android (#3415) (22a2655)

Ios: revert ios url encoding as this breaks encoded urls (#3440) (0723481)