Releases: TheWidlarzGroup/react-native-video
Releases Β· TheWidlarzGroup/react-native-video
v6.0.0
Stable 6.0.0 (2024-05-14)
Main Changes
π Features
General
- Add typescript (#3266 by @KrzysztofMoch)
- Add notification controls (#3723 by @KrzysztofMoch)
- Add support of subtitles style configuration
- Implement startPosition (#3355 by @YangJonghun)
- Add full screen support (#2763 by @wood1986)
- RN 0.73 support (#3163 by @mrousavy)
- Add playback functions to ref (#3245 by @KrzysztofMoch)
- Update
isCodecSupported
to return enum (##3254 by @KrzysztofMoch) - Add
onVolumeChange
event (#3322 by @KrzysztofMoch) - Add AdEvent enum to have an exhaustive list of all possible AdEvent values (#3374 by @avencat)
- Move require (local files) to
source.uri
(#3535 by @KrzysztofMoch) - Implement opacity to control visibility of subtitles (#3583 by @coofzilla)
Android
- Replace deprecated ExoPlayer2 with AndroidX media3 (#3337 by @YangJonghun)
- Add new apis to query device capabilities (#2740 by @freeboub)
- Add new events for audioTrack, textTracks and videoTracks
- Add prop to control debug log level (#3277 by @freeboub)
- Add subtitle event (#3566 by @coofzilla)
- Allow to disable selected functionalities (#3681 by @KrzysztofMoch)
- Cache (#3514 by @lovegaoshi)
- Implement asset folder playback (#3733 by @freeboub)
- Make buffering strategy dynamic (#3756 by @freeboub)
- Add support of square video format (#2806 by @freeboub)
- Add support for AGP 8 (#3255 by @KrzysztofMoch)
iOS
- Implement onPlaybackStateChanged callback (#3307 by @KrzysztofMoch)
- Add onBandwidthUpdate event (#3331 by @KrzysztofMoch)
- Add visionOS support (#3425 by @KrzysztofMoch)
- Implement
onAudioTracks
andonTextTracks
(#3503 by @freeboub) - Add support for accessing WebVTT Subtitle Content (#3541 by @coofzilla)
- Add support for ios camera roll
- Swift Conversion (#2572 by @nickfujita)
tvOS
- Add custom image metadata option for tvos and add missing types for custom metadata properties (#3280 by @Duell10111)
π Bug Fixes
General
- Improve initial test for checking url validity (#2857 by @freeboub)
- Add accessibility & testID in typing (#3434 by @delphinebugner)
- Fix crash with interop layer (#3509 by @KrzysztofMoch)
- Add missing shutterColor type (#3561 by @tarunrajput)
- Fix getLicense function's type definition (#3606 by @YangJonghun)
- Remove
setNativeProps
usage (#3605 by @KrzysztofMoch) - Fix codegen types (#3636 by @KrzysztofMoch)
- Ensure poster works as expected and add it to the sample (#3643 by @freeboub)
- Ensure tracks are available in sample (#3660 by @freeboub)
- Prevents crash from occurring when using the selected video track with resolution type (#3664 by @YangJonghun)
- Avoid crash when setting index to 0 to tracks selection (#3721 by @freeboub)
Android
- Ensure playback progress is reported even if paused (#2664 by @freeboub)
- Fix the play button no shown after pausing video at the very first time (#2768 by @wood1986)
- Fix the hardware back button (#2763 by @wood1986)
- Ensure player is stopped when invalid uri is configured (#2857 by @freeboub)
- Add stub for IMA and option to enable it on demand (#3027 by @freeboub)
- Remove kotlin-android-extensions (#3299 by @wjaykim)
- Ensure audio volume is changed in UI thread (#3292 by @freeboub)
- Fix leak caused by removing lifecycle listener too early (#3380 by @BasixKOR)
- Ensure save doesn't crash on android (#3415 by @freeboub)
- Support opacity properly (#3464 by @hannojg)
- Fix Re-layout controls after fullscreen dismiss (#3490 by @KrzysztofMoch)
- Check disableFocus when state is ready (#3494 by @YangJonghun)
- EnableDecoderFallback to decrease DECODER_ERROR issue (#3416 by @freeboub)
- Ensure rate is never set to 0 (#3593 by @freeboub)
- Track selection parameter has change in last release. (#3594 by @freeboub)
- Keep screen on on fullscreen (#3563 by @gkueny)
- Set title for external subtitles (#3676 by @KrzysztofMoch)
- Fixed bug where video would not be visible after remount and change of drm source (#3668 by @YangJonghun)
- Seek callback with controls (#3694 by @freeboub)
- Prevent changing video track when video load (#3683 by @YangJonghun)
iOS
- Fix Unable to disable sideloaded texttracks in the AVPlayer (#2679 by @nbennink)
- Fix memory leaks for iOS (#2907 by @wood1986)
- Fix the kvo compliance crash when rapidly switching source (#2917 by @wood1986)
- Ensure controls are not displayed when disabled by user (##3017 by @freeboub)
- Ensure audio and subtitle tracks are well reported (#3027 by @freeboub)
- Fix Memory leak due to [weak self] and delegate not being weak (#3167 by @cguino)
- Fix Fairplay different key per asset (#3261 by @facugu1998)
- Fix Resuming video ad after closing the in-app browser on iOS (#3275 by @lrusso)
- Remove false calls at
onPlaybackRateChange
(#3306 by @KrzysztofMoch) - Fix Player is frozen after re-focusing on the app (#3326 by @nethergrim)
- Fix external text tracks crashes with m3u8 files (#3330 by @KrzysztofMoch)
- Fix pip when player doesn't fill screen (#3363 by @YangJonghun)
- Check for ios url query encoding (#3384 by @JuozasP)
- Do not crash when accessLog return nil (#3549 by @gkueny)
- Fix missing bridge in bridgeless mode (#3570 by @KrzysztofMoch)
- Don't crop video when in repeat mode (#3575 by @KrzysztofMoch)
- Split licenseUrl and loadedLicenseUrl (#3578 by @freeboub)
- Ensure playback stopped in background (#3587 by @freeboub)
- Fix iOS DRM header parser (#3609 by @YangJonghun)
- Fix PiP callback (#3601 by @gkueny)
- Call PictureInPicture callbacks with native controls (#3603 by @gkueny)
- Apply PictureInPicture state on start (#3655 by @KrzysztofMoch)
- Do not save pause state before seeking (#3650 by @freeboub)
- Workaround for rate change (#3657 by @freeboub)
- Add workaround for
TouchableWithoutFeedback
(#3688 by @KrzysztofMoch) - Fix sideloading external subtitles (#3690 by @KrzysztofMoch)
- Ensure duration available when playing live (#3710 by @freeboub)
- Ensure orientation is correct on iOS (#3719 by @freeboub)
- Destroy adsManager when player detach from super view (#3716 by @unknown) (#3722 by @Khuongnb)
- Restore caching feature (#3341 by @freeboub)
- Fix real time issue when fast zapping (#3582 by @freeboub)
tvOS
- Fix Compile issues with tvOS linked to earpiece & pip (#3276 by @Duell10111)
π Refactor
- (ios) Remove type assertion within setupPipController (#3493 by @YangJonghun)
- Refactor resize prop handler (#3286 by @KrzysztofMoch)
β‘ Performance
- Ensure we do not provide callback to native if no callback provided from app (#3735 by @freeboub)
- (ios) Add early returns (#3741 by @KrzysztofMoch)
- (android) Refactor side loaded text tracks (#3754 by @freeboub)
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
What's Changed
- Revert "fix(android): video flickering add playback start (#3746)" by @ZakirBangash in #3748
- fix(js): fix onPlaybackStateChanged callback by @YangJonghun in #3753
- chore(android): refactor side loaded text tracks by @freeboub in #3754
- fix(ts): add missing type by @freeboub in #3757
- feat(android): make buffering strategy dynamic by @freeboub in #3756
- fix(avoid): avoid early return in setSrc by @freeboub in #3759
- Fix(android): avoid video resizing flickering by @freeboub in #3751
- fix(ios): call
onLoadStart
earlier by @KrzysztofMoch in #3750
New Contributors
- @ZakirBangash made their first contribution in #3748
Full Changelog: v6.0.0-rc.1...v6.0.0-rc.2
v6.0.0-rc.1
6.0.0-rc.1 (2024-04-22)
Performance β‘οΈ
- perf: ensure we do not provide callback to native if no callback provided from app by @freeboub in #3735
- perf(ios): add early returns by @KrzysztofMoch in #3741
Features β¨
- feat: add notification controls by @KrzysztofMoch in #3723
Android
- feat(android): cache by @lovegaoshi in #3514
- feat(android): implement asset folder playback by @freeboub in #3733
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
6.0.0-rc.0 (2024-04-22)
Features β¨:
- feat(android): allow to disable selected functionalities by @KrzysztofMoch in #3681
- feat(android): add rtsp support by @freeboub in #3677
Fixes:
Braking
- feat!(ios): remove native dependency promises by @KrzysztofMoch in #3631
Bug fixes π
iOS
- fix(ios): call PictureInPicture callbacks with native controls by @gkueny in #3603
- fix(ios): apply PictureInPicture state on start by @KrzysztofMoch in #3655
- fix(ios): do not save pause state before seeking by @freeboub in #3650
- fix(ios): workaround for rate change by @freeboub in #3657
- fix(ios): fix onPlaybackStateChanged by @YangJonghun in #3687
- fix(ios): add workaround for crash when using TouchableWithoutFeedback by @KrzysztofMoch in #3688
- fix(ios): fix sideloading external subtitles by @KrzysztofMoch in #3690
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
6.0.0-beta.8 (2024-04-03)
Bug fixes π
- fix(android): update ui manager getter by @KrzysztofMoch in #3634
- fix: fix codegen types by @KrzysztofMoch in #3636
Others β¨
- chore(android): fix various warning by @freeboub in #3625
- chore: disable codegen by @KrzysztofMoch in #3647
Full Changelog: v6.0.0-beta.7...v6.0.0-beta.8
V6.0.0-beta.7
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
6.0.0-beta.6 (2024-03-18)
Bug fixes π
iOS
- fix(ios): fix tvOS build by @KrzysztofMoch in #3524
- fix(ios): apply
cropStart
when in repeat mode by @KrzysztofMoch in #3525 - fix(ios): Do not crash when accessLog return nil by @gkueny in #3549
- fix(ios) add to validTextTracks only if we successfully insertTimeRage by @gkueny in #3557
- fix(ios): correct release volume change observer by @jerrylcliu in #3565
- fix(ios): fix missing bridge in bridgeless mode by @KrzysztofMoch in #3570
- fix(ios): don't crop video when in repeat mode by @KrzysztofMoch in #3575
- fix(ios): split licenseUrl and loadedLicenseUrl by @freeboub in #3578
- fix(ios): fix real time issue when fast zapping by @freeboub in #3582
- fix(ios): ensure playback stopped in background by @freeboub in #3587
Android
- fix(android): onSeek called instantly by @GyanendroKh in #3530
- fix(android): suppress lint
PrivateResource
by @KrzysztofMoch in #3531 - fix(android): check disableFocus when state is ready by @YangJonghun in #3494
- fix(android): enableDecoderFallback to decrease DECODER_ERROR issue by @freeboub in #3416
Features β¨
- feat(ios): add ios support for accessing WebVTT Subtitle Content by @coofzilla in #3541
- feat(android): subtitle event by @coofzilla in #3566
- feat: move require (local files) to
source.uri
by @KrzysztofMoch in #3535 - feat: implement opacity to control visibility of subtitles by @coofzilla in #3583
New Contributors
- @GyanendroKh made their first contribution in #3530
- @gkueny made their first contribution in #3549
- @coofzilla made their first contribution in #3541
- @jerrylcliu made their first contribution in #3565
- @DominikDanielewicz made their first contribution in #3562
Full Changelog: v6.0.0-beta.5...v6.0.0-beta.6
v6.0.0-beta.5
6.0.0-beta.5 (2024-02-02)
Bug Fixes
-
android: re-layout controls after fullscreen dismiss (#3490) (135d97c)
-
android remove lifecycle listener after component unmount (#3489) (3858a15), closes #3488
Features
Full Changelog: v6.0.0-beta.4...v6.0.0-beta.5