React Native ExecuTorch v0.10.0 🚀
We are excited to announce the release of React Native ExecuTorch v0.10.0! 🎉
This release represents a fundamental milestone: a ground-up rewrite of the entire library. We redesigned how on-device AI is built and executed in React Native, replacing monolithic native modules with modular, inspectable TypeScript pipelines, first-class hardware acceleration across all major mobile silicon backends, and close integration with react-native-worklets.
Whether running computer vision, local LLMs, speech transcription, or real-time text-to-speech, v0.10.0 delivers improved developer ergonomics, lower latency, and reduced battery consumption — all while preserving 100% functional parity and offering a dedicated legacy compatibility module for gradual migration.
Check out the refreshed documentation, featuring comprehensive task guides across vision, speech, and NLP, advanced runtime tutorials, and complete API references.
Here is an overview of what is new 👇
What's New?
🏗️ A Two-Layer Architecture: Inspectable Pipelines & Lower-Level Core
Previously, tasks were packaged as opaque native C++ modules, and running custom models was severely constrained by rigid interfaces with little control over execution or intermediate data.
v0.10 replaces this with a flexible two-layer architecture, unlocking complete developer freedom: native code now exposes the ExecuTorch runtime and foundational operators, while orchestration lives entirely in transparent TypeScript. You can inspect every step, customize transformations, chain multiple models, or bring custom architectures without writing any C++:
- Transparent TypeScript Pipelines & Task Hooks: Ready-to-use tasks implemented directly in TypeScript, offering full inspectability to read every transformation step, developer freedom to tweak any stage, and clean maintainability through loosely coupled building blocks. See: 👉 Extensions
- Lower-Level Core API: Direct native primitives for loading models, managing tensors, and running fast native ops. Custom model execution is fully unconstrained: inspect signatures, invoke arbitrary methods by name, provide pre-allocated buffers, and build multi-stage workflows entirely in TypeScript. See: 👉 Core & Advanced
⚡ Expanded Hardware Acceleration & Efficiency
While v0.9 primarily relied on CPU execution, v0.10 deeply integrates native hardware acceleration delegates tailored to mobile silicon across more than 130 pre-exported model variants:
- Core ML (iOS): Direct execution on the Apple Neural Engine (ANE) and Apple GPU across 70+ model variants, delivering faster inference for vision, speech, and embedding models while freeing up CPU resources.
- MLX (iOS): Apple's array framework utilizing Metal compute shaders for high-throughput, low-latency local LLM generation on Apple Silicon, covering nearly 40 model exports.
- Vulkan (Android): Mobile GPU compute on Android devices across 25+ model exports for accelerated tensor operations and model execution.
Running models on dedicated hardware accelerators yields faster inference times, reduced thermal throttling, and significantly lower battery drain during sustained workloads. For devices without dedicated accelerator support, an optimized multi-threaded XNNPACK CPU fallback remains available across all models.
🧵 Universal Worklet Threading
React Native ExecuTorch now closely integrates with react-native-worklets. See: 👉 Worklets & Threading
- Every native JSI function and core primitive carries the
"worklet";directive by default. - Synchronous native calls can be dispatched off the main JavaScript thread or executed directly within UI worklets without bridging overhead.
- This enables simpler integration with libraries like VisionCamera to run on-device vision models directly on live camera streams. See: 👉 Camera Integration
📦 On-Demand Native Binaries & Bundle Optimization
On-device AI runtimes and native acceleration libraries carry noticeable binary weight. In v0.10, native binaries and backend delegates are downloaded on demand during package installation. See: 👉 Native Libraries
By default, all required binaries are fetched automatically for zero-config setup. You can also configure a react-native-executorch block in your package.json to selectively download and link only the specific backends or task features used by your application, significantly reducing install times, build times, and final app bundle sizes.
📱 Interactive Showcase: Gallery App
To see what is possible with on-device AI and experience firsthand how fast it can run on your own phone, check out our new showcase app:
👉 React Native ExecuTorch Gallery
⚠️ Breaking Changes & Migration
Upgrading core infrastructure should not mean losing existing features. Despite being a ground-up rewrite, the new v0.10 architecture provides 100% functional parity with v0.9: every single task and capability from earlier versions has been fully reimplemented in the new TypeScript pipeline architecture — alongside new features and model additions.
To support an incremental migration, we also provide a dedicated 'react-native-executorch/legacy' entry point where the entire pre-0.10 API is preserved. Existing hooks, options, and modules continue to function as before, allowing your team to adopt the new architecture screen by screen at your own pace. Note that this legacy module is provided primarily as a temporary stepping stone for migration, is marked as deprecated, and will be removed in a future release.
For step-by-step guidance on updating your imports and moving to the new API, refer to our Migration Guide.