This is the log of notable changes to the Expo client that are developer-facing. Package-specific changes not released in any SDK will be added here just before the release. Until then, you can find them in changelogs of the individual packages (see packages directory).
expo-auth-session
- Drop deprecated
expoClientId
field from auth proxy. (#28590 by @EvanBacon)
- Drop deprecated
expo-barcode-scanner
expo-barcode-scanner
is now deprecated. Please useexpo-camera
instead. (#26025 by @alanjhughes)
expo-constants
expo-face-detector
expo-face-detector
is now deprecated. We recommed using react-native-vision-camera instead. (#26026 by @alanjhughes)
expo-location
expo-local-authentication
expo-modules-core
expo-sms
- [web]
sendSMSAsync
now throws error codeERR_UNAVAILABLE
instead ofE_SMS_UNAVAILABLE
. (#27437 by @EvanBacon)
- [web]
expo-sqlite
expo-barcode-scanner
BarCodeScannerResult
now returns an additionalraw
field corresponding to the barcode value as it was encoded in the barcode without parsing. Will always be undefined on iOS. (#25391 by @ajacquierbret)
expo-blur
- Added support for Apple tvOS. (#26965 by @douglowder)
- Mark React client components with "use client" directives. (#27300 by @EvanBacon)
expo-asset
- Added config plugin to allow assets to be linked at build time. (#27052 by @alanjhughes)
- Add Apple TV support to the new iOS native module. (#27823 by @douglowder)
expo-camera
BarCodeAnalyzer
now passes an additionalraw
field to itsonComplete
callback, corresponding to the barcode value as it was encoded in the barcode without parsing. Will always be undefined on iOS. (#25391 by @ajacquierbret)- Add ability to disable permissions in config plugin by passing
false
instead of permission messages. (#28107 by @EvanBacon) - Add
pictureSize
prop toCameraView
component. (#27664 by @alanjhughes) - Allow user to remove
NSMicrophoneUsageDescription
and ignore themute
prop if they don't intend to use video. (#28156 by @alanjhughes) - Add
animateShutter
prop to provide feedback when a picture is taken. Also added shutter sound on android. (#28211 by @alanjhughes) - Support scanning barcodes from a provided image URL. (#28445 by @alanjhughes)
expo-constants
expo-crypto
- Added support for macOS platform. (#26831 by @tsapeta)
- Add Apple TV support. (#27819 by @douglowder)
expo-contacts
expo-font
expo-file-system
expo-haptics
- Introduce
rigid
andsoft
impact types (#28169 by @rodperottoni)
- Introduce
expo-image-picker
- Add ability to disable permissions in config plugin by passing
false
instead of permission messages. (#28107 by @EvanBacon) - Add new
legacy
option toImagePickerOptions
to allow using the legacy image picker on android. (#28514 by @alanjhughes)
- Add ability to disable permissions in config plugin by passing
expo-image-manipulator
- Added support for converting to WEBP on Android and iOS. (#26379 by @NikitaDudin)
expo-linear-gradient
- Added support for Apple tvOS. (#26965 by @douglowder)
- Mark React client components with "use client" directives. (#27300 by @EvanBacon)
expo-keep-awake
expo-location
- [Android] Added
formattedAddress
to theLocationGeocodedAddress
. (#26342 by @whysetiawan & @lukmccall) (#26342 by @whysetiawan, @lukmccall) (#26342, #26342 by @whysetiawan, @lukmccall, @whysetiawan, @lukmccall) - [Android] Make foreground service permission opt-in with
isAndroidForegroundServiceEnabled
config plugin option #27265 by @brentvatne) - [Android] Enable foreground service by default when background location is enabled #27359 by @brentvatne)
- Add ability to disable permissions in config plugin by passing
false
instead of permission messages. (#28107 by @EvanBacon)
- [Android] Added
expo-localization
expo-local-authentication
expo-network
- Add Apple TV support. (#27819 by @douglowder)
expo-modules-core
- Added support for returning shared refs from async functions. (#26341 by @aleqsio)
- Added support for macOS platform. (#26186 by @tsapeta)
- Add
Date
type converter. (#26148 by @alanjhughes) - Add timer capability to Logger. (#26454, #26477 by @wschurman)
- Add iOS support for
PlatformColor
andDynamicColorIOS
color props. (#26724 by @dlindenkreuz) BarCodeScannerResult
interface now declares an additionalraw
field corresponding to the barcode value as it was encoded in the barcode without parsing. Will always be undefined on iOS. (#25391 by @ajacquierbret)- [Web] Add
createWebModule
function to wrap web functionality with the NativeModule class. (#27739 by @aleqsio) - [Web] Add web implementations of event emitter and stubs of shared objects and native modules. (#27595 by @aleqsio)
- Mark React client components with "use client" directives. (#27300 by @EvanBacon)
- [iOS] Added basic filesystem module to decouple expo-file-system from other packages. (#27069 by @aleqsio)
- [Android] Added syntactic sugar for defining a prop group. (#27004 by @lukmccall)
- Introduced a base class for all shared objects (
expo.SharedObject
) with a simple mechanism to release native pointer from JS. (#27038 by @tsapeta & #27331 by @lukmccall) (#27038, #27331 by @tsapeta, @lukmccall) - [iOS] Added native implementation of the JS EventEmitter. (#27092 by @tsapeta)
- [iOS] Allow for the export of views that conform to
AnyExpoView
(#27284 by @dominicstop) - [iOS] Added support for bridgeless mode in React Native 0.74 (#27242, #27289, #27531 by @tsapeta)
- [iOS] Implemented sending events from native shared objects. (#27333 by @tsapeta)
- Added support for
startObserving
andstopObserving
in the newEventEmitter
class. (#27393 by @tsapeta) - [Android] Implemented sending events from native shared objects. (#27523 by @lukmccall)
- JS object of the native module is now an instance of the
NativeModule
class that inherits fromEventEmitter
. (#27510 by @tsapeta) - [iOS] Exposed a function on the runtime to schedule some work with synchronized access to JS. (#27567 by @tsapeta)
- [iOS]
OnStartObserving
andOnStopObserving
can now be attached to a specific event. (#27766 by @tsapeta) - [iOS] Provide Exception.code to JavaScript (as Error.code) for all types of functions. (#27960 by @cltnschlosser)
- Introduced the
reloadAppAsync
to reload the app. (#28400 by @kudo)
expo-media-library
expo-screen-capture
expo-secure-store
- Add ability to disable permissions in config plugin by passing
false
instead of permission messages. (#28107 by @EvanBacon) - Add
canUseBiometricAuthentication
function. (#26767 by @behenate)
- Add ability to disable permissions in config plugin by passing
expo-store-review
StoreReview.isAvailableAsync()
on iOS now resolves tofalse
for apps distributed through TestFlight. (#25900 by @gabrieldonadel)
expo-sqlite
- Added
SQLiteStatement.executeForRawResultAsync()
inexpo-sqlite/next
API which returns array based raw values than key-value based row value. (#26073 by @kudo) - [Android] Added
expo.sqlite.customBuildFlags
gradle property to support custom sqlite3 building flags. (#27385 by @kudo) - Added
serializeAsync()
anddeserializeDatabaseAsync()
to serialze and deserialize databases. (#27422 by @kudo) - Added
SQLiteProvider.assetSource
to import an existing database from assets. (#28291 by @kudo) - Bumped SQLite version to 3.45.3 and enabled the bytecodevtab feature. (#28358 by @kudo)
- Added
expo-av
- [Android] Add
Events
to AVModule
to prevent event emitter warning. (#26434 by @alanjhughes) - [iOS] Improve precision for syncing two videos and updating new video position when user sets tolerances to 0 (#26018 by @jpudysz)
- Tried to fix unused recording permission and getting rejected by store review. (#28236 by @kudo)
- [Android] Fix recording audio on Android after converting to Expo Modules (#26657 by @jpudysz)
- [Android] Fix memory leak connect with
AVManager
. (#28159 by @lukmccall) - [Android] Fix
HashMap cannot be cast to ReadableNativeMap
error on Android. (#28317 by @lukmccall)
- [Android] Add
expo-blur
- Migrate web to a function component and fix reanimated errors related to
setNativeProps
being removed. (#27721 by @EvanBacon)
- Migrate web to a function component and fix reanimated errors related to
expo-asset
- Fix relative URLs and support for
unstable_path
in development. (#26084 by @EvanBacon) - Fixed "Tried to resolve a promise more than once" crash on iOS. (#27672 by @kudo)
- Fix
TypeError: (0, _ExpoAsset.downloadAsync) is not a function
when loading assets using Expo Web. (#28405 by @jamiees2) - Fixed
downloadAsync()
does not support Android resources from release builds. (#28604 by @kudo)
- Fix relative URLs and support for
expo-calendar
- [iOS] Don't check calendar permissions for saving reminders, and fix missing details when saving calendar events. (#28265 by @robertying)
- Fix the problem that stringifyDateValues is not compatible with simple type arrays. (#27147 by @XHFkindergarten)
expo-camera
- Fix naming of web files. (#26505 by @alanjhughes)
- On
iOS
, barcode types were not converted correctly causing the scanner to not start immediately. (#26704 by @alanjhughes) - On
iOS
, fixmaxDuration
timescale on videos. (#26882 by @alanjhughes) - Set a higher resolution for barcode scans to allow scanning of high resolution barcodes. (#26886) by @byudaniel) (#26886 by @byudaniel) (#26886, #26886 by @byudaniel, @byudaniel)
- Fix barcode types casing errors. (#26888 by @byudaniel)
- On
Android
, fix the camera not being released when the view is destroyed. (#27086 by @alanjhughes) - On
iOS
, fix the orientation value inonResponsiveOrientationChanged
whenexif
is set to true. (#27314 by @alanjhughes) - On
Android
, fix empty qualities being passed to QualitySelector (#27126 by @leonhh) - On
web
, prevent creating a webworker when rendering on the server (#27222 by @marklawlor) - On
iOS
, fix method call on an optional variable. (#27235 by @alanjhughes) - Fix scanned frame bounds when scanning a barcode. (#27207 by @tamagokun)
- Fix incorrect prop name
flash
being passed to native. (#27394 by @alanjhughes) - Ensure
mute
prop is passed to native so it is correctly initialiased even when not provided from JS. (#27546 by @alanjhughes) - On
iOS
, fix camera orientation on initial render. (#27545 by @alanjhughes) - On
iOS
, fix an issue where the configuration can be interuppted when the dev menu is presented on intial launch. (#27572 by @alanjhughes) - On
iOS
, fixgetAvailablePictureSizes
in the legacy package. (#27642 by @alanjhughes) - Allow users using xcode 14 to still build when including camera. (#27873 by @alanjhughes)
- Fix an issue where the permission functions were being imported from the wrong file. (#27988 by @alanjhughes)
- Fix an issue on
iOS
where the barcode types did not match the typescript representation. Also enabled scanningupc_a
codes oniOS
. (#28233 by @alanjhughes) - On
iOS
, fixed regression where recording a video captures dark frames. Reduced frequency of camera initialization. (#28427 by @alanjhughes)
expo-constants
expo-contacts
- Fixed an issue where contacts could not be edited on either platform. (#27703 by @alanjhughes)
expo-device
Device.productName
now returnsBuild.PRODUCT
instead ofBuild.DEVICE
. (#27230 by @alex-fournier)
expo-font
- Only include supported font files when using the plugin. (#27002 by @alanjhughes)
expo-file-system
- On
iOS
, sethttpMethod
on upload requests. (#26516 by @alanjhughes) - On
iOS
, fix upload task requests. (#26880 by @alanjhughes) - [iOS] Fix downloadAsync for local files. (#27187 by @gabrieldonadel)
- On
iOS
, fix an issue withcopyAsync
where the copy fails if it is a photo library asset. (#27208 by @alanjhughes) - On
iOS
, resolve the promise manually after copying a PHAsset file. (#27381 by @alanjhughes) - [Android] remove
CookieHandler
as it's no longer in the module registry and not necessary. (#28145 by @alanjhughes)
- On
expo-gl
- Fixed integration with
react-native-reanimated
. (#28414 by @lukmccall)
- Fixed integration with
expo-image-picker
- On Android
fileSize
was namedfilesize
which did not match the docs & typescript definition. (#27293 by @WookieFPV) (#27293 by @wookieFPV) - Fixed an issue where cropped images were not returning file size and file name on Android. (#28352 by @fobos531)
- Fixed type exports for isolatedModules option in typescript (#28499 by @megacherry)
- On Android, fixed an issue where multiple pickers could be opened, causing a crash. (#28509 by @haileyok)
- On Android
expo-intent-launcher
- On Android, intent number extras are converted to
double
. However, it must beint
. (#26164 by @Alperengozum)
- On Android, intent number extras are converted to
expo-location
- [Android] Fix the module requiring the
expo-task-manager
module for methods that don't use it. (#26200 by @behenate) - [Android] Fixed:
NullPointerException: it must not be null
. (#26688 by @lukmccall) - On
Android
, prevent location service from starting when permission is not in the manifest. (#27355 by @alanjhughes)
- [Android] Fix the module requiring the
expo-localization
expo-modules-core
- [Android] Fixed
OnCreate
was called before theReact
instance was ready. (#25866 by @lukmccall) - [iOS] Fixed
SharedObjectRegistry
crash for accessing internal data structures from multi-threads. (#25997 by @kudo) - Fixed splash screen view flickering in dark mode on iOS. (#26015, #26029 by @kudo)
- Fixed
SharedObject
leakage on Android. (#25995 by @kudo) - Adjust proguard rules to prevent issues with types implementing
Enumerable
. (#26108 by @alanjhughes) - Fix proguard rules so
Serializable
types are not obfuscated. (#26545 by @alanjhughes) - [Android] Thrown an exception when nested types can't be converted instead of crashing the app. (#27449 by @lukmccall)
- [Android] Ensured that
onCreate
beforeOnActivityEntersForeground
event. (#26944 by @lukmccall) - [Android] Fixed activity contract registration after host destruction. (#26881 by @lukmccall)
- Fixed breaking changes from React-Native 0.74. (#26357 by @kudo)
- Fixed breaking changes from React-Native 0.74. (#26357, #26587 by @kudo)
- [Android] Unit converter now ignores nullability. It will always return unit regardless of whether the input value is null or not. (#27591 by @lukmccall)
- Fixed
RCTHost
is not retained on iOS bridgeless mode. (#27715 by @kudo) - Fixed errors on Android when running on bridgeless mode. (#27725 by @kudo)
- Fixed breaking changes from React Native 0.75. (#27773 by @kudo)
- Fixed crash from reloading on iOS and bridgeless mode. (#27928 by @kudo)
- Fixed SharedRef class names are obfuscated when R8 is enabled. (#27965 by @kudo)
- [iOS] Fix
recreateRootViewWithBundleURL
parameters. (#27989 by @gabrieldonadel) - Fixed
ExpoBridgeModule.installModules()
is broken on Android and bridgeless mode. (#28065 by @kudo) - [Android] Fixed segfaults in
expo::MethodMetadata::convertJSIArgsToJNI
. (#28163 by @lukmccall) - Fixed random
TypeError: Cannot read property 'NativeModule' of undefined
exceptions on Android. (#28200 by @kudo) - Fixed white screen flickering when using expo-updates with longer
fallbackToCacheTimeout
. (#28227 by @kudo) - [iOS] Fixed random crashes when reloads and
EXJavaScriptObject
accesses to dangling pointers. (#28262 by @kudo) - Fixed
AppContext.onHostResume()
sometimes getting nullcurrentActivity
on Android. (#28338 by @kudo) - Fixed backward compatibility in the build.gradle from third party Expo modules. (#28359 by @kudo)
- [Android] Fixes SEGFAULTs caused by
std::shared_ptr<JavaCalllback::CallbackContext>::__on_zero_shared
. (#28483 by @lukmccall) - [Android] Fixed gziped payload does not correctly shown in network inspector. (#28486 by @kudo)
- [Android] Fixed crashes during the deallocation of shared objects. (#28491 by @lukmccall)
- [iOS] Fix accessing the view registry to avoid infinite loop crash. (#28531 by @tsapeta)
- [Android] Fix
field operation on NULL object
when reloading the app. (#28555 by @lukmccall) - Fixed building error when use_frameworks on new architecture. (#28451 by @kudo)
- [Android] Fixed
expo-media-library
- [iOS] Fix crash when passing
default
as sorting key. (#28328 by @aleqsio) - [Android] Fixed crash on denied permission to modify assets. (#28212 by @mathieupost)
- [Android] Fixed promise resolved twice on denied permission. (#28323 by @mathieupost)
- [iOS] Fix crash when passing
expo-notifications
- [Android] Fix
expo-notifications
requiring theexpo-task-manager
module to start. (#26227 by @behenate) - Throw
UnavailabilityError
when trying to usesetNotificationCategoryAsync
on web. (#26511 by @marklawlor) - Remove
.native
hardcoded platform imports (#26511 by @marklawlor) - On
Android
, added events to module definition to clear warnings. (#26654 by @alanjhughes) - [Android] Fix notifications events were using an incorrect event emitter. (#28207 by @lukmccall)
- [Android] Fix
expo-screen-capture
- Fix screenshot listener not being called on Android 34. (#26549 by @alanjhughes)
- Reverse api level constraint on the
DETECT_SCREEN_CAPTURE
permission. (#27148 by @alanjhughes) - [Android] Fixes memory leaks caused by the event emitter. (#28161 by @lukmccall)
- [Android] Fix accessing activity too early on bridgeless. (#28244 by @alanjhughes)
expo-screen-orientation
expo-sensors
- On
Android
, add event name to definition in theDeviceMotionModule
. (#26679 by @alanjhughes) - Prevent unnecessary permissions check when moving app to background (Would crash with certain configs). (#28045 by @cltnschlosser)
- Fix barometer updates not starting on iOS 17.4. (#28253 by @alanjhughes)
- On
expo-store-review
expo-task-manager
- On
Android
, added events to module definition to clear warnings. (#26654 by @alanjhughes)
- On
expo-sqlite
- Fixed
NativeStatementBinding
leakage on Android. (#25996 by @kudo) - Fixed building error on Windows. (#26296 by @kudo)
- Fixed a write query being executed twice when using
SQLiteDatabase.getAllAsync()
in expo-sqlite/next API. (#26344 by @kudo) - Fixed
expo-sqlite/next
cannot be imported from an ESM project. (#27423 by @kudo) - Enabled FTS and FTS5 for SQLite. (#27738 by @kudo)
- Fixed
NullPointerException
on Android when opening the same database multiple times. (#27748 by @kudo)
- Fixed
expo-video-thumbnails
expo-web-browser
- On
iOS
, fix an issue where rapidly opening and closing the browser would leave the module in a bad state, preventing opening the browser again. (#28452 by @alanjhughes)
- On
expo-application
expo-av
- Replace deprecated
com.facebook.react:react-native:+
Android dependency withcom.facebook.react:react-android
. (#26237 by @kudo) - Prevent config plugin from writing permissions until prebuild. (#28107 by @EvanBacon)
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Replace deprecated
expo-background-fetch
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-auth-session
- Remove most of Constants.appOwnership. (#26313 by @wschurman)
expo-battery
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-brightness
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-barcode-scanner
- Add FYI link. (#26049 by @alanjhughes)
- Prevent config plugin from writing permissions until prebuild. (#28107 by @EvanBacon)
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
expo-blur
expo-asset
- Create native module for iOS and Android. Migrate
downloadAsync
to a native implementation. (#27369 by @aleqsio) - Remove MD5 checksum verification for remote assets. This does not change method signatures nor require changes to your application code, and should not affect any apps in practice since this behavior was used only for apps that used Classic Updates, support for which ended with SDK 50. (#25614 by @ide)
- [expo-updates] Migrate to requireNativeModule/requireOptionalNativeModule. (#25648 by @wschurman)
- Clean up some asset stuff. (#26310 by @wschurman)
- Remove most of Constants.appOwnership. (#26313 by @wschurman)
- Remove assetUrlOverride and assetMapOverride. (#26314 by @wschurman)
- Improve updates types and clarity in expo-asset. (#26337 by @wschurman)
- Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Update mocks for SDK51. (#28424 by @aleqsio)
- Create native module for iOS and Android. Migrate
expo-calendar
- Prevent config plugin from writing permissions until prebuild, remove duplicate permissions. (#28107 by @EvanBacon)
- drop unused web
name
property. (#27437 by @EvanBacon) - On iOS, migrate to Expo Modules API. (#24282 by @alanjhughes)
- Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Use enums instead of objects for enumerable types. (#27777 by @behenate)
expo-cellular
expo-camera
- Make the casing of
Barcode
consistent. (#26900 by @alanjhughes) - drop unused web
name
property. (#27437 by @EvanBacon) - On
Android
, requesting audio permissions was meant to be optional in the config plugin. (#27365 by @alanjhughes) - Prevent unnecessary configuration changes wherever possible. (#27919 by @alanjhughes)
- On
Android
, only recreate camera after certain props have changed. (#27952 by @alanjhughes) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Promote
next
package to stable. (#28226 by @alanjhughes)
- Make the casing of
expo-clipboard
expo-constants
- [iOS] Add privacy manifest describing required reason API usage. (#27770 by @aleqsio)
- [expo-updates] Migrate to requireNativeModule/requireOptionalNativeModule. (#25648 by @wschurman)
- Remove most of Constants.appOwnership. (#26313 by @wschurman)
- Improve updates types and clarity in expo-asset. (#26337 by @wschurman)
- Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
expo-crypto
- drop unused web
name
property. (#27437 by @EvanBacon) - Update error message to reflect that web crypto works on web with a localhost hostname and often doesn't require
https
. (#26729 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Update mocks for SDK51. (#28424 by @aleqsio)
- drop unused web
expo-contacts
- Prevent config plugin from writing permissions until prebuild. (#28107 by @EvanBacon)
- drop unused web
name
property. (#27437 by @EvanBacon) - Reuse React Native
ShareOptions
type forshareContactAsync
parameter typing. (#26208 by @Simek) - [iOS] Migrate to Expo Modules. (#25696 by @alanjhughes)
- Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
expo-device
expo-document-picker
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-font
- drop unused web
name
property. (#27437 by @EvanBacon) - Remove most of Constants.appOwnership. (#26313 by @wschurman)
- Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Stopped scoping font family names in Expo Go on iOS. (#28344 by @tsapeta)
- drop unused web
expo-face-detector
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-file-system
expo-gl
expo-haptics
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-image-loader
expo-image-picker
- drop unused web
name
property. (#27437 by @EvanBacon) - Convert WEBP to PNG instead JPEG when selecting an item in the Media Library with editing enabled. (#26419 by @NikitaDudin)
- Receiving a correct file extension for WEBP files instead
.jpeg
in the ImagePicker result. (#26419 by @NikitaDudin) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-intent-launcher
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-image-manipulator
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-linear-gradient
expo-keep-awake
expo-location
expo-localization
expo-local-authentication
- Prevent config plugin from writing permissions until prebuild. (#28107 by @EvanBacon)
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
expo-mail-composer
expo-network
expo-modules-core
- [Android] Bump Kotlin version from
1.8.10
to1.8.22
. (#25945 by @lukmccall) - Replace deprecated
com.facebook.react:react-native:+
Android dependency withcom.facebook.react:react-android
. (#26237 by @kudo) - Deprecated
expo.modules.core.Promise
. (#27471 by @aleqsio) - Removed deprecated
global.ExpoModules
. (#26027 by @tsapeta) - Remove most of Constants.appOwnership. (#26313 by @wschurman)
- Added an alternative way of installing the JSI bindings. (#26691 by @lukmccall)
ObjectDeallocator
is now a native state instead of a host object. (#26906 by @tsapeta)- Moved away from
SharedObjectRegistry
being a singleton. (#27032 by @tsapeta) - Moved and added more JSI utils to the common C++ codebase. (#27045 by @tsapeta)
- Introduce
EXCreateReactBindingRootView
to create correct React Native setup for New Architecture mode. (#27216 by @kudo) - Set bridge on
AppContext
inExpoBridgeModule
. (#27378 by @alanjhughes) - Added TypeScript declarations and documentation for global JSI bindings. (#27465 by @tsapeta)
- [iOS] Added bridgeless support on ExpoReactDelegate. (#27601, #27689 by @kudo)
- [Android] Added bridgeless support on ReactNativeHostHandler. (#27629 by @kudo)
- Refactored out
EXReactRootViewFactory.createDefaultReactRootView:
toRCTAppDelegate.recreateRootViewWithBundleURL:
category. (#27945 by @kudo) - Added
ReactNativeHostHandler.onReactInstanceException()
for client to listen for exceptions on Android. (#27815 by @kudo) - Removed the legacy interfaces for font processors as they are no longer used by
expo-font
and nothing else depends on them. (#26380 by @tsapeta) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Bumped Kotlin version to 1.9.23. (#28088 by @kudo)
- Introduced
onDidCreateDevSupportManager
handler to support error recovery from expo-updates. (#28177 by @kudo) - Dropped support for custom type converters on Android. (#28252 by @lukmccall)
- Introduced
ExpoReactDelegateHandler.bundleURL
for clients to override newer bundleURL. (#28256 by @kudo)
- [Android] Bump Kotlin version from
expo-media-library
- Prevent config plugin from writing permissions until prebuild. (#28107 by @EvanBacon)
- [iOS] Add privacy manifest describing required reason API usage. (#27770 by @aleqsio)
- drop unused web
name
property. (#27437 by @EvanBacon) - [iOS] Migrate to expo modules. (#25587 by @alanjhughes)
- Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- The
ACCESS_MEDIA_LOCATION
Android permission should not pulled into by default and should be pulled through Config Plugins. (#28230 by @kudo)
expo-notifications
expo-screen-capture
expo-print
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-random
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-screen-orientation
- Drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Drop unused web
expo-sharing
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-secure-store
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-sms
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-speech
expo-sensors
- Prevent config plugin from writing permissions until prebuild. (#28107 by @EvanBacon)
- drop unused web
name
property. (#27437 by @EvanBacon) - Fixed broken JavaScript unit tests. (#27257 by @kudo)
- Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Removed the usage of the legacy EventEmitter. (#28149 by @tsapeta)
- Update mocks for SDK51. (#28424 by @aleqsio)
expo-store-review
- Remove expo-linking dependency and use React Native Linking instead. (#26428 by @gabrieldonadel)
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
expo-task-manager
expo-sqlite
- Remove
onDatabaseChange
event from legacy API as it is not supported natively. (#26655 by @alanjhughes) - drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Remove
expo-video-thumbnails
- drop unused web
name
property. (#27437 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- drop unused web
expo-web-browser
- Updated
androidx.browser:browser
to1.6.0
#26619 by @zoontek - drop unused web
name
property. (#27437 by @EvanBacon) - Update error message to reflect that web crypto works on web with a localhost hostname and often doesn't require
https
. (#26729 by @EvanBacon) - Remove
compare-urls
andurl
dependencies in favor of built-in URL support. (#26702 by @EvanBacon) - Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)
- Updated
unimodules-app-loader
- Updated
react-native-maps
from1.3.2
to1.7.1
. (#28007 by @lukmccall) expo-location
expo-asset
- Convert
../
to_
for the propertyhttpServerLocation
inhashAssetFiles
(Metro asset pre-processor) to support assets in monorepos the same everywhere. (#24090 by @EvanBacon) - Removed support for the Classic Updates service for SDK 50 (announcement). Specifically, references to the Classic Updates CDN were removed. Migrate to EAS or other service that conforms to the modern Expo Updates protocol. (#25613 by @ide)
- Convert
expo-apple-authentication
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
expo-application
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Removed
androidId
constant in favor of a method (getAndroidId
) to comply with Huawei and Xiaomi's app store policies. (#22585 by @fobos531) - Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-auth-session
- Fix for breaking change in expo-constants to only support new manifests. (#24267 by @wschurman)
expo-barcode-scanner
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-battery
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-background-fetch
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-av
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-camera
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Mark the
ratio
param ofgetAvailablePictureSizes
as required because omitting it causes a crash on Android. On iOS, the param has no effect. (#24234 by @vonovak) - Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-cellular
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-calendar
- Forbid passing an id to
createEventAsync
andupdateEventAsync
. (#23810 by @pierrezimmermannbam) - Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
- Forbid passing an id to
expo-brightness
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-blur
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Made
BlurView
on Android an experimental feature, which can be enabled withexperimentalBlurMethod
prop. (#24709 by @behenate) - Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-constants
- Drop support for
logUrl
which sent console logs to the legacyexpo-cli
. (#18596 by @EvanBacon) - Change source of truth for constants types. (#24049 by @wschurman)
- Remove classic manifest types. (#24053 by @wschurman)
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
- Drop support for
expo-crypto
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-clipboard
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-contacts
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-file-system
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-document-picker
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-face-detector
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-haptics
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-image-loader
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-font
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-gl
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-image-manipulator
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-keep-awake
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-image-picker
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-intent-launcher
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-linear-gradient
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-mail-composer
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-local-authentication
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-location
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-linking
- Remove deprecated
makeUrl
function. (#24300 by @EvanBacon)
- Remove deprecated
expo-media-library
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-localization
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-modules-core
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-notifications
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-print
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-device
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-screen-capture
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-network
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-sensors
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-random
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-secure-store
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-screen-orientation
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-sms
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-store-review
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-task-manager
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-speech
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-sharing
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-video-thumbnails
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-web-browser
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-sqlite
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- Remove CRSQLite support on legacy API. (#25092 by @kudo)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
unimodules-app-loader
- Dropped support for Android SDK 21 and 22. (#24201 by @behenate)
- Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- On
Android
bumpcompileSdkVersion
andtargetSdkVersion
to34
. (#24708 by @alanjhughes)
expo-asset
- Added support for React Native 0.73.0. (#24971, #25453 by @gabrieldonadel)
expo-application
- Added support for React Native 0.73. (#24018 by @kudo)
- Added support for Apple tvOS. (#24329 by @douglowder)
- Migrate iOS module to Expo modules API. (#24871 by @reichhartd)
- Android module is now written using the Sweet API. (#22395 by @fobos531) (#22585 by @fobos531)
expo-barcode-scanner
expo-battery
expo-background-fetch
expo-av
expo-camera
- Added support for React Native 0.73. (#24018 by @kudo)
- [iOS] Rewrote Objective-C classes to Swift. (#22604 by @alanjhughes)
- Methods
stopRecording
,pausePreview
andresumePreview
have been updated to return promises. (#25737 by @lukmccall)
expo-cellular
expo-calendar
expo-brightness
expo-blur
- Added support for React Native 0.73. (#24018 by @kudo)
- Support more blur effects. On iOS, using
UIBlurEffect.Style
. On Android, find the closest available color reference. (#24392 by @alanjhughes)
expo-constants
- Added support for React Native 0.73. (#24018 by @kudo)
- Added support for Apple tvOS. (#24329 by @douglowder)
expo-crypto
expo-clipboard
expo-contacts
expo-file-system
- Added support for React Native 0.73. (#24018 by @kudo)
- Added support for Apple tvOS. (#24329 by @douglowder)
expo-document-picker
expo-face-detector
expo-haptics
expo-image-loader
expo-font
- Added support for React Native 0.73. (#24018 by @kudo)
- Add static font extraction support with
expo-router
. (#24027 by @EvanBacon) - Added support for Apple tvOS. (#24329 by @douglowder)
- Added config plugin to allow fonts to be linked at build time. (#24772 by @alanjhughes)
- Remove
unimodule.json
in favour ofexpo-module.config.json
. (#25099 by @reichhartd) - Added custom native fonts support to
Font.isLoaded()
. (#25770 by @kudo)
expo-gl
expo-image-manipulator
expo-keep-awake
- Added support for React Native 0.73. (#24018 by @kudo)
- Added support for Apple tvOS. (#24329 by @douglowder)
expo-image-picker
- Added support for React Native 0.73. (#24018 by @kudo)
- On Android, support
fileName
andfilesize
in the returned assets. (#24524 by @alanjhughes) - Support returning the mime type of the returned assets. (#24659 by @alanjhughes)
expo-intent-launcher
expo-linear-gradient
expo-mail-composer
expo-local-authentication
expo-location
expo-media-library
expo-localization
expo-modules-core
- [Android] Surfaced errorManager to allow throwing errors and warnings from modules. (#23848 by @aleqsio)
- [Android] Enums can now be used to define events. (#23875 by @lukmccall)
- [Android] Promises can now be resolved without arguments. (#23907 by @lukmccall)
- Added support for React Native 0.73. (#24018, #24019 by @kudo)
- [Android]
Property
component can now take the native shared object instance as the first argument. (#24206 by @lukmccall) - Introduced
requireOptionalNativeModule
that returnsnull
when the module cannot be found instead of throwing an error. (#24262 by @tsapeta) - [Android] Introduced shared refs – a way to pass native objects among different independent modules. (#24446 by @lukmccall)
- Added support for Apple tvOS. (#24329 by @douglowder)
- Add
CommonExceptions.ModuleNotFound
. (#24898 by @lukmccall) - [Android]
Set<T>
can now be passed as an argument to a module method. (#24897 by @lukmccall) - Add
preventModuleOverriding
toModuleRegistry.register
method. (#24860 by @wschurman) - [iOS]
CGFloat
can now be used as an argument type. (#25140 by @tsapeta) - Added support for React Native 0.73.0. (#24971, #25453 by @gabrieldonadel)
- Added
Data <-> Uint8Array
convertible on iOS. (#25726 by @kudo) - Added
ByteArray <-> Uint8Array
convertible on Android. (#25727 by @kudo)
expo-notifications
expo-print
expo-device
- Added support for React Native 0.73. (#24018 by @kudo)
- Added support for Apple tvOS. (#24329 by @douglowder)
- Added new devices for iOS. (#24555 by @johanholm)
expo-screen-capture
expo-network
- Added support for React Native 0.73. (#24018 by @kudo)
- Add Node.js support. (#24505 by @EvanBacon)
expo-sensors
expo-random
expo-secure-store
- Added a config plugin to automatically set NSFaceIDUsageDescription on iOS. (#23268 by @aleqsio)
- [Android] Migrated to Expo Modules API. (#23804 by @behenate)
- [Android] It is now possible to store values that require authentication and ones that don't under the same
keychainService
. (#23804 by @behenate) - Added support for React Native 0.73. (#24018 by @kudo)
- [iOS] Added possibility to store values that require authentication and ones that don't under the same
keychainService
. (#23841 by @behenate) - [iOS] Added synchronous functions for storing and retrieving values from the store. (#23841 by @behenate)
expo-screen-orientation
expo-sms
expo-store-review
expo-task-manager
expo-speech
expo-sharing
expo-video-thumbnails
expo-web-browser
expo-sqlite
- Migrated Android codebase to Expo Modules API. (#23115 by @alanjhughes)
- Added experimental
Promise
basedexecAsync
andtransactionAsync
functions. (#23109 by @kudo) - Add support for running raw queries on Android. (#24320 by @alanjhughes)
- On Android, add support for
CRSQLite
. (#24322 by @alanjhughes) - Add synchronous method
closeSync
. (#23757 by @alanjhughes) - Added support for React Native 0.73. (#24018 by @kudo)
- [Android] Rewrite implementations from low-level SQLite bindings. (#24730 by @kudo)
- Introduced
expo-sqlite/next
new APIs. (#24812 by @kudo) - Added Android implementation for
sqlite/next
APIs. (#25021 by @kudo) - Added the
useSQLiteContext
hook that can be used across components. (#25129 by @kudo) - Improved performance on the
expo-sqlite/next
API. (#25314 by @kudo) - Added binary data support to the
expo-sqlite/next
API through theUint8Array
. (#25787 by @kudo)
unimodules-app-loader
expo-asset
- URL encode asset paths defined as query parameter. (#24562 by @byCedric)
- fix URLs in development. (#25202 by @EvanBacon)
expo-application
- On iOS, fixed a regression that prevented expo go from determining the release type. (#25834 by @alanjhughes)
expo-barcode-scanner
- On
Android
, userawValue
in the case of scanning a contact card to return complete information. (#24791 by @alanhughes) (#24791 by @alanjhughes) - On
iOS
, correctly handle when unsupported barcode types are passed to thebarCodeTypes
prop. (#24784 by @alanhughes) (#24784 by @alanjhughes)
- On
expo-av
- 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) (#24198 by @alanjhughes)
- [ios] Fixed the
LOW_QUALITY
preset producing large audio files. (#24323 by @behenate) - Update pitch algorithm settings for iOS >= 17. (#24678 by @hromovp)
- [iOS] fix compilation on tvOS. (#24864 by @douglowder)
- Fix audio recording resetting when receiving a phone call. (#25054 by @behenate)
- Fix iOS
naturalSize.orientation
in proponReadyForDisplay
for hls stream (#25169 by @souzaluiz) - [iOS] Fix base64 audio playback on iOS 17. (#25414 by @behenate)
expo-camera
- Resolved an issue on Android where recording a video, even with the mute: true option, would still result in an audio permission exception. Furthermore, the mute flag was incorrectly referred to as muteValue, causing it to be consistently ignored (#23145 by @hirbod)
- Fix crash when onBarCodeScanned or onFacesDetected callback is removed. (#23223 by @thespacemanatee)
- Remove @koale/useworker. (#23967 by @marklawlor)
- Fixed issue with checking camera/microphone permissions in Firefox. (#22855 by @loganrosen)
- Fixed flash is not enabled during recordings. (#23776 by @tszheichoi)
- On iOS, fix dead frames when starting a video recording. (#22037 by @alanjhughes)
- [iOS] Fix a regression from (#22604 that prevented the barcode scanner from starting.(#25053 by @alanjhughes) (#22604, #25053 by @alanjhughes)
expo-calendar
- On
iOS
, fix permissions error oniOS 17
. (#24545 by @alanjhughes) - Fix url parsing when adding url in calendar event and reminder on iOS. (#24102 by @Thomas-Mollard)
- On
iOS
, fix check that determines if the version of Xcode supportsiOS 17
. (#24655 by @alanjhughes) - On
iOS
, validate calendars argument ingetRemindersAsync
before accessingcount
. (#24677 by @alanjhughes) - [iOS] Fix unnecessary permission check for calendars when calling
saveCalendarAsync
withentityType
"reminder"
(#24967 by @robertying)
- On
expo-brightness
- On
Android
, add event to prevent thenew NativeEventEmitter()
warning. (#24942 by @alanjhughes)
- On
expo-constants
- Fix task ':expo-constants:packageDebugAssets' uses this output of task ':expo-constants:copyReleaseExpoConfig' without declaring an explicit or implicit dependency when running
gradlew test
on Android. (#23511 by @lukmccall)
- Fix task ':expo-constants:packageDebugAssets' uses this output of task ':expo-constants:copyReleaseExpoConfig' without declaring an explicit or implicit dependency when running
expo-clipboard
expo-contacts
expo-file-system
- Fix regression in
copyAsync
on Android. (#23892 by @brentvatne) - On
Android
, useaddInterceptor
instead ofaddNetworkInterceptor
indownloadResumableStartAsync
. (#24702 by @alanhughes) (#24702 by @alanjhughes) - On
Android
, handle using files fromSAF
correctly. (#25389 by @alanjhughes) - Removed legacy
bundledAssets
constant that was used only in standalone apps. (#25484 by @tsapeta) - [iOS] Added missing check for directory permissions in
deleteAsync
method. (#25704 by @tsapeta)
- Fix regression in
expo-document-picker
expo-image-loader
- Bump
Glide
version to resolveSecurityException
on Android 13. (#24196 by @alanjhughes)
- Bump
expo-font
- Gracefully catch exceptions during font loading on web with
fontfaceobserver
. (#22954 by @bradjones1) - Handle the case where no argument is passed to the plugin. (#25138 by @alanjhughes)
- Gracefully catch exceptions during font loading on web with
expo-image-manipulator
- [iOS] Fix an issue where the image is manipulated on a background thread. (#25756 by @alanjhughes)
expo-image-picker
- Fix manifest merger build fail on Android. (#23191 by @alexandrius)
- [Android] Fix backported photo picker crashing with null intent. (#23224 by @thespacemanatee)
- On Android, the
Uri
type is not serializable and causes a crash when recreating the activity. (#23768 by @alanjhughes)
expo-intent-launcher
- Fixed errors in debug and crashes in production when an intent is launched without found activities. (#24481 by @robertying)
expo-location
- Downgrade play-services-location to 20.0.0 to support react-native-maps. (#23501 by @gabrieldonadel)
expo-linking
- Fix parsing web URLs with
+
symbols in the pathname. (#24300 by @EvanBacon)
- Fix parsing web URLs with
expo-media-library
- Fix
albumNeedsMigrationAsync
crashing if called with invalidalbumId
on Android. (#23516 by @lukmccall) - Fix
the bind value at index 1 is null
exception thrown byExpoMediaLibrary.migrateAlbumIfNeededAsync
on Android. (#23515 by @lukmccall) - On iOS, fix issue where the wrong requester class was used if the user had requested
writeOnly
permissions. (#23780 by @alanjhughes) - On iOS, fix iOS 14 limited library picker presentation, using
presentPermissionsPickerAsync
, on nested views andreject
Promise if state is notlimited
. (#25521 by @exodusanto) - Fix promises being resolved twice on Android. (#25763 by @lukmccall)
- Fix
expo-localization
- [iOS] fix tvOS compilation. (#24845 by @douglowder)
- [iOS] Fix expo-localization tvOS compile, add CI. (#25082 by @douglowder)
expo-modules-core
- Fix the
View cannot be cast to ViewGroup
exception on Android. (#23264 by @lukmccall) - Improved the OkHttp network inspector stability on Android. (#23350 by @kudo)
- [iOS] Fix conversion to
URL
type that failed despite receiving a string that contained a valid URL. (#23331 by @alanhughes) (#23331 by @alanjhughes) (#23331, #23331 by @alanjhughes, @alanjhughes) - Fixed the Network Inspector cannot preview response body for response without the
Content-Length
header. (#23405 by @kudo) - Fixed
SoLoader
does not work on Android. (#23415 by @kudo) - Fixed slower boot time on Android. (#23345 by @lukmccall)
- Fixed regressions and crashes in the dev client introduced by #23405. (#23491 by @kudo) (#23405, #23491 by @kudo)
- Fixed the
ErrorViewGroup
cannot be cast to module view class exception on Android. (#23651 by @lukmccall) - [iOS] Fix allowed orientations set in
Info.plist
being ignored when no delegates requested a different orientation. (#23593 by @behenate) - [iOS] Fixed custom fonts support on Fabric. (#23666 by @aleqsio)
- [Android] Fixed splash screen is missing when using the
getDelayLoadAppHandler()
from expo-updates. (#23747 by @kudo) - [Android] Refresh NativeModulesProxy if app bundle is reloaded. (#23824 by @douglowder)
- [Android] Fix nullability of parameter type in
List
andMap
when converting from JS to native. (#23942 by @lukmccall) - Fixed Fabric setup error on iOS. (#24004 by @kudo)
- Fixed uuid v4 generation. (#24123 by @tsapeta)
- [Android] Fixed owner type of view functions. (#24135 by @lukmccall)
- [Android] Fixed IOException
No space left on device
when saving persistent log. (#24247 by @RodolfoGS) - Fixed typed arrays couldn't be returned from synchronous functions. (#24744 by @lukmccall)
- [iOS] Fixed exception when deallocating shared objects. (#24836 by @kudo)
- [Android] Fixed
null
orundefined
wasn't converted toJavaScriptValue
. (#24899 by @lukmccall) - [Android] Fixed
Either
converter not working with types that have common representation in JavaScript. (#24903 by @lukmccall) - [Android]
Any
converter doesn't useReadableMap
orReadableList
anymore. Objects and arrays are converted to Kotlin's primitives. (#24963 by @lukmccall) - Mock native code on web platforms. (#25264 by @EvanBacon)
- [iOS] Fixed the object identifier for shared object types. (#25060 by @tsapeta)
- [iOS] Fixed concurrent functions (async/await) not converting results such as records and shared objects. (#25075 by @tsapeta)
- [iOS] Fixed concurrent functions (async/await) not supporting an owner argument (view and class functions). (#25141 by @tsapeta)
- Fixed UIView arguments not being resolved correctly when passed in with findNodeHandle (#24703 by @javache)
- [Android] Improve boot time on low-end devices. (#25267 by @lukmccall)
- [Android] Improve performance of enum and map converters. (#25272 by @lukmccall)
- [Android] Improve logic responsible for obtaining converters that slow down the startup time. (#25273 by @lukmccall)
- [Android] Improving the creation process of views for better performance. (#25274 by @lukmccall)
- [Android] Prevent the app from crashing during reloading when an unfinished promise tries to execute.
- [Android] Fix
JavaScriptFunction
not working when the return type wasn't provided. (#25688 by @lukmccall) - [Android] Fix requesting only
WRITE_SETTINGS
rejecting promise even if the permission was granted. (#25732 by @lukmccall) - [Android] Fix functions that are scheduled on the main thread weren't being called as soon as possible. (#25757 by @lukmccall)
- Fix the
expo-notifications
- Fix server rendering with Metro web. (#24195 by @EvanBacon)
- Send background notifications through when the app is in the foreground (#24684 by @kadikraman)
- On
Android
, maketokenManager
nullable to prevent crash if we can't find it. (#25860 by @alanjhughes)
expo-print
expo-device
- [iOS] fix tvOS compilation. (#24845 by @douglowder)
expo-sensors
- Fix NullPointerException in PedometerModule. (#24079 by @jleprinc)
- [Android] Fix pedometer not working due to lack of permissions. (#25815 by @omegascorp and @behenate) (#25815 by @omegascorp, @behenate)
- On iOS, fix an issue where permissions were requested on reload. (#25827 by @alanjhughes)
expo-secure-store
- Fixed the 'WHEN_UNLOCKED_THIS_DEVICE_ONLY' constraint being incorrectly mapped to wrong secure store accessible (#24831 by @mmmguitar)
expo-screen-orientation
- [iOS] When config plugin is not configured the initial orientation is now based on values in
Info.plist
instead of being set to portrait. (#23456 by @behenate) - [iOS] Fix event emitter sending events with no registered listeners. (#23462 by @behenate)
- [iOS] Fix config plugin deleting the orientations key from
Info.plist
when the initial orientation value is set toDEFAULT
. (#23637 by @behenate) - Fix addOrientationChangeListener not working on iPadOS. (#23656 by @behenate)
- On
Android
, add event to module definition to preventnew NativeEventEmitter()
warning. (#24943 by @alanjhughes)
- [iOS] When config plugin is not configured the initial orientation is now based on values in
expo-speech
- Use new
EventEmitter
instead ofNativeEventEmitter
. (#24221 by @alanjhughes)
- Use new
expo-video-thumbnails
expo-sqlite
- Fixed the return type from
executeSqlAsync
to only successfulResultSet
. (#24336 by @kudo) - Fixed missing
transaction()
andreadTransaction()
function types fromSQLiteDatabase
. (#23751 by @kudo) - [iOS] Fixed build error when mixing with iOS built-in SQLite3. (#23885 by @kudo)
- [Android] Fixed select queries with CTEs crashing on Android. (#24132 by @derekstavis)
- [iOS] Fixed an issue with CRSQLite missing a minimum OS version on iOS, causing rejections on AppStore Connect submission. (#24347 by @derekstavis)
- Fix broken JS test. (#24498 by @alanjhughes)
- [ios] Fix some issues for
sqlite/next
. (#25022 by @kudo) - Fix crash issues in
sqlite/next
. (#25295 by @kudo) - Fix
executeSqlAsync
to accept null properly as arguments. (#24761 by @spencerc99) - Fixed
useSQLiteContext()
andfinalizeUnusedStatementsBeforeClosing
issues inexpo-sqlite/next
API. (#25328 by @kudo) - Fixed the
transactionExclusiveAsync
does not support CRSQLite. (#25370 by @kudo) - Fixed
expo-sqlite/next
integer overflow crashes on iOS. (#25322 by @peterferguson) - Fixed
expo-sqlite/next
crashes when access to finalized statements. (#25623 by @kudo) - Fixed
expo-sqlite/next
UTF-8 text issue and:memory:
database issue. (#25637 by @kudo)
- Fixed the return type from
expo-asset
- Collapse re-export of
react-native/Libraries/Image/AssetRegistry
to@react-native/assets-registry/registry
. (#25265 by @EvanBacon) - Migrate to new standard
URL
support on native. (#24941 by @EvanBacon) - Renamed
unimodule.json
toexpo-module.config.json
. (#25100 by @reichhartd) - Removed references to legacy
bundledAssets
constant fromexpo-file-system
that was used only in standalone apps. (#25484 by @tsapeta)
- Collapse re-export of
expo-apple-authentication
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon)
- Ship untranspiled JSX to support custom handling of
expo-application
- Remove
unimodule.json
in favour ofexpo-module.config.json
. (#25100 by @reichhartd)
- Remove
expo-auth-session
- Remove references to
startAsync
from js doc. (#23150 by @alanhughes) (#23150 by @alanjhughes) - Remove unnecessary test. (#23154 by @alanhughes) (#23154 by @alanjhughes)
- Migrate to new standard
URL
support on native. (#24941 by @EvanBacon) - Added dependency on
expo-application
as it's no longer a dependency of theexpo
package. (#25583 by @tsapeta)
- Remove references to
expo-barcode-scanner
- Update snapshots. (#23238 by @gabrieldonadel)
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon)
expo-battery
- Migrated Android codebase to use Expo Modules API. (#23883 by @lukmccall)
expo-background-fetch
- Migrated Android codebase to use Expo modules API. (#23903 by @lukmccall)
- Migrate iOS codebase to use Expo Modules API. (#23936 by @alanjhughes)
expo-av
- Migrated
AVModule
to use Expo modules API. (#23902 by @lukmccall) - Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon) - 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)
- Bump C++ compiler setting to C++20. (#25548 by @kudo)
- Migrated
expo-camera
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon) - Use
pointerEvent
style instead of prop. (#24931 by @EvanBacon) - [iOS] Replace legacy
FileSystem
interfaces usage with coreFileSystemUtilities
. (#25495 by @alanhughes) (#25495 by @alanjhughes)
- Ship untranspiled JSX to support custom handling of
expo-calendar
- [Android] Migrate to use Expo Modules API. (#24103 by @lukmccall)
expo-blur
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon)
- Ship untranspiled JSX to support custom handling of
expo-constants
- Fork
[email protected]
and move intoexpo-modules-core
. Remove the original dependency. (#23249 by @alanhughes) (#23249 by @alanjhughes) - Use dedicated
requireOptionalNativeModule
instead of try-catchingrequireNativeModule
. (#24262 by @tsapeta) - Drop
crypto
usage on web. (#25411 by @EvanBacon)
- Fork
expo-crypto
expo-clipboard
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon)
- Ship untranspiled JSX to support custom handling of
expo-contacts
- Fork
[email protected]
and move intoexpo-modules-core
. Remove the original dependency. (#23249 by @alanhughes) (#23249 by @alanjhughes) - Renamed
unimodule.json
toexpo-module.config.json
. (#25100 by @reichhartd) - Migrated codebase to use Expo Modules API. (#24991 by @lukmccall)
- Fork
expo-file-system
- Fork
[email protected]
and move intoexpo-modules-core
. Remove the original dependency. (#23249 by @alanhughes) (#23249 by @alanjhughes) - Migrated to Swift and Expo Modules API on iOS. (#23943 by @tsapeta)
- Throw the correct error when we can't find the permissions modules. (#24464 by @alanhughes) (#24464 by @alanjhughes)
- Fork
expo-document-picker
- Remove deprecated fields and warning on
getDocumentAsync
. (#23135 by @alanjhughes)
- Remove deprecated fields and warning on
expo-face-detector
- Migrated codebase to use Expo Modules API. (#24994 by @lukmccall)
- Renamed
unimodule.json
toexpo-module.config.json
. (#25100 by @reichhartd)
expo-image-loader
- Renamed
unimodule.json
toexpo-module.config.json
. (#25100 by @reichhartd)
- Renamed
expo-font
- Change unloaded font error to a warning. (#23788 by @EvanBacon)
- Migrated
FontLoaderModule
to use Expo Modules API. (#24015 by @lukmccall) - Updated types for server functions. (#23911 by @EvanBacon)
expo-gl
- Migrated
GLObjectManagerModule
to use Expo Modules API. (#24017 by @lukmccall) - Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon) - Use
pointerEvent
style instead of prop for components 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)
- Bump C++ compiler setting to C++20. (#25548 by @kudo)
- Migrated
expo-image-manipulator
- [iOS] Replace legacy
FileSystem
interfaces usage with coreFileSystemUtilities
. (#25495 by @alanhughes) (#25495 by @alanjhughes)
- [iOS] Replace legacy
expo-keep-awake
- On Android, migrate to Expo Modules Api. (#24012 by @alanjhughes)
expo-image-picker
- On Android, restore behavior from #22658. (#23617 by @alanhughes) (#22658, #23617 by @alanjhughes) (#22658, #23617, #22658, #23617 by @alanjhughes, @alanjhughes)
- Remove deprecation warnings on
ImagePickerResult
. (#24226 by @alanjhughes)
expo-linear-gradient
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon)
- Ship untranspiled JSX to support custom handling of
expo-mail-composer
- Migrate to new standard
URL
support on native. (#24941 by @EvanBacon)
- Migrate to new standard
expo-local-authentication
- [Android] Migrate to use Expo Modules API. (#24083 by @lukmccall)
expo-location
- [Android] Moved to the new Modules API. (#24737 by @behenate)
- Remove
unimodule.json
in favour ofexpo-module.config.json
. (#25100 by @reichhartd)
expo-linking
- Reduce bundle size on web. (#24300 by @EvanBacon)
- Migrate to new standard
URL
support on native. (#24941 by @EvanBacon)
expo-localization
expo-modules-core
- Changed Objective-C names for
ExpoReactDelegate
andExpoReactDelegateHandler
to fix issues with versioning in Expo Go. (#23229 by @tsapeta) - Fork
[email protected]
and move intoexpo-modules-core
. Remove the original dependency. (#23249 by @alanhughes) (#23249 by @alanjhughes) - Improved error handling when working with native promises on Android. (#23571 by @lukmccall)
- Added tracing to avoid slow app startup on Android. (#23653 by @lukmccall)
- Use native UUIDv4 generation on
Android
andiOS
. (#24199 by @behenate) - [Android] Add type converter for the
ReadableArguments
class to allow backward compatibility with older modules. (#24137 by @lukmccall) - [Android]
SharedObjectTypeConverter
now can work with theDynamic
class. (#24207 by @lukmccall) - [Android] Expose a conversion between id and shared objects. (#24220 by @lukmccall)
- Remove deprecated
RCTDeviceEventEmitter
. (#24298 by @EvanBacon) - Remove
deprecate
utility function. (#24298 by @EvanBacon) - Deprecate
SyntheticPlatformEmitter
in favor ofDeviceEventEmitter
. (#24298 by @EvanBacon) - Introduced an AppContext config to provide things like documents and caches directories for the modules. (#24292 by @tsapeta)
- Fixed random
NullPointerExceptions
when callingUpdates.reloadAsync
on Android. (#24442 by @lukmccall) - Converting shared object id passed as a prop to the associated native object. (#24431 by @tsapeta)
- Added a convenient method to get the app delegate subscriber of the given type. (#23943 by @tsapeta)
- Improve tracking on Android. (#24625 by @lukmccall)
- Use native UUIDv5 generation on
Android
andiOS
. (#24200 by @behenate) - Ensure native modules are installed before required. (#24746 by @tsapeta)
- Clean up and restructure the modules core package directory. (#24816 by @tsapeta)
- Remove
unimodule.json
in favour ofexpo-module.config.json
. (#25100 by @reichhartd) - Remove deprecated
REACT_NATIVE_OVERRIDE_VERSION
for React Native nightly testing. (#25151 by @kudo) - Removed backward compatible code for deprecated SDKs. (#25154 by @kudo)
- [iOS] Made dynamic types creation faster. (#25390 by @tsapeta)
- [iOS] Add
FileSystemUtilities
to replace legacy interfaces. (#25495 by @alanhughes) (#25495 by @alanjhughes) - Bump C++ compiler setting to C++20. (#25548 by @kudo)
- Marked
NativeModulesProxy
as deprecated in favor ofrequireNativeModule
andrequireOptionalNativeModule
. (#25666 by @tsapeta)
- Changed Objective-C names for
expo-notifications
- Fork
[email protected]
and move intoexpo-modules-core
. Remove the original dependency. (#23249 by @alanhughes) (#23249 by @alanjhughes) - Remove legacy expo package notifications module code. (#24325 by @wschurman)
- Migrated codebase to use Expo Modules API. (#24499 by @lukmccall)
- Fork
expo-print
- Remove
unimodule.json
in favour ofexpo-module.config.json
. (#25100 by @reichhartd)
- Remove
expo-network
- Remove deprecated
getMacAddressAsync
method. (#24505 by @EvanBacon)
- Remove deprecated
expo-sensors
expo-secure-store
- Added a check for the
NSFaceIDUsageDescription
key in theset
function. (#23275 by @alanjhughes) - [Android] Enforce minimum authentication tag length for the
AESEncryptor
for improved security. (#25294 by @behenate)
- Added a check for the
expo-screen-orientation
expo-task-manager
- Transpile for Node 18 (LTS). (#24471 by @EvanBacon)
- Migrated codebase to use Expo Modules API. (#24157 by @lukmccall)
expo-speech
- Migrated Android codebase to use Expo modules API. (#23862 by @lukmccall)
expo-sharing
- [iOS] Replace legacy
FileSystem
interfaces usage with coreFileSystemUtilities
. (#25495 by @alanhughes) (#25495 by @alanjhughes)
- [iOS] Replace legacy
expo-video-thumbnails
- [iOS] Replace legacy
FileSystem
interfaces usage with coreFileSystemUtilities
. (#25495 by @alanhughes) (#25495 by @alanjhughes)
- [iOS] Replace legacy
expo-sqlite
- Remove unneeded resource bundle. (#23813 by @alanjhughes)
- Update
SQLite
onAndroid
. (#23993 by @alanjhughes) - [iOS] Bump
SQLite
version to latest. (#24375 by @alanjhughes) - [Android] Removed the package included SQLite source and download in build time. (#25186 by @kudo)
- Build
crsqlite
from source using the correct architectures. (#25363 by @alanjhughes) - [iOS] Replace legacy
FileSystem
interfaces usage with coreFileSystemUtilities
. (#25495 by @alanhughes) (#25495 by @alanjhughes) - Bump C++ compiler setting to C++20. (#25548 by @kudo)
unimodules-app-loader
- Renamed
unimodule.json
toexpo-module.config.json
. (#25100 by @reichhartd)
- Renamed
- Updated
@react-native-community/datetimepicker
from6.7.3
to7.2.0
. (#23034 by @gabrieldonadel) - Updated
@react-native-community/netinfo
from9.3.7
to9.3.10
. (#22892 by @douglowder) - Updated
@react-native-masked-view/masked-view
from0.2.8
to0.2.9
. (#22875 by @gabrieldonadel) - Updated
@react-native-picker/picker
from2.4.8
to2.4.10
. (#22919 by @keith-kurak) - Updated
@react-native-segmented-control/segmented-control
from2.4.0
to2.4.1
. (#22911 by @keith-kurak) - Updated
@shopify/flash-list
from1.4.0
to1.4.3
. (#22893 by @gabrieldonadel) - Updated
@shopify/react-native-skia
from0.1.172
to0.1.196
. (#22900, #23036, #23157 by @kudo) - Updated
lottie-react-native
from5.1.4
to5.1.6
. (#22868 by @alanjhughes) - Updated
react-native-gesture-handler
from2.10.1
to2.12.0
. (#22621 by @aleqsio) - Updated
react-native-maps
from1.3.2
to1.7.1
. (#22908 by @aleqsio) - Updated
react-native-pager-view
from6.1.2
to6.2.0
. (#22892 by @douglowder) - Updated
react-native-reanimated
from2.14.4
to3.3.0
. (#22907 by @kudo) - Updated
react-native-safe-area-context
from4.5.0
to4.6.3
. (#23026 by @tsapeta) - Updated
react-native-screens
from3.20.0
to3.22.0
. (#23022 by @tsapeta) - Updated
react-native-svg
from13.4.0
to13.9.0
. (#22934 by @alanjhughes) - Updated
react-native-view-shot
from3.5.0
to3.7.0
. (#23024 by @tsapeta)) - Updated
react-native-webview
from11.26.0
to13.2.2
. (#22913 by @aleqsio) expo-application
- Updated
robolectric
to4.10
andjunit
to4.13.2
. (#22395 by @josephyanks)
- Updated
expo-battery
- Updated
robolectric
to4.10
andjunit
to4.13.2
. (#22395 by @josephyanks)
- Updated
expo-clipboard
- Updated
robolectric
to4.10
. (#22395 by @josephyanks)
- Updated
expo-crypto
- Updated
robolectric
to4.10
andjunit
to4.13.2
. (#22395 by @josephyanks)
- Updated
expo-location
- Updated
com.google.android.gms:play-services-location
to21.0.1
andio.nlopez.smartlocation:library
to3.3.3
(#22468 by @josephyanks)
- Updated
expo-media-library
- Updated
robolectric
to4.10
. (#22395 by @josephyanks)
- Updated
expo-modules-core
- Updated
robolectric
to4.10
andjunit
to4.13.2
. (#22395 by @josephyanks)
- Updated
expo-sms
- Updated
robolectric
to4.10
andjunit
to4.13.2
. (#22395 by @josephyanks)
- Updated
expo-web-browser
- Updated
robolectric
to4.10
. (#22395 by @josephyanks)
- Updated
expo-blur
- Enable blurring by default when static rendering. (#23000 by @EvanBacon)
expo-face-detector
- Removed face detector from Expo Go on iOS. (https://expo.fyi/face-detector-removed). (#22619 by @aleqsio)
expo-gl
- Require explicit prop
enableExperimentalWorkletSupport
to use GLView from Reanimated worklet. (#22613 by @wkozyra95)
- Require explicit prop
expo-file-system
- Removed the deprecated
UploadProgressData.totalByteSent
field. (#22277 by @gabrieldonadel)
- Removed the deprecated
expo-linking
- Drop support for
detach.scheme
schemes (ExpoKit). (#22848 by @EvanBacon)
- Drop support for
expo-notifications
- Removed the deprecated
ExpoPushTokenOptions.experienceId
field. (#22303 by @gabrieldonadel)
- Removed the deprecated
expo-battery
- Added hooks
useBatteryLevel
,useBatteryState
,useLowPowerMode
, andusePowerState
. (#22646 by @Adam-Schlichtmann)
- Added hooks
expo-blur
expo-brightness
- Migrated Android to Expo Modules API. (#22037 by @alanjhughes)
expo-clipboard
- On iOS, added native
ClipboardPasteButton
view that usesUIPasteControl
. (#22823 by @alanjhughes)
- On iOS, added native
expo-device
- Added
deviceType
constant. (#21633 by @robertherber) - On iOS added support for deviceType detection of Desktop on MacOS, checking for Catalyst and iPad app running on Mac. (#21636 by @robertherber)
- Added
expo-document-picker
- Migrated to Expo Modules API. (#20336 by @alanhughes) (#20336 by @alanjhughes)
- Added support for picking multiple documents. (#20365 by @alanhughes) (#20365 by @alanjhughes)
expo-gl
expo-file-system
- Migrated Android codebase to use Expo modules API. (#22728 by @alanhughes) (#22728 by @alanjhughes)
expo-image-picker
- Added ability to choose the camera-facing type. (#22143 by @YoussefHenna)
- Added ability to choose the preferred asset representation mode on iOS 14+. (#22456 by @thespacemanatee)
- Updated the Android image picker to use a more streamlined and modern interface, closely resembling the one on iOS. #22658 by @fobos531
expo-localization
expo-media-library
expo-screen-capture
- On Android, migrated to Expo Modules API. (#22208 by @alanjhughes)
expo-sharing
- On iOS, switched from using
UIDocumentInteractionController
toUIActivityViewController
which provides more features. (#22012 by @alanjhughes)
- On iOS, switched from using
expo-modules-core
- [iOS] Introduced native functions on the native component instances. (#21746 by @tsapeta)
- View tag and React component ref can now be converted to an instance of the native view when used as a function's argument. (#21816 by @lukmccall, #21829 by @tsapeta) (#21816, #21829 by @lukmccall, @tsapeta)
- JavaScript functions can now be passed as an argument to a module method. (#21976 by @lukmccall, #22245 by @tsapeta) (#21976, #22245 by @lukmccall, @tsapeta)
- [iOS] Initializing and returning shared objects from the native side. (#22195 by @tsapeta)
- Added
ReactActivityHandler.getDelayLoadAppHandler
interface on Android. (#20273 by @kudo) - [iOS] Introduced shared refs – a way to pass native objects among different independent modules. (#22583 by @tsapeta)
- Added support for React Native 0.72. (#22588 by @kudo)
- Supported other network CDP types like
Image
andMedia
rather thanFetch
. (#23058 by @kudo)
expo-speech
- Migrated iOS codebase to use Expo modules API. (#21814 by @alanjhughes)
expo-print
expo-screen-orientation
expo-secure-store
- Migrated iOS codebase to use Expo modules API. (#21393 by @alanjhughes)
expo-sqlite
- Migrated to Expo Modules API. (#21721 by @alanjhughes)
- Migrated Android codebase to Expo Modules API. (#23115 by @alanjhughes)
- Added experimental
Promise
basedexecAsync
andtransactionAsync
functions. (#23109 by @kudo)
expo-application
expo-asset
- Fixed
@react-native/assets-registry
module not found issue on Web. (#21469 by @kudo) - Fixed monorepo asset resolution in production for Metro web. (#22094 by @EvanBacon)
- Fixed
expo-background-fetch
expo-barcode-scanner
- Fixed Android property name of BarCodeScannedEvent from boundingBox to bounds to match TypeScript definitions (#21384 by @frw)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- On Android, fixed an issue where certain text characters would not be recognised. (#23094 by @alanhughes) (#23094 by @alanjhughes)
expo-av
expo-battery
expo-blur
expo-brightness
expo-branch
expo-calendar
expo-cellular
expo-clipboard
expo-device
expo-document-picker
- Fixed cancellation type not being marked as a
Record
on Android. (#21588 by @alanjhughes) - Export all types from the module. (#22172 by @alanjhughes)
- Fix
copyToCacheDirectory
on iOS. (#23102 by @aleqsio) - Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- Fixed cancellation type not being marked as a
expo-camera
expo-contacts
expo-face-detector
expo-gl
- Fixed leaking GL context. (#21247 by @wkozyra95)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- Fix deadlock when creating and destroying GLViews in a quick succession. (#22484 by @wkozyra95)
- Move creating GL context for worklet to UI thread. (#22634 by @wkozyra95)
expo-file-system
expo-haptics
expo-image-loader
expo-crypto
expo-intent-launcher
- Fix attempting to import module on iOS. (#21185 by @alanjhughes)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
expo-image-picker
- Fix images unexpectedly being converted to
.png
when opening.bmp
files and selecting any quality inImagePickerOptions
. (#21361 by @behenate) - Fix issue where the array of permissions could end up empty causing an exception. (#21589 by @alanhughes) (#21589 by @alanjhughes)
- Fix rotated videos returning incorrect width/height. #12573 (#21758 by @mmmulani)
- Fix NullPointerException for launchCameraAsync on Android 13. (#22123 by @witheroux)
- [Android] Fix image picker returning inverted dimensions when selecting vertical images without editing. (#22383 by @behenate)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- Fixed an issue that allowed picking non-image/video files when passing
MediaTypeOptions.All
(#22606 by @fobos531) - Fix manifest merger build fail on Android. (#23191 by @alexandrius)
- [Android] Fix backported photo picker crashing with null intent. (#23224 by @thespacemanatee)
- Fix images unexpectedly being converted to
expo-constants
expo-keep-awake
expo-font
- Fix require cycle on web. (#21593 by @EvanBacon)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
expo-mail-composer
expo-location
expo-local-authentication
- On iOS, fix incorrect nil check when checking for
NSFaceIDUsageDescription
in the Info.plist. (#21500 by @alanjhughes) - [Android] Fixed device credentials fallback when biometric sensors are unavailable (#22388 by @hubastard)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- On iOS, fix incorrect nil check when checking for
expo-localization
- Fixed invalid timezone returned for
getCalendars
on Web. (#22003 by @aleqsio) - Fixed errors thrown on Play Console pre-launch report. (#22003 by @aleqsio)
- User settings for delimiters and other locale preferences now override default locale settings for each locale in the list. (#22763 by @aleqsio)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- Fixed invalid timezone returned for
expo-linear-gradient
expo-media-library
- Fix saving animated GIFs on iOS. (#21549 by @desi-ivanov)
- Fixed missing permissions error on Android when the user only requests write permissions (#22457 by @alanjhughes)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
expo-random
expo-notifications
expo-screen-capture
expo-sharing
- On iOS, fixed an issue where file permissions were not checked correctly. (#22112 by @alanjhughes)
- On iOS, fix crash when share menu is presented on iPad. (#22193 by @alanjhughes)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
expo-modules-core
- [iOS] Fixed convertible implementation for
URL
type to support unencoded UTF8 urls and file paths. (#21139 by @tsapeta) - Fixed AppDelegateSubscriber broken when running on iOS dynamic framework or static framework mode. (#21206 by @kudo)
- [iOS] Fixed URI with encoded
#
getting cut off. (#21326 by @lukmccall) - [Android] Fail gracefully when the view cannot be constructed due to the missing activity. (#21328 by @lukmccall)
- [iOS] Fixed jsc import when using use_frameworks (#21479 by @gabrieldonadel)
- [Android] Fixed coroutine functions crashing when invoked with more than 1 argument. (#21635 by @lukmccall)
- [iOS] Fix automatic percent-encoding when converting to the
URL
object. (#21569 by @tsapeta) - [Android] Fixed
ReadableNativeMap
cannot be cast to theRecord
. (#21773 by @lukmccall) - [Android] Improve the initial loading speed of the native view. (#22153 by @lukmccall)
- Fixed build errors on React Native 0.72.x. (#22170, #22189 by @kudo)
- [Android] Fixed argument trailing not working correctly when all parameters are optional. (#22293 by @lukmccall)
- Fixed passing
JavaScriptObject
argument and view props. (#22427 by @lukmccall) - Fix failing instrumentation tests in JavaScriptViewModule. (#22518 by @aleqsio)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- [Android] Fix the
Color
converter doesn't work on devices with SDK version below 26. (#22191 by @lukmccall) - Refactored network inspector code and add unit tests. (#22669, #22693 by @kudo)
- Fix the
View cannot be cast to ViewGroup
exception on Android. (#23264 by @lukmccall) - Improved the OkHttp network inspector stability on Android. (#23350 by @kudo)
- [iOS] Fix conversion to
URL
type that failed despite receiving a string that contained a valid URL. (#23331 by @alanhughes) (#23331 by @alanjhughes) - Fixed the Network Inspector cannot preview response body for response without the
Content-Length
header. (#23405 by @kudo) - Fixed
SoLoader
does not work on Android. (#23415 by @kudo) - Fixed slower boot time on Android. (#23345 by @lukmccall)
- Fixed regressions and crashes in the dev client introduced by #23405. (#23491 by @kudo) (#23405, #23491 by @kudo)
- [iOS] Fixed convertible implementation for
expo-network
expo-sensors
expo-speech
expo-permissions
expo-print
- Fixed Multiple Print Bug on iOS 16. (#21561 by @behenate)
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- Fixed a regression after refactoring to Swift (restore functionality to print from web url or data string). (#22997 by @mroswald, @behenate)
- Fixed missing constants on iOS, restricted possibility of starting multiple print jobs at once, which would lead to crashes. (#23128 by @behenate)
expo-screen-orientation
- Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)
- [iOS] Fixed screen orientation on iOS 16. (#22152 by @behenate)
- [iOS] Fixed status bar and navigation bar following the device's orientation regardless of applied orientation lock. (#22152 by @behenate)
- [iOS] Fixed SafeAreaViews failing after pulling down quick settings when the device is in a different orientation than the current orientation lock allows. (#22152 by @behenate)
- [iOS] Fix crash when reading
rootViewController
value. (#23039 by @gabrieldonadel) - [iOS] When config plugin is not configured the initial orientation is now based on values in
Info.plist
instead of being set to portrait. (#23456 by @behenate)
expo-image-manipulator
expo-secure-store
expo-store-review
expo-sms
expo-sqlite
expo-task-manager
expo-video-thumbnails
unimodules-app-loader
expo-web-browser
expo-camera
- Resolved an issue on Android where recording a video, even with the mute: true option, would still result in an audio permission exception. Furthermore, the mute flag was incorrectly referred to as muteValue, causing it to be consistently ignored (#23145 by @hirbod)
- Fix crash when onBarCodeScanned or onFacesDetected callback is removed. (#23223 by @thespacemanatee)
- Removed the
Remote JS debugger
option from Expo Go menu when using SDK 49 or above. (#22027 by @gabrieldonadel)
expo-barcode-scanner
- [Android] Replace dependency on deprecated
com.google.android.gms:play-services-vision
withcom.google.mlkit:barcode-scanning
. (#22107 by @toshiyuki-suzuki-yukashikado) - Update snapshots. (#23238 by @gabrieldonadel)
- [Android] Replace dependency on deprecated
expo-auth-session
- Deprecated
useProxy
option. (#21313 by @gabrieldonadel) - Replaced references of
makeRedirectUriAsync
withmakeRedirectUri
. (#21314 by @gabrieldonadel) - Added deprecation warning to
promptAsync
when theuseProxy
option is used. (#21367 by @gabrieldonadel) - Warn on use of Constants.manifest. (#22247 by @wschurman)
- Remove all auth proxy APIs. (#22834 by @alanhughes) (#22834 by @alanjhughes)
- Remove references to
startAsync
from js doc. (#23150 by @alanhughes) (#23150 by @alanjhughes) - Remove unnecessary test. (#23154 by @alanhughes) (#23154 by @alanjhughes)
- Deprecated
expo-calendar
expo-document-picker
- Remove deprecated fields and warning on
getDocumentAsync
. (#23135 by @alanjhughes)
- Remove deprecated fields and warning on
expo-gl
- Remove legacy code for old Expo Go. (#21247 by @wkozyra95)
expo-file-system
expo-crypto
- Set the missing return type of
randomUUID
method. (#21187 by @KiwiKilian)
- Set the missing return type of
expo-constants
- Warn on use of Constants.manifest. (#22247 by @wschurman)
- Remove the long-deprecated
Constants.deviceYearClass
andConstants.platform.ios.model
. These properties now live onexpo-device
. (#23068 by @brentvatne)
expo-linking
- Warn on use of Constants.manifest. (#22247 by @wschurman)
expo-mail-composer
- Migrated Android codebase to use the new modules API. (#21200 by @alanjhughes)
expo-location
- On Android, removed use of deprecated
LocationRequest
constructor and replaced withLocationRequest.Builder
. (#22653 by @alanjhughes) - Removed the Geocoding API service. (#22830 by @alanjhughes)
- On Android, removed use of deprecated
expo-notifications
- Update fixtures. (#21397 by @EvanBacon)
- Warn on use of Constants.manifest. (#22247 by @wschurman)
expo-screen-capture
expo-modules-core
- [Android] Made
fallbackCallback
optional in theregisterForActivityResult
method. (#21661 by @lukmccall) - [iOS] Removed the legacy implementation of view managers. (#21760 by @tsapeta)
- [iOS] Passed the app context instance down to dynamic types, object builders and convertibles. (#21819 by @tsapeta)
- [iOS] Use
jsi::WeakObject
for weak objects on Hermes. (#21986 by @tsapeta) - [iOS] Removed legacyViewManager references from ExpoFabricView. (#22089 by @gabrieldonadel)
- [iOS] Dropped
proxiedProperties
prop. (#22280 by @tsapeta) - Made
JavaScriptValue.kind
public. (#22386 by @lukmccall) - Updated
androidx.activity:activity-ktx
to1.7.1
andandroidx.fragment:fragment-ktx
to1.5.7
#22658 by @fobos531 - [iOS] Added Interface Geometry Management section to ExpoAppDelegate. (#22599 by @behenate)
- Changed Objective-C names for
ExpoReactDelegate
andExpoReactDelegateHandler
to fix issues with versioning in Expo Go. (#23229 by @tsapeta)
- [Android] Made
expo-screen-orientation
expo-secure-store
- Added automatic invalidated key handling on Android. (#22716 by @behenate)
- Added a check for the
NSFaceIDUsageDescription
key in theset
function. (#23275 by @alanjhughes)
expo-task-manager
- Update
defineTask
to accept type arguments. (#21958 by @kazuma0129)
- Update
- Updated
@stripe/stripe-react-native
from0.19.0
to0.23.3
. (#20964 by @aleqsio, #21117 by @kudo) - Updated
react-native-webview
from11.23.1
to11.26.0
. (#20933 by @aleqsio) - Updated
react-native-gesture-handler
from2.8.0
to2.9.0
. (#20930 by @tsapeta) - Updated
react-native-shared-element
from0.8.4
to0.8.7
. (#20593 by @ijzerenhein) - Updated
@react-native-async-storage/async-storage
from1.17.3
to1.17.11
. (#20780 by @kudo) - Updated
react-native-reanimated
from2.12.0
to2.14.4
. (#20798 by @kudo, #20990 by @tsapeta) - Updated
@shopify/react-native-skia
from0.1.157
to0.1.172
. (#20857, #21014 by @kudo) - Updated
react-native-safe-area-context
from4.4.1
to4.5.0
. (#20899 by @gabrieldonadel) - Updated
react-native-screens
from3.18.0
to3.20.0
. (#20938 by @lukmccall, #21186 by @tsapeta) - Updated
react-native-pager-view
from6.0.1
to6.1.2
. (#20932 by @gabrieldonadel) - Updated
@react-native-community/slider
from4.2.4
to4.4.2
. (#20903 by @gabrieldonadel, #21055 by @kudo) - Updated
react-native-shared-element
from0.8.7
to0.8.8
. (#20929 by @byCedric) - Updated
@react-native-community/datetimepicker
from6.5.2
to6.7.3
. (#20926 by @byCedric) - Updated
@shopify/flash-list
from1.3.1
to1.4.0
. (#20927 by @lukmccall)
expo-contacts
expo-keep-awake
KeepAwake.activateKeepAwake
has been deprecated in favor ofKeepAwake.activateKeepAwakeAsync
. (#15826 by @EvanBacon)
expo-linking
expo-apple-authentication
expo-av
expo-barcode-scanner
- Native module for barcode scanner view is now written in Swift and Kotlin using the new API. (#20441 and (#20668 by @alanjhughes) (#20441, #20668 by @alanjhughes)
expo-blur
expo-brightness
- Migrated iOS codebase to use the new Expo modules API. (#20316 by @alanhughes) (#20316 by @alanjhughes)
expo-constants
- Migrated Android implementation to Expo Modules API. (#19974 by @alanhughes) (#19974 by @alanjhughes)
expo-crypto
- Added a
randomUUID
method to get a random UUIDv4 string. (#20274 by @aleqsio) - Added a
getRandomValues
method to fill typed arrays. (#20257 by @aleqsio) - Ported over
getRandomBytes
,getRandomBytesAsync
methods fromexpo-random
. (#20217 by @aleqsio) - Added a
digest
method to get a cryptographic digest of a typed array. (#20886 by @aleqsio)
- Added a
expo-device
- Migrated Android codebase to use the new Expo modules API. (#20118 by @alanhughes) (#20118 by @alanjhughes)
- Native module on iOS is now written in Swift using the Sweet API. (#19526 by @fobos531)
expo-document-picker
- Migrated to Expo Modules API. (#20336 by @alanhughes) (#20336 by @alanjhughes)
expo-gl
- Migrated the view manager to the new Expo modules API and thus added support for Fabric. (#19859 by @tsapeta)
- Migrated the view manager to the new Expo modules API and thus added support for Fabric on Android. (#20749 by @lukmccall)
expo-haptics
- Migrated Android codebase to use the new Expo modules API. (#20016 by @alanhughes) (#20016 by @alanjhughes)
expo-keep-awake
- Added web support. (#15826 by @EvanBacon)
- Added
KeepAwake.isAvailableAsync
which returns false on certain web browsers. (#15826 by @EvanBacon) - Added
KeepAwake.addListener
to observe state changes on web. (#15826 by @EvanBacon)
expo-intent-launcher
- Migrated to Expo Modules API. (#20327 by @alanhughes) (#20327 by @alanjhughes)
expo-local-authentication
expo-image-picker
- Add support for granular permissions on Android 13. (#20908 by @alanhughes) (#20908 by @alanjhughes)
expo-media-library
- Migrated Android codebase to use the new Expo modules API. (#20232 by @alanhughes) (#20232 by @alanjhughes)
- Add support for granular permissions on Android 13. (#20907 by @alanhughes) (#20907 by @alanjhughes)
expo-modules-core
- Added TS definitions for
TypedArray
and additional union types for Int, Uint and Float TypedArrays. (#20257 by @aleqsio) - Added a new
executeOnJavaScriptThread
method toappContext
to allow for running code blocks on the JS thread. (#20161 by @aleqsio) - Added the
Exceptions.MissingActivity
on Android. (#20174 by @lukmccall) - Trailing optional arguments can be skipped when calling native functions from JavaScript on iOS. (#20234 by @tsapeta)
Events
component can now be initialized with an array of event names (not only variadic arguments). (#20590 by @tsapeta)Property
component can now take the native shared object instance as the first argument. (#20608 by @tsapeta)- Added support for referencing to
Property
's owner properties using Swift key paths. (#20610 by @tsapeta) - Added support for concurrent (async/await) functions in Swift. (#20645 by @tsapeta)
- [iOS] Added experimental support for building the function result from the object definition. (#20623 by @tsapeta)
- View-related DSL functions do not require providing the view's type in function parameters on Android. (#20751 by @lukmccall)
- Add support for the
Long
type as function parameters on Android. (#20787 by @lukmccall) - [Android] Added experimental support for building the function result from the object definition. (#20864 by @lukmccall)
- Removed boost dependency which needs extra downloading on Android. (#21000 by @kudo)
- Added TS definitions for
expo-network
- Migrated to Expo Modules API. (#20083 and #20303 by @alanhughes) (#20083, #20303 by @alanjhughes)
expo-sharing
- Migrated Android implementation to Expo Modules API. (#20112 by @alanhughes) (#20112 by @alanjhughes)
expo-sms
- Migrated to Expo Modules API. (#19996 and (#19967 by @alanhughes) (#19996, #19967 by @alanjhughes)
expo-store-review
- Migrated Android implementation to Expo Modules API. (#19898 by @alanhughes) (#19898 by @alanjhughes)
expo-speech
- Added utterance word tracking support for iOS and Android. This allows the ability to highlight each word in an utterance. (#20726 by @gabrieljoelc)
expo-video-thumbnails
- Native module on iOS is now written in Swift using the Sweet API. (#19561 by @fobos531)
- Migrated Android codebase to use the new Expo modules API. (#20541 by @alanhughes) (#20541 by @alanjhughes)
expo-asset
- Fix loading Metro web assets from origins other than
/
. (#20258 by @EvanBacon)
- Fix loading Metro web assets from origins other than
expo-av
- Fixed error for duplicated META-INF files when building on Android. (#20251 by @kudo)
- 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)
- Fixed
HTMLMediaElement.play
andHTMLMediaElement.pause
calls on the Web aren't properly awaited. (#20439) by @zhigang1992 (#20439 by @zhigang1992) - Added support for React Native 0.71.x. (#20799 #20832 by @kudo) (#20799, #20832 by @kudo)
- Fixed JSI audio sampling buffer issues when using
SimpleExoPlayer
implementation on Android. (#21055 by @kudo)
expo-barcode-scanner
expo-blur
- Add
-webkit-backdrop-filter
to support blurring on Safari. (#21003 by @EvanBacon)
- Add
expo-clipboard
- Fixed clipboard listener is called twice on Android. (#19723 by @lukmccall)
- Fixed clipboard listener can crash the application during initialization on Android. (#19723 by @lukmccall)
- Fixed the
ImageFormat
or theStringFormat
not working in the release builds on Android. (#20155 by @lukmccall)
expo-constants
- Fix the list of platform keys in expo-module.config.json (#20017 by @alanjhughes)
expo-camera
- Fix import issue on case-sensitive file systems (#20141 by @hirbod)
- Fix path where simulator saves photos (#20872 by @pettomartino)
- Fixed
Cannot set prop 'barCodeScannerSettings' on view 'class expo.modules.camera.ExpoCameraView'
on Android. (#21033 by @lukmccall)
expo-file-system
- Add utf-8 uri support on iOS. (#21098 by @gabrieldonadel)
expo-gl
expo-haptics
- Fixed rare crash on iOS when using Feedback Generator's API not on the main thread. (#19819 by @AntonGolikov)
expo-image-picker
expo-mail-composer
- Fix
composeAsync
not resolving promise after sending/ discarding email. (#20869 by @keith-kurak)
- Fix
expo-media-library
- Renamed the module on iOS to match the name used on Android. (#20283 by @alanhughes) (#20283 by @alanjhughes)
expo-modules-core
- Added a list of the acceptable enum values to the conversion error on Android. (#19895 by @lukmccall)
- Fixed
new NativeEventEmitter() was called with a non-null argument without the required addListener method.
warnings on Android with JSC. (#19920 by @kudo) - Fixed views are not correctly initialized after reloading on Android. (#20063 by @lukmccall)
- Fixed threading crash issue when running with Hermes on iOS. (#20506 by @kudo)
- Fixed build errors when testing on React Native nightly builds. (#19805 by @kudo)
- Fixed failed resolution of 'java.nio.file.Path' on Android. (#20037 by @lukmccall)
- Fixed libraries using the
ViewDefinitionBuilder
crashes when ProGuard or R8 is enabled on Android. (#20197 by @lukmccall) - Fixed Either types not supporting non-primitive types on iOS. (#20247 by @tsapeta)
- Fixed Function not supporting certain arities on Android. (#20419 by @motiz88)
- Added React Native 0.71 support. (#20470 by @kudo)
- Fixed the
SharedObject
initializer being inaccessible due tointernal
protection level. (#20588 by @tsapeta) - Fixed boost build error on Android. (#20719 by @kudo)
- Fix view prop setter not being called when its new value is
null
orundefined
. (#20755 & #20766 by @tsapeta & @lukmccall) (#20755, #20766 by @tsapeta, @lukmccall) - Fixed "Tried to register two views with the same name" error on fast refresh. (#20788 by @tsapeta)
- Fix crash when reloading app while expo-av video is playing. (#21118 by @janicduplessis)
expo-location
- Removed strict null checks for expo location and avoid crash on android. (#20792 by @jayshah123 and @forki) (#20792 by @jayshah123, @forki)
- Export types with type-only annotation to fix build when using
isolatedModules
flag. (#20239 by @zakharchenkoAndrii)
expo-print
- Fix
printAsync
not reflecting custom width/ height,useMarkupFormatter
option preventing custom width/ height/ margin from being reflected. (#18873 by @keith-kurak) (#20046 by)
- Fix
expo-sensors
- Export types with type-only annotation to fix build when using
isolatedModules
flag. (#20239 by @zakharchenkoAndrii)
- Export types with type-only annotation to fix build when using
expo-web-browser
- Add missing peer dependency on
url
for web. (#20708 by @EvanBacon)
- Add missing peer dependency on
expo-asset
- Remove unused web features. (#20258 by @EvanBacon)
expo-application
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-auth-session
- Removed usage of the deprecated
expo-random
package. (#21063 by @lukmccall)
- Removed usage of the deprecated
expo-background-fetch
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-av
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-barcode-scanner
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-branch
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-brightness
- Deprecate
useSystemBrightnessAsync
and add it as renamedrestoreSystemBrightnessAsync
method to avoid violating Rules of Hooks. (#19701 by @Simek) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- Deprecate
expo-cellular
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-calendar
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-clipboard
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-constants
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-contacts
- Simplify exported types. (#20269 by @Simek)
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
expo-crypto
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-battery
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-device
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-document-picker
- Avoid dependency on
uuid
. (#20477 by @LinusU) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- Avoid dependency on
expo-camera
- Use correct type for
videoStabilizationMode
option. (#20130 by @simek) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- Use correct type for
expo-error-recovery
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-file-system
- Extract nested object definitions to the separate types, which adds:
DeletingOptions
,InfoOptions
,RelocatingOptions
andMakeDirectoryOptions
types. (#20103 by @Simek) - Simplify the way in which types are exported from the package. (#20103 by @Simek)
- Rename
UploadProgressData
totalByteSent
field tototalBytesSent
. (#20804 by @gabrieldonadel) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- Extract nested object definitions to the separate types, which adds:
expo-font
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-face-detector
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-gl
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-haptics
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-image-manipulator
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-image-loader
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-keep-awake
- Define
KeepAwakeOptions
type, update the doc comments. (#20489 by @Simek) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- Define
expo-linear-gradient
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-intent-launcher
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-local-authentication
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-linking
- Fix link in README that was incorrectly pointing to to expo-asset. (#20616 by @stereoplegic)
expo-image-picker
- Avoid dependency on
uuid
. (#20476 by @LinusU) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- Avoid dependency on
expo-localization
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-mail-composer
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-media-library
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-modules-core
- Exposed coroutines related packages on Android. (#19896 by @lukmccall)
- Rephrased the message of
ArgumentCastException
to use ordinal numbers. (#19912 by @tsapeta) - [iOS] Make
Enumerable
protocol implementCaseIterable
to get rid of operating on unsafe pointers. (#20640 by @tsapeta) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
expo-location
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-network
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-print
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-random
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-permissions
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-screen-capture
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-notifications
- Update
getExpoPushTokenAsync
to makeprojectId
required. (#20833 by @gabrieldonadel) - On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall) - Add JSDoc comments, perform type changes related to documentation autogeneration. (#21002 by @Simek)
- Export
getExpoPushTokenAsync
parameter type. (#21104 by @Simek)
- Update
expo-sharing
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-screen-orientation
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-sms
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-sensors
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-store-review
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-secure-store
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-speech
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-sqlite
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-task-manager
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-video-thumbnails
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-web-browser
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
unimodules-app-loader
- On Android bump
compileSdkVersion
andtargetSdkVersion
to33
. (#20721 by @lukmccall)
- On Android bump
expo-image-picker
expo-random
For changelog entries prior to SDK 47, refer to: https://github.com/expo/expo/blob/ff35557463c0db1cf8683939d752c59baf127f21/CHANGELOG.md#L323