NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3185 most downloaded on npm
Types for the Expo config object app.config.ts
Last release today
16 Sep 2026
Ships fairly regularly
a new release about every 9 days
Rarely documented
notes for 11 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
257 releases · first in 2020
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
…to load full EXIF data for images. This is a breaking change for Android apps, as it might break the orientation of images in some cases. (#37957 by @…
expo-sqlite
expo-camera
expo-notifications
expo-media-library
expo-intent-launcher
expo-image-picker
uri to use blob URLs instead of base64 data URLs for better performance. The uri property will now be a blob URL instead of a base64 data URL, while the base64 property behavior remains unchanged. (#37447 by @hirbod)preferredAssetRepresentationMode is now .current instead of .automatic. This keeps the asset in its original container/codec (e.g. HEIC instead of JPEG) and is required for the new fast-path. Apps that relied on .automatic re-encoded output can pass preferredAssetRepresentationMode: '.automatic' to restore the old behaviour. (#37569 by @hirbod)expo-font
expo-file-system
expo-document-picker
unimodules-app-loader
expo-web-browser
expo-video-thumbnails
expo-task-manager
expo-sqlite
loadExtensionAsync / loadExtensionSync APIs and pre-bundled sqlite-vec extension. (#38693 by @kudo)expo-sqlite/localStorage/install for localStorage drop-in replacement API. (#38699 by @kudo)expo-speech
expo-screen-capture
useScreenshotListener hook. (#37411 by @hryhoriiK97)expo-modules-core
rgb color conversions. (#36914 by @alanjhughes)testID support to ExpoComposeView. (#38005 by @mateoguzmana)ValueOrUndefined. (#38620 by @lukmccall)ValueOrUndefined. (#39116 by @lukmccall)disableForceFlatten prop to control flattening of display contents views. (#39262 by @nishan) (#39262 by @intergalacticspacehighway)appContext.jsLogger. (#39159 by @behenate)expo-media-library
expo-localization
supportedLocales option to set app language from settings (#37232 by @alextoudic)expo-local-authentication
promptSubtitle and promptDescription parameters to authenticateAsync. (#35335 by @filipejuan)expo-image-manipulator
expo-intent-launcher
expo-image-picker
shape option to customize the shape of the crop zone (#38148) by @janicduplessis (#38148 by @janicduplessis)expo-font
expo-image-loader
expo-file-system
rename method for files and directories (#39138 by @kosmydel)idempotent option for creating directories (#39121 by @kosmydel)pickFileAsync support (#39173 by @kosmydel)pickDirectoryAsync support (#39210 by @kosmydel)expo-document-picker
expo-contacts
addContactsChangeListener() to detect contact changes with platform-specific behavior. . (#39434 by @hryhoriiK97)expo-calendar
expo-camera
expo-auth-session
rawResponse to TokenResponse, allows reading fields that are not part of RFC 6749. (#20284 by @stefan-schweiger)expo-asset
expo-task-manager
expo-sqlite
Statement.executeAsync. (#36674 by @kudo)SQLiteProvider with same options. (#37872 by @kudo):memory: path issue when building on Xcode 26. (#39511 by @kudo)expo-speech
expo-secure-store
expo-screen-orientation
Split View on iPad. (#36667 by @alanjhughes)createRootViewController from the ExpoReactNativeFactoryDelegate. (#36787 by @alanjhughes)expo-screen-capture
expo-print
expo-notifications
getLastNotificationResponseAsync does not return null when no response listener added (#36930 by @jmysliv)expo-notifications (#37833 by @chrfalch)setBadgeCountAsync(0) also cleared notifications (#39009 by @vonovak)TextInputNotificationResponse events (#39356 by @vonovak)setNotificationCategoryAsync (#39306 by @vonovak)expo-modules-core
extraMavenRepos not applied on Gradle subprojects. (#36500 by @lukmccall)getSharedObjectId for devices running android 7 and below. (#36698 by @lukmccall)XMLHttpRequest when network inspector is enabled. (#36715 by @kudo)createRootViewController from the ExpoReactNativeFactoryDelegate. (#36787 by @alanjhughes)Value is undefined, expected an Object in the JNIUtils::emitEventOnJSIObject. (#37778 by @lukmccall)ExpoRequestInterceptorProtocol to properly notify client about HTTP redirects. (#38078 by @kudo)RuntimeHolder bindings. (#38345 by @alanjhughes)SharedRef converter. (#39446 by @lukmccall)JNI detected error in application: obj == null in ExpoModulesHostObject::get. (#39523 by @lukmccall)expo-media-library
deleteAssetsAsync not working on android 11 or above (#33211 by @Zeeshan404)expo-location
shouldUseForegroundService being always true. (#35875 by @filipef101)expo-linking
createURL double-encodes URI parameters. (#36704 by @lukmccall)expo-mail-composer
expo-image-manipulator
expo-image-picker
expo-font
getLoadedFonts returns an empty array. (#36586 by @brentvatne)expo-gl
expo-file-system
UploadTask.uploadAsync method's return type did not indicate that the method could resolve to null. (#36476 by @DoctorJohn)textSync() to return string instead of Promise<string> (#38898 by @LeonDvlpmnt)expo-document-picker
expo-contacts
Contact.id required for updateContactAsync (#36603 by @NorseGaud)updateContactAsync() removing contact rawDates / birthday (#37054 by @NorseGaudCNContactViewController presentation (#39004 by @vonovak)instantMessageAddresses on iOS (#38985 by @hryhoriiK97)expo-constants
expo-calendar
expo-camera
PictureRef objects.(#37393 by @alanjhughes)launchScanner. (#38322 by @alanjhughes)videoQuality and pictureSize affecting modes they don't apply too. (#38757 by @alanjhughes)onDetachedFromWindow. (#39119 by @alanjhughes)expo-blur
expo-background-fetch
expo-av
expo-auth-session
expo-asset
expo-video-thumbnails
expo-task-manager
expo-sqlite
kv-store. (#36669 by @kudo)maybeFinalizeAllStatements throwing exceptions. (#36843 by @kudo)loadExtensionAsync() and loadExtensionSync(). (#38905 by @kudo)expo-speech
expo-sharing
expo-secure-store
expo-sensors
expo-screen-capture
expo-print
expo-notifications
typescript@5.9 (#38833 by @kitten)expo-modules-core
@expo/ui/swift-ui-primitives integrations. (#36937 by @kudo)ExpoComposeView to support virtual view. (#36255 by @kudo)react and react-native (#38528 by @kitten)Constants in favor of Constant and Property. (#38748 by @jakex7)ExpoGlobal with namespace and to preserve type+value overlay on re-exported core globals (#38649 by @kitten)JavaScriptValue and added props.globalEventDispatcher for expo-ui. (#38542 by @kudo)appContext to ExpoSwiftUI.ViewProps. (#39231 by @kudo)requireOptionalNativeModule will now catch errors which occur while requiring a module. (#39290 by @behenate)Color convertible support without passing AppContext. (#39183 by @aleqsio)FileSystemUtilities (#39210 by @kosmydel)kotlin.reflect.full.*. (#39385 by @lukmccall)expo-media-library
expo-local-authentication
expo-keep-awake
expo-location
expo-linking
useURL in favor of useLinkingURL. (#37005 by @aleqsio)expo-image-manipulator
expo-image-picker
quality: 1, allowsEditing: false and preferredAssetRepresentationMode: .current (new default) (#37569 by @hirbod)VideoExportPreset.Passthrough are no longer transcoded and are copied only once. (#37569 by @hirbod)expo-font
expo-gl
react-dom and react-native-reanimated peer dependencies (#38569 by @kitten)findDOMNode usage. (#38800 by @alanjhughes)expo-file-system
expo-document-picker
expo-device
expo-clipboard
expo-contacts
FileSystemUtilities (#39210 by @kosmydel)expo-cellular
expo-constants
expo-camera
createCamera a suspend function. (#37038 by @alanjhughes)typescript@5.9 (#38833 by @kitten)expo-battery
expo-background-fetch
expo-av
expo-auth-session
expo-asset
expo-application
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Introduced ReactNativeFeatureFlags compat to fix React Native 0.77 breaking changes. (#33077 by @kudo)
@shopify/flash-list from 1.7.1 to 1.7.6. (#34635 by @chrfalch, #35699 by @jakex7)react-native-screens from 4.9.0 to 4.9.2. (#35702 by @jakex7)react-native-web from ~0.19.13 to ~0.20.0. (#35891 by @brentvatne)expo-sqlite
expo-notifications
DateTriggerInput to only accept an object (#33551 by @vonovak)UNNotificationPresentationOptions, deprecate shouldShowAlert (#36361 by @vonovak)expo-modules-core
expo-local-authentication
expo-keep-awake
expo-file-system
expo-gl
expo-font
expo-crypto
expo-constants
expo-asset
expo-web-browser
expo-sharing
expo-sqlite
expo-secure-store
expo-print
expo-notifications
expo-modules-core
long values in arrays and maps (#35446 by @vonovak)UnwrappedChildren for nested SwiftUI views. (#34954 by @andrew-levy)SharedObjects from a Promise. (#34655 by @alanjhughes)expo-media-library
expo-mail-composer
expo-linking
expo-intent-launcher
openApplication to open an application by its package name. (#25468 by @reichhartd)getApplicationIconAsync to retrieve the icon of an application by its package name. (#25468 by @reichhartd)expo-localization
expo-image-picker
expo-haptics
performAndroidHapticsAsync(). The Vibrator api is no longer recommended. This method avoids it. (#34077 by @alanjhughes)expo-file-system
expo-document-picker
com.apple.developer.ubiquity-kvstore-identifier entitlement directly. (#34338 by @keith-kurak)expo-font
react-server environment. (#34736 by @EvanBacon)expo-contacts
presentAccessPickerAsync function that presents the iOS 18.0+ picker for limited contacts access. (#33771 by @tsapeta)ContactAccessButton from SwiftUI. (#33782 by @tsapeta)limited permission status from granted. (#35772 by @clarkg)expo-calendar
getRemindersAsync (#33264 by @TomAtterton)expo-camera
videoBitrate prop to allow setting the bitrate used when recording a video. (#33087 by @alanjhughes)Google Code Scanner, similar to the DataScannerViewController used on iOS. (#33347 by @alanjhughes)expo-asset
expo-apple-authentication
formatFullName method to format tokenized full name object into a local-aware string representation (#32567 by @Armster15)expo-web-browser
openBrowserAsync doesn't surface exceptions. (#36182 by @lukmccall)expo-video-thumbnails
expo-task-manager
expo-store-review
expo-sqlite
exports in the package.json. (#32780 by @alanjhughes)sqlite3_next_stmt and prevented uncaught statements from leaking. #34992 by @Bowlerr)expo-sqlite/kv-store async API not being well handled when using AsyncStorage compatible api (#33847 by @rtorrente)database is locked error from parallel kv-store operations. (#33834 by @kudo)database is locked error while using kv-store multiGet function. (#33873 by @rtorrente)syncLibSQL return type. (#35804 by @kudo)libc++_shared.so on Android. (#35298 by @kudo)expo-sensors
getPermissionsAsync and requestPermissionsAsync implementations to native DeviceMotion modules. (#33719 by @ratley)getOrientation when the currentActivity is not available. (#36369 by @alanjhughes)expo-screen-orientation
expo-network
Android, Prevent crash from the networkCallback calling fetchNetworkState. (#33563 by @alanjhughes)netInfo null check. (#33559) by @pchalupa (#33559 by @pchalupa)expo-notifications
ChannelAwareTrigger (#33354 by @alextoudic)getExpoPushTokenAsync (#33359 by @bradjones1)NotificationContent not containing JSON data object (#35942 by @vonovak)CalendarTriggerRecord (#35937 by @vonovak)presentNotificationAsync (#35900 by @vonovak)null trigger on iOS (#35672 by @vonovak)useLastNotificationResponse return value behavior (#35504 by @vonovak)EXNotifications-Swift.h import. (#34987 by @lukmccall)addTokenListener until OnCreate. (#36052 by @alanjhughes)NotificationContent.data in NotificationHandler (#36195 by @vonovak)expo-modules-core
@DoNotStrip annotation to new Either types. (#32783 by @alanjhughes)expo/fetch being stuck on iOS. (#32894 by @kudo)ByteArray from the Kotlin module results in string ID instead of Uint8Array. (#32945 by @lukmccall)ts-jest. (#32954 by @kudo)process type error when including @types/node. (#33155 by @kudo)EventEmitter constructor. (#33294 by @tsapeta)uuid.v4anduuid.v5 is available on old react native architecture. (#33621 by @andrejpavlovic)import to import type for TS type declarations. (#33447 by @j-piasecki)AppContext is lost in nested converters. (#34373 by @lukmccall)kotlinx.coroutines.CancellableContinuationImpl.alreadyResumedError error on Android. (#35114 by @kudo)AsyncFunction not working in the initial render of a View. (#35176 by @behenate)ConcurrentModificationException being thrown by JNIDeallocator.deallocate during the app reload. (#35322 by @lukmccall)UnwrappedChildren not get the unwrapped content view for SwiftUI integration. (#36112 by @kudo)expo-media-library
ph:// and assets-library:// scheme for New Architecture. (#30116) by @coolsoftwaretyler (#33097 by @coolsoftwaretyler) (#33097 by @coolsoftwaretyler, @coolsoftwaretyler)unknown file type being returned for video files. (#33589 by @behenate)medialibraryassetschangeevent listener not capturing assets changes. (#36459 by @aleqsio)expo-location
Landroid/support/v4/app/ActivityCompat;. (#33088 by @kudo)resolveUserSettingsForRequest. (#34784 by @alanjhughes)startLocationUpdatesAsync should not require background permissions (#33617 by @andrejpavlovicexpo-mail-composer
expo-linking
addEventListener and useURL hook. (#33076 by @gabrieldonadel)expo-linear-gradient
PlatformColor and add corresponding types (#34214 by @dlindenkreuz)expo-localization
expo-image-manipulator
export to export type for TS type declarations. (#33446 by @j-piasecki)saveAsync not respecting the format and compression quality. (#33690 by @tsapeta)expo-image-picker
getPendingResultAsync incorrect return type (#35791 by @sorenfrederiksen)expo-file-system
expo-gl
expo-device
expo-document-picker
expo-font
expo-contacts
updateContactAsync. (#34186 by @freeboub) (#34186 by @34186) (#34186, #34186 by @34186, @34186)the native view manager required by name (ExpoContactAccessButton) from NativeViewManagerAdapter isn't exported warning. (#33993 by @lukmccall)expo-constants
expo-blur
expo-calendar
organizer and document it. (#34052 by @alanjhughes)Event.location type to allow a null value if not set. (#33802 by @rklompdayOfTheWeek as undefined. (#36482 by @ouwargui)expo-camera
hevc codec have jpeg set in the photoSettings. (#33186 by @alanjhughes)zoom on Android and adjust the magnitude on iOS. (#33319 by @alanjhughes)videoQuality prop. (#34082 by @alanjhughes)react-native-screens. (#34721 by @alanjhughes)setLinearZoom incompatibility with some devices. (#34757 by @alanjhughes)expo-background-fetch
expo-asset
expo-auth-session
clientId not being asserted properly if it's undefined in providers/Facebook, like it is for providers/Googleexpo-apple-authentication
formatFullName not specifying a return type. (#33068 by @alanjhughes)unimodules-app-loader
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-web-browser
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)--https flag. (#36083 by @EvanBacon)expo-video-thumbnails
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-task-manager
executeTask method in TaskManagerUtils (#32849 by @chrfalch)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-store-review
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-speech
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-sharing
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-sqlite
SQLite3Wrapper code for legacy implementation on Android. (#33565 by @kudo)kv-store operations. (#33874 by @rtorrente)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-secure-store
expo-sms
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-screen-capture
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-module.config.json. (#35003 by @reichhartd)expo-sensors
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-screen-orientation
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-module.config.json. (#35003 by @reichhartd)expo-print
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-network
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-notifications
nextTriggerDate in TimeIntervalTrigger (#35559 by @vonovak)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)removePushTokenSubscription and removeNotificationSubscription (#36371 by @vonovak)expo-modules-core
executeTask method to TaskManagerUtilsInterface (#32849 by @chrfalch)findNodeHandle with a native ref instead of a class component instance to avoid expensive calls to findCurrentFiberUsingSlowPath. (#33016 by @tsapeta)ReactNativeFeatureFlags compat to fix React Native 0.77 breaking changes. (#33077 by @kudo)applyKspJvmToolchain() gradle helper to enforce JVM Toolchain version for KSP. (#33148 by @kudo)process.env types. (#34112 by @kudo)overflow: hidden applied to each view by default. (#33261 by @lukmccall)UnimplementedExpoView in place of SwiftUI views when the New Architecture is not enabled. (#33901 by @tsapeta)BarCodeScannerInterface. (#34966 by @alanjhughes)RCTReactNativeFactory integration. (#35679 by @kudo)compileOnly to depend on the expo-modules-core when applying default dependencies. (#35822 by @lukmccall)UIView from SwiftUI integration. (#35553 by @kudo)AppLoaderProvider to kotlin. (#36035 by @alanjhughes)collapsable={false} when hosting a UIView in SwiftUI views. (#36153 by @kudo)2.0.0. (#36323 by @lukmccall)Jetpack Compose integration if not needed. (#36353 by @lukmccall)Children return type for SwiftUI integration. (#36377 by @kudo)expo-media-library
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)preventAutomaticLimitedAccessAlert option to config plugin. (#35515 by @fobos531)expo-location
smart-location-lib. (#33609 by @alanjhughes)expo-local-authentication
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-mail-composer
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-linking
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-linear-gradient
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-intent-launcher
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-image-loader
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-localization
expo-image-manipulator
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-image-picker
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →