- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
- Fix audio recording resetting when receiving a phone call. (#25054 by @behenate)
- Fix iOS
naturalSize.orientation
in proponReadyForDisplay
for hls stream (#25169 by @souzaluiz)
- Use
pointerEvent
style instead of prop for video component on web. (#24931 by @EvanBacon) - Remove deprecated
REACT_NATIVE_OVERRIDE_VERSION
for React Native nightly testing. (#25151 by @kudo) - Removed backward compatible code for deprecated SDKs. (#25154 by @kudo)
- Update pitch algorithm settings for iOS >= 17. (#24678 by @hromovp)
- [iOS] fix compilation on tvOS. (#24864 by @douglowder)
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon)
- Fixed recording status not being reset when recording is paused before being stopping. (#21747) (#23816 by @mojavad)
- Prevent audio from other apps being stopped when users app is backgrounded. (#24198 by @alanhughes)
- Migrated
AVModule
to use Expo modules API. (#23902 by @lukmccall)
This version does not introduce any user-facing changes.
This version does not introduce any user-facing changes.
This version does not introduce any user-facing changes.
This version does not introduce any user-facing changes.
- Fixed
HTMLMediaElement.play
andHTMLMediaElement.pause
calls on the Web aren't properly awaited. (#20439) by @zhigang1992 - Added support for React Native 0.71.x. (#20799 #20832 by @kudo)
- Fixed JSI audio sampling buffer issues when using
SimpleExoPlayer
implementation on Android. (#21055 by @kudo) - Fixed compatibility with build-time React Native Web styling libraries. Removed
StyleSheet.flatten
. (#21236) by @intergalacticspacehighway
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- Fixed build errors when testing on React Native nightly builds. (#19805 by @kudo)
- Fixed crashes when ProGuard or R8 is enabled on Android. (#20197 by @lukmccall)
- Added React Native 0.71 support. (#20470 by @kudo)
This version does not introduce any user-facing changes.
- Added support for audio panning on Android (MediaPlayer implementation only) via
audioPan
prop. (#15530 by @DominickVale) - Added
videoStyle
prop for Video component. (#18549 by @alantoa) - Native module for video view is now written in Swift using the new API. (#18633 by @tsapeta)
- [plugin] Migrate import from @expo/config-plugins to expo/config-plugins and @expo/config-types to expo/config. (#18855 by @brentvatne)
- Drop
@expo/config-plugins
dependency in favor of peer dependency onexpo
. (#18595 by @EvanBacon) - Remove unnecessary CocoaPods dependency on
ReactCommon
andReact-runtimeexecutor
. (#19067 by @tsapeta)
- Automatically unload
Video
component before React Native initiates an unmount to prevent memory leak crashes. (#18173 by @hirbod and @Pickleboyonline)
- Replace
RecordingOptions
related constants with enums. Check out the PR for the migration hints. (#17954 by @Simek) - Rename the
RecordingOptions
preset constant toRecordingOptionsPresets
and edit export. Check out the PR for the migration hints. (#17954 by @Simek)
- On Android fix
Video
component crashes when activity loses focus due to accessing player from the wrong thread. (#17280 by @mnightingale) - Added support for React Native 0.69.x. (#18006 by @kudo)
- On Android fix
Audio.setAudioModeAsync
andAudio.setIsEnabledAsync
crashes due to accessing player from the wrong thread. (#17840 by @mnightingale)
- Extract types defined in
createAsync
methods return to separate types:RecordingObject
andSoundObject
. (#17954 by @Simek) - Extract platform related nested object types from
RecordingOptions
to the separate types:RecordingOptionsAndroid
,RecordingOptionsIOS
andRecordingOptionsWeb
. (#17954 by @Simek)
- Fixed displaying warning about
Sound.setOnAudioSampleReceived
unavailable when debugging remotely. (#17210 by @barthap) - Fixed crash when remote debugging is enabled on Android. (#17212 by @barthap)
- On iOS fix crash caused by updating
AVPlaybackStatus
from both<Video />
props and the Playback API at the same time. Also prevented a crash on iOS caused by removing the Video without unlisting its underlying nativeEXAVPlayerData
as an observer. (#17036 by @Pickleboyonline)
- Add new
Sound.setOnAudioSampleReceived
API to support streaming audio sample buffers in realtime. (#14904, #16075 by @barthap)
- On Android fix crashes caused by accessing player from the wrong thread (#16611 by @mnightingale)
- Extract
tolerances
param type definition, used across the package methods, to the separate typeAVPlaybackTolerance
. (#16905 by @Simek)
- On Android bump
compileSdkVersion
to31
,targetSdkVersion
to31
andJava
version to11
. (#16941 by @bbarthec)
- On iOS fix
pauseAsync
causing framedrops and being delayed by not disablingAVAudioSession
when there is no need for it (#15873 by @hirbod and @mnightingale)
- Fix local asset localUri not being used in development (#16544 by @mnightingale)
- Remove
Video
component's static constantsFULLSCREEN_UPDATE_PLAYER_WILL_RESENT
,FULLSCREEN_UPDATE_PLAYER_DID_RESENT
,FULLSCREEN_UPDATE_PLAYER_WILL_DISMISS
,FULLSCREEN_UPDATE_PLAYER_DID_DISMISS
and replace them with newVideoFullscreenUpdate
enum. (#16059 by @Simek) - Remove
Video
component's static constantsRESIZE_MODE_CONTAIN
,RESIZE_MODE_COVER
,RESIZE_MODE_STRETCH
. UseResizeMode
enum values instead. (#16059 by @Simek) - Remove deprecated
presentIOSFullscreenPlayer
anddismissIOSFullscreenPlayer
method fromVideo
component. (#16059 by @Simek) - Remove deprecated
onIOSFullscreenUpdate
prop fromVideo
component. (#16059 by @Simek) - Remove unused
presentFullscreenPlayerAsync
method fromVideo
component. (#16059 by @Simek) - Remove
INTERRUPTION_MODE_*
constants in favor ofInterruptionModeAndroid
andInterruptionModeIOS
enums. (#16145 by @Simek) - On Android upgrade
com.google.android.exoplayer:*:2.9.2
(available fromjcenter()
) tocom.google.android.exoplayer:*:2.13.3
(available fromgoogle()
). (#16123 by @bbarthec)
- Add methods to get and set audio recording inputs. (#15806 by @computerjazz)
- Updated
@expo/config-plugins
from4.0.2
to4.0.14
(#15621 by @EvanBacon) - Add missing
AudioMode
type export. (#16145 by @Simek)
- Fix iOS build with Expo SDK 44 and React Native 0.65+. (#15661 by @schiller-manuel)
- Fix
Plugin with id 'maven' not found
build error from Android Gradle 7. (#16080 by @kudo)
This version does not introduce any user-facing changes.
- Update component types and event types. (#14713 by @Simek)
- Mark
status
as an optional field inVideoFullscreenUpdateEvent
andVideoReadyForDisplayEvent
types, becouse Web implementation do not returnstatus
in those events. (#14713 by @Simek)
- Fix require cycles (#14820 by @EvanBacon)
This version does not introduce any user-facing changes.
- Fixed
JNI DETECTED ERROR IN APPLICATION: java_object == null in call to GetObjectClass from void versioned.host.exp.exponent.modules.api.reanimated.NativeProxy$EventHandler.receiveEvent
on Android. (#14569 by @lukmccall)
- Default audio recording settings on ios are now
extension: '.m4a'
andoutputFormat: RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC
so as to ensure cross-platform compatibility. (#13492 by @actuallymentor) - Dropped support for iOS 11.0 (#14383 by @cruzach)
- [plugin] Added ability to disable microphone permission via
microphonePermission: false
. (#13446 by @EvanBacon) - Add web support for recording. (#8721 by @WazzaJB and @mnightingale)
- Add permissions support for web. (#8721 by @mnightingale)
- Add Audio
usePermissions
hook from modules factory. (#13851 by @bycedric) - On iOS, add Audio metadata (title) updates via
setOnMetadataUpdate
. (#14134 by @dani-mp)
- Fix inline playback on Safari iOS (web). (#13628 by @andreibarabas and @IjzerenHein)
- Fix building errors from use_frameworks! in Podfile. (#14523 by @kudo)
- Migrated from
@unimodules/core
toexpo-modules-core
. (#13745 by @tsapeta) - Updated
@expo/config-plugins
(#14443 by @EvanBacon)
- [plugin] Added Android
android.permission.MODIFY_AUDIO_SETTINGS
permission. (#13163 by @EvanBacon) - Remove lodash and nullthrows. (#12522 by @EvanBacon)
- Add new
Recording.createAsync
API for faster recording on iOS. (#12294 by @IjzerenHein) - Add
keepAudioActiveHint
recording option to prevent deactivation of the Audio session when recording on iOS. (#12294 by @IjzerenHein) - Allow video audio to continue to play in the background on iOS. (#12950 by @matt-oakes)
- Fixed the web Video Fullscreen APIs in Safari (#12258 by @elliotdickison)
- Enable kotlin in all modules. (#12716 by @wschurman)
- Fixed an issue with Audio Interruption Mode not correctly being set on Android. (#13236 by @matt-oakes)
- Migrated from
unimodules-file-system-interface
andunimodules-permissions-interface
toexpo-modules-core
. (#12961 by @tsapeta)
This version does not introduce any user-facing changes.
This version does not introduce any user-facing changes.
- Converted plugin to TypeScript. (#11715 by @EvanBacon)
- Updated Android build configuration to target Android 11 (added support for Android SDK 30). (#11647 by @bbarthec)
- Remove peerDependencies and unimodulePeerDependencies from Expo modules. (#11980 by @brentvatne)
- The package is now shipped with prebuilt binaries on iOS. You can read more about it on expo.fyi/prebuilt-modules. (#11224 by @tsapeta)
- Created config plugins (#11538 by @EvanBacon)
- Add optional sound level information in
RecordingStatus
object described withmetering
key. AddisMeteringEnabled
flag inRecordingOptions
to enable computing this information. The flag is set totrue
by default inRecordingOptions
presets (RECORDING_OPTIONS_PRESET_HIGH_QUALITY
,RECORDING_OPTIONS_PRESET_LOW_QUALITY
). (#10759 by @danieloi)
- Fixed minor syntax error in
AVManager
. (#11375 by @sjchmiela)
- Fix orientation being returned incorrectly for videos in portrait mode in onReadyForDisplay on iOS. (#10449 by @lachenmayer)
- Fix looping stops after 3 times on iOS. (#10602 by @IjzerenHein)
- Fix Audio.stopAndUnloadAsync not handling no-data on Android. (#9877 by @IjzerenHein)
This version does not introduce any user-facing changes.
- Fix progress events when no playback is active on Android. (#9545 by @IjzerenHein)
- Fix Video resizeMode not updated on Android. (#9567 by @IjzerenHein)
- Fix Video source always reloaded when changing props on Android. (#9569 by @IjzerenHein)
- Fix blank Video after unlocking screen. (#9586 by @IjzerenHein)
- Fix exception on Android when loading invalid Video source. (#9596 by @IjzerenHein)
- Fix Audio prepareToRecordAsync after it failed once on iOS. (#9612 by @IjzerenHein)
- Improve error-messages on iOS. (#9618 by @IjzerenHein)
- Removed unused and potentionally unsafe call on iOS. (#9436 by @IjzerenHein)
- Fix onReadyForDisplay not emitted for HLS streams/m3u8 files on iOS. (#9443 by @IjzerenHein)
- Fix stability issues when changing source and/or useNativeControls on iOS. (#9381 by @IjzerenHein)
- Fix stability issue due to player-item observers not cleaned up on iOS. (#9350 by @IjzerenHein)
- Fix audio recording not working after reload app in iOS. (#9283 by @IjzerenHein)
- Fix native fullscreen events not emitted on iOS. (#9323 by @IjzerenHein)
- Fix duplicate full-screen will-dismiss event on iOS. (#9366 by @IjzerenHein)
- Fix mem-leak when unmounting Video component on iOS. (#9379 by @IjzerenHein)
- Fix audio not resumable when app is in background on iOS (react-native-music-control usage). (#9363 by @IjzerenHein)
- Fix posterStyle warning. (#9384 by @IjzerenHein)
- Fix audio-session not de-activated after unloading sound on iOS. (#9365 by @IjzerenHein)
- Fix debugger break in XCode when removing observations. (#9334 by @IjzerenHein)
- [av] Delete
prop-types
in favor of TypeScript. (#8679 by @EvanBacon) - [av] Directly import
createElement
fromreact-native-web
for RNW v12 support. (#8773 by @EvanBacon)
- Allow playing media files embedded as resources in an Android APK. (#8936 by @esamelson)
This version does not introduce any user-facing changes.
- Fix unable to call presentFullScreenPlayer twice. (#8343 by @IjzerenHein)
- Fixed multiplied callbacks in
expo-av
after replaying (#7193 by @mczernek) - Fixed
Plaback.loadAsync()
return type. (#7559 by @awinograd) - Fixed the adaptive streaming for exoplayer on android. (#8380 by @watchinharrison)