expo-modules-core
58.0.23 · 19 Oct 2026MIT7.1M / weekRepositoryHomepagenpmAtom feed
Latest releases
All 297 releases- 58.x · latest line
58.0.23
19 Oct 2026[iOS] Reduce the overhead of returning
Dataand shared objects to JavaScript.[Android] Fix a Jetpack Compose
Hostthat stays blank when it mounts in a visible list row withremoveClippedSubviewsenabled, for example in aFlatList. TheHostnow measures its content when it is attached for the first time.[iOS] Update
expo-modules-macrosto 0.21.0.@Recordtypes now convert between JavaScript and native code with less overhead and no longer need an app context.@ExpoModuleand@SharedObjectnow report a build error when two@JSmembers of one object have the same JavaScript name, because JavaScript could reach only one of them.
Patch Changes
[iOS] Reduce the overhead of returning
Dataand shared objects to JavaScript.[Android] Fix a Jetpack Compose
Hostthat stays blank when it mounts in a visible list row withremoveClippedSubviewsenabled, for example in aFlatList. TheHostnow measures its content when it is attached for the first time.[iOS] Update
expo-modules-macrosto 0.21.0.@Recordtypes now convert between JavaScript and native code with less overhead and no longer need an app context.@ExpoModuleand@SharedObjectnow report a build error when two@JSmembers of one object have the same JavaScript name, because JavaScript could reach only one of them.Shared objects now report their class name from
Object.prototype.toString, for example[object VideoPlayer]. React in development builds no longer deep-compares shared objects in props, which threwERR_NATIVE_SHARED_OBJECT_NOT_FOUNDwhen the previous props held a released shared object.Blobfromexpo-blobandFilefromexpo-file-systemnow report[object Blob]and[object File], as on the web. Libraries that detect these types by this tag now treat them as aBloband aFile.
58.0.22
16 Oct 2026[Android] Fix native memory that grew with each module class under Hermes V1, by about 0.57 MiB per class on React Native 0.86 and 0.87 and about 93 KiB on 0.88.
createClassevaluated a new JavaScript source for each class, and Hermes keeps memory for every evaluated source until the runtime is destroyed. It now evaluates one class factory for each runtime and calls it for each class. On iOS, this code creates only the four base classes (SharedObject,SharedRef,EventEmitterandNativeModule).Fix an
-Wunused-resultwarning inWorklet.cppon Android when building withreact-native-worklets@0.13. Running a worklet synchronously now discards its return value while the worklet runtime lock is still held, on Android and iOS.Fix the
Do not include this file directlywarnings fromreact-native-worklets@0.13on Android and iOS. The worklets integration now includes the specificSerializableheaders instead of the deprecatedworklets/SharedItems/Serializable.h.
Patch Changes
[Android] Fix native memory that grew with each module class under Hermes V1, by about 0.57 MiB per class on React Native 0.86 and 0.87 and about 93 KiB on 0.88.
createClassevaluated a new JavaScript source for each class, and Hermes keeps memory for every evaluated source until the runtime is destroyed. It now evaluates one class factory for each runtime and calls it for each class. On iOS, this code creates only the four base classes (SharedObject,SharedRef,EventEmitterandNativeModule).Fix an
-Wunused-resultwarning inWorklet.cppon Android when building withreact-native-worklets@0.13. Running a worklet synchronously now discards its return value while the worklet runtime lock is still held, on Android and iOS.Fix the
Do not include this file directlywarnings fromreact-native-worklets@0.13on Android and iOS. The worklets integration now includes the specificSerializableheaders instead of the deprecatedworklets/SharedItems/Serializable.h.
58.0.21
16 Oct 2026[Web] Fix
globalThis.expomissing on web when Rolldown orvite buildon Vite 8 dropsensureNativeModulesAreInstalledand the polyfill it imports. The module is now listed insideEffects.
58.0.20
16 Oct 2026Change the optional
react-native-workletspeer dependency to0.13.0, the version bundled with SDK 58.npm installno longer fails withERESOLVEwhen the bundledreact-native-workletsversion is installed. Earlierreact-native-workletsversions do not support React Native 0.88.
58.0.19
15 Oct 2026[iOS] Speed up module registration at app launch by classifying definition elements without protocol conformance lookups.
[iOS] Reduced the overhead of emitting events without a payload.
[iOS] Speed up app launch by computing default module, class and view names without protocol conformance lookups.
Patch Changes
[iOS] Speed up module registration at app launch by classifying definition elements without protocol conformance lookups.
[iOS] Reduced the overhead of emitting events without a payload.
[iOS] Speed up app launch by computing default module, class and view names without protocol conformance lookups.
[iOS] Publish a headers XCFramework for
ExpoModulesCorewith the package, atprebuilds/output/headers/xcframeworks/ExpoModulesCoreHeaders.tar.gz.[iOS] Add
isFunction(),isTypedArray(),isArrayBuffer(),getTypedArray(in:),getArrayBuffer(in:),getBigInt(in:)andkindtoJavaScriptUnownedValue.Data, typed arrays,ArrayBufferand integers from aBigIntnow decode function arguments without copying them into an owningJavaScriptValue: aDataargument is about 10% faster to decode, and anInt64from aBigIntabout 8× faster.[Internal] Drop unused
EXPO_PROJECT_ROOTandEXPO_ROUTER_ABS_APP_ROOTvariables and corresponding invalidation.
Dependency tracking · free for 3 projects
Know when your own dependencies move
expo-modules-core shipped 4 new majors in the last 12 months, among 111 releases. Inlinr shows which of your projects are behind, and what the upgrade breaks.
Advisories reach you
An email when a critical or high advisory affects a project, before the next install.
Upgrades checked first
Peer ranges, Node, ESM-only and types changes read before you bump.
Only what matters
Majors and breaking notes stay; patches and sibling bumps fold into one line.
Registry facts last checked 21 Oct 2026. Releases and advisories last read 21 Oct 2026.