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
andonTextTracks
(#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