react-native-executorch 0.10.0 is a ground-up rewrite of the library. Tasks that used to be opaque native C++ modules are now inspectable TypeScript pipelines, hardware acceleration is available across Core ML, MLX and Vulkan, and native calls carry a worklet directive so they can run off the main JavaScript thread.
Two-layer architecture
- Task pipelines are implemented in TypeScript, so every transformation step can be read, replaced or chained without writing C++.
- A lower-level core API exposes the ExecuTorch runtime directly: load a model, inspect its signatures, invoke methods by name, manage tensors, and build multi-stage workflows in TypeScript.
Hardware acceleration
- Core ML on iOS runs on the Apple Neural Engine and GPU across 70+ model variants.
- MLX on iOS covers nearly 40 model exports, aimed at local LLM generation on Apple Silicon.
- Vulkan on Android covers 25+ model exports.
- XNNPACK remains the multi-threaded CPU fallback everywhere, so devices without a dedicated accelerator keep working.
Worklet threading
- Native JSI functions and core primitives carry the
workletdirective, so synchronous native calls can run off the main JavaScript thread or inside UI worklets. This makes it practical to run vision models directly on a camera frame stream.
On-demand native binaries
- Native binaries and backend delegates are downloaded during installation rather than shipped inside the package. By default everything needed is fetched automatically; a
react-native-executorchblock in the app'spackage.jsonnarrows that to the backends and features the app actually uses, cutting install time, build time and bundle size.
Breaking changes and migration
- The new architecture keeps full functional parity with 0.9: every task from earlier versions is reimplemented on the TypeScript pipelines.
- The pre-0.10 API is preserved at the
react-native-executorch/legacyentry point, so an app can migrate screen by screen. That entry point is deprecated and will be removed in a future release. - The package now declares peer dependencies on
react-native-workletsandreact-native-blob-util, with@kesha-antonov/react-native-background-downloaderoptional. Existing apps need to install them when upgrading.
See the migration guide and the documentation.
Full changelog: v0.9.3...v0.10.0