NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4636 most downloaded on npm
Reusable require and Node resolution utilities library for Expo
Last release today
16 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 18 of 27 stable releases
Nothing withdrawn
no release was ever pulled
7 months old
64 releases · first in 2026
One column per month.
Fix ESM/CJS compatibility errors being swallowed (#43329 by @kitten)
Support CommonJS syntax in .ts evaluated files
.ts evaluated files (#43243)Removed deprecated content property of the clipboard event listener. Use getStringAsync() instead. (#41739 by @barthap)
expo-notifications
expo-modules-core
ignoreSafeAreaKeyboardInsets to ignoreSafeArea on Host component. It now accepts 'all' or 'keyboard' instead of a boolean. (#42598 by @nishan) (#42598 by @intergalacticspacehighway)expo-localization
expo-image-loader
expo-clipboard
expo-cellular
expo-brightness
expo-blur
expo-web-browser
expo-sqlite
expo-speech
expo-sharing
expo-notifications
expo-modules-core
ExpoAppDelegate inheritance requirement in ExpoReactNativeFactory (#39417 by @gabrieldonadel)applicationDidReceiveMemoryWarning subscribing to ExpoAppDelegateSubscriberManager (#40504 by @szydlovsky)Encodable types can now be converted to JavaScript values. (#40621 by @tsapeta)subscriberDidRegister function to AppDelegate subscribers. (#40684 by @tsapeta)reloadAppAsync method to AppContext. (#42295 by @aleqsio)map to ValueOrUndefined. (#40593 by @Wenszel)process.env.EXPO_DOM_HOST_OS. (#40382 by @EvanBacon)ComposableScope for compose Content functions. (#39155 by @aleqsio)ArrayBuffer. (#39943 by @lukmccall)convertResult to Convertible. (#40302 by @jakex7)ReactActivityHandler.onDidCreateReactActivityDelegateNotification. (#40537 by @lukmccall)ReactNativeHostHandler.onDidCreateReactHost. (#40561 by @lukmccall)hermesEnabled property requirement for internal testing (#40678 by @gabrieldonadel)Class definition for shared objects is now optional. (#40708 by @tsapeta)ArrayBuffers. (#41404 by @barthap)ArrayBuffers in native modules. (#41415 by @barthap)appDelegateWillBeginInitialization function to AppDelegate subscribers. (#41456 by @tsapeta)RNHost to improve RN component layout inside SwiftUI views (#40938 by @nishan) (#40938 by @intergalacticspacehighway)ignoreSafeAreaKeyboardInsets to SwiftUIHostingView. (#41302 by @nishan) (#41302 by @intergalacticspacehighway)ArrayBuffers. (#41548 by @barthap)RCTHostRuntimeDelegate instead of unofficial bridge.runtime. (#41311 by @tsapeta)JavaScriptActor to isolate code requiring running on the JavaScript thread. (#41793 by @tsapeta)NSEdgeInsets.zero extension to better match UIEdgeInsets. (#42675 by @tsapeta)expo-media-library
expo-location
androidForegroundServiceIcon for controlling the icon for the foreground service. (#41132 by @jeppester)accuracy field to PermissionDetailsLocationIOS exposing iOS 14+ precise/reduced location authorization. (#42931 by @sbs44)expo-image-picker
expo-font
expo-file-system
idempotent option to downloadFileAsync (#39681 by @vonovak)append option to write methods. (#42778 by @aleqsio)expo-device
expo-constants
expo-crypto
expo-camera
expo-contacts
Contacts@Next (#40886 by @Wenszel)hasContactsAsync function (#40756 by @hryhoriiK97)expo-calendar
ExpoCalendar@next (#39108 by @kosmydel and @arturgesiarz) (#39108 by @kosmydel, @arturgesiarz)expo-blur
expo-auth-session
extraHeaders option to TokenRequest and RevokeTokenRequest. (#31381) by @levizimmerman and @lsarni (#31381 by @levizimmerman, @lsarni)expo-web-browser
dismissBrowser hanging when called with no browser open. (#40799 by @alanjhughes)expo-video-thumbnails
expo-task-manager
expo-sqlite
ExpoSQLite.defaultDatabaseDirectory returns undefined. (#40680 by @kudo)useSQLCipher. (#40781 by @ronickg)serializeAsync / serializeSync errors from memory database on web. (#40899 by @kudo)expo-store-review
expo-sensors
expo-sharing
expo-screen-capture
expo-screen-orientation
expo-network
expo-notifications
deleteNotificationChannelGroupAsync export (#43244 by @vonovak)NotificationForwarderActivity on Android 11/12 when Parcelable extras fail to deserialize by using byte array serialization as fallback. (#43203 by @vonovak)requestPermissionsAsync not forwarding new options to the OS when notifications were already granted (#43378 by @vonovak)expo-modules-core
TurboModuleRegistry on web (#39726 by @satya164)useReleasingSharedObject getting destroyed after a fast refresh caused by a change in its dependencies. (#39753 by @behenate)[NSString UTF8String] could return nil for certain string inputs (non-English), leading to an attempt to dereference a null pointer during jsi::String creation. (#40639 by @mohammadamin16)androidNavigationBar.enforceContrast app config property not working. (#40263 by @behenate)Either conversion in Record (#40655 by @vonovak)TextField causing crash when reload and unmounting. (#40960 by @nishan) (#40960 by @intergalacticspacehighway) (#40960, #40960 by @intergalacticspacehighway, @intergalacticspacehighway)useReleasingSharedObject to defer releasing until after render.InvalidArgsNumberException when declaring AsyncFunction with optional arguments and Promise. (#41054 by @Wenszel)AppContextActivityResultLauncher coroutine continuation is active before resuming (#41319 by @vonovak)register overload in ModuleRegistry. (#40149 by @alanjhughes)invalidate callback to SwiftUIVirtualView. (#40237 by @intergalacticspacehighway)ValueOrUndefined conversion in Record. (#40289 by @jakex7)null not being correctly converted to ValueOrUndefined in Record. (#41005 by @lukmccall)NativeModule extending Record<string, any>, which made it not type-safe. (#41320 by @lukmccall)expo -> expo-modules-core/types -> ./build/global rather than types="node" (#42751 by @kitten)DynamicBoolType to correctly distinguish boolean values from numeric 0/1. (#42978 by @nishan) (#42978 by @intergalacticspacehighway)DynamicBoolType to throw NullCastException for nil values, matching DynamicRawType behavior. (#43085 by @nishan) (#43085 by @intergalacticspacehighway)PersistentFileLog. (#43283 by @alanjhughes)field.options.insert() silently failing in fieldsOf() due to mutation on protocol existential. (#43341 by @just1and0)Prop definition component by isolating its setter to the main actor. (#43348 by @tsapeta)expo-mail-composer
expo-media-library
endCursor description in the documentation. (#39120 by @Wenszel)id to URI format (#39920 by @Wenszel)delete() throwing security exception (#39914 by @Wenszel)asset.getModificationTime to return milliseconds (#39715 by @Wenszel)expo-location
mIsHostPaused initialization. Location updates are now delivered immediately when app is in foreground, matching iOS behavior. (#41659 by @tyrauber)scope field in a permissions request result (#41328 by @vonovak)expo-localization
expo-intent-launcher
expo-image-manipulator
expo-image-picker
expo-gl
expo-font
expo-file-system
createFile and createDirectory methods. (#40314 by @jakex7)File/Directory/Paths API. (#43005 by @aleqsio)File and Directory static methods. (#43282 by @alanjhughes)expo-clipboard
expo-constants
expo-crypto
expo-camera
expo-contacts
namePrefix on iOS (#39974 by @hryhoriiK97)editWithForm throws error (#43315 by @Wenszel)expo-calendar
expo-brightness
expo-asset
expo-web-browser
experimentalLauncherActivity config plugin option as it was replaced with the useProxyActivity option on openBrowserAsync and openAuthSessionAsync methods. (#41535 by @lukmccall)warmUpAsync JSDoc. (#42944 by @brentvatne)expo-video-thumbnails
androidx.annotation:annotation dependency. (#39755 by @lukmccall)expo-task-manager
expo-sqlite
expo-sensors
expo-sms
androidx.annotation:annotation dependency. (#39756 by @lukmccall)expo-sharing
androidx.legacy:legacy-support-v4 dependency. (#39757 by @lukmccall)expo-screen-capture
removeScreenshotListener call as deprecated (#42098 by @vonovak)expo-secure-store
expo-screen-orientation
expo-notifications
assertValidAndroidAssetName from expo/config-plugins (#39883 by @vonovak)NotificationImportance.UNSPECIFIED as not suitable for use (#41709 by @vonovak)assert dependency (#42970 by @kitten)expo-modules-core
kotlinOptions to compilerOptions DSL. (#39794 by @huextrat)expo-module.config.json. (#39985, #40241 by @jakex7)RuntimeScheduler to schedule tasks on the JS thread. (#40473 by @alanjhughes)EXConstantsService) from expo-constants. (#41339 by @tsapeta)appContext.fileSystem, appContext.utilities, appContext.imageLoader and appContext.permissions with the core implementations. (#41350, #41370, #41396 by @tsapeta)executeOnJavaScriptThread in favor of runtime.schedule. (#41478 by @tsapeta & #41551 by @lukmccall) (#41478, #41551 by @tsapeta, @lukmccall)ShadowNodeProxy.setStyleSize() for Jetpack Compose integration. (#41553 by @kudo)RCTHost. (#41632 by @alanjhughes)NativeViewManagerAdapter. (#41804 by @tsapeta)EXReactNativeEventEmitter class. (#41915 by @tsapeta)NativeModulesProxy is absent. (#43020 by @tsapeta)Either type stable. (#43267 by @lukmccall)ExpoModulesCorePlugin. (#43312 by @lukmccall)expo-media-library
removeSubscription calls as deprecated (#42098 by @vonovak)android:maxSdkVersion annotation to READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE permissions. (#40976 by @behenate)expo-location
androidx.annotation:annotation dependency. (#39758 by @lukmccall)expo-localization
expo-keep-awake
expo-intent-launcher
androidx.annotation:annotation dependency. (#39760 by @lukmccall)expo-image-manipulator
androidx.annotation:annotation dependency (#39764 by @lukmccall)expo-image-loader on iOS. (#41395 by @tsapeta)expo-image-picker
expo-image-loader
expo-gl
expo-haptics
await for performHapticsAsync (#40987 by @kamui545)androidx.annotation:annotation dependency. (#39759 by @lukmccall)expo-font
expo-file-system
android:maxSdkVersion annotation to READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE permissions. (#40976 by @behenate)expo-device
androidx.legacy:legacy-support dependency. (#39762 by @lukmccall)expo-clipboard
removeClipboardListener call as deprecated (#42098 by @vonovak)expo-constants
expo-crypto
ExpoCrypto.getRandomBase64String() fallback in getRandomBytes() (#41517 by @hassankhan)expo-camera
CGImageProperties in exif data. (#40801 by @alanjhughes)expo-contacts
CNContactStore lazily (#42096 by @vonovak)androidx.annotation:annotation dependency (#39761 by @lukmccall)expo-calendar
@ in @platform ios JSDoc tag for EntityTypes enum. (#42944 by @brentvatne)expo-blur
expo-asset
expo-gl
texImage2D expo wrapper. (#41499 by @psnet)stb_image.h used for image decoding in texImage2D expo wrapper to support only JPEG, PNG, GIF image formats. Formats BMP, PSD, TGA, HDR, PIC, PNM are no longer supported. (#41001 by @psnet)stb_image.h used for image decoding in texImage2D expo wraper method. A lot of fixes and performance improvements, see related PR. (#41000 by @psnet)Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →