Upgrading to React Native 0.84: Embracing Hermes V1, Faster Builds, and a Cleaner Architecture

By ✦ min read

Overview

React Native 0.84 marks a significant milestone in the framework's evolution, bringing Hermes V1 as the default JavaScript engine on both iOS and Android. This release also makes precompiled iOS binaries the standard, dramatically accelerating build times, and continues the systematic removal of Legacy Architecture components. Additionally, Node.js 22 is now the minimum supported version. This guide will walk you through everything you need to know to upgrade smoothly, including step-by-step instructions, code examples, and common pitfalls to avoid.

Upgrading to React Native 0.84: Embracing Hermes V1, Faster Builds, and a Cleaner Architecture

Prerequisites

Step-by-Step Instructions

1. Upgrade Your Project to React Native 0.84

Use the React Native CLI upgrade tool to bump your project version. The recommended approach is using npx react-native upgrade or the @react-native-community/cli upgrade command:

npx react-native upgrade 0.84.0

Alternatively, you can manually update the react-native dependency in your package.json and reinstall pods on iOS:

npm install react-native@0.84.0
cd ios && pod install

2. Verify Hermes V1 Is Active

Hermes V1 is the default JavaScript engine from version 0.84 onward. To confirm it's running, check your build logs for the Hermes version string (e.g., Hermes version 0.13.0). On Android, you can also inspect the APK's libhermes.so file. If you were already using Hermes (the default since 0.70), no migration steps are needed – you automatically get V1.

3. Benefit from Precompiled Binaries on iOS (Enabled by Default)

React Native 0.84 ships precompiled .xcframework binaries for iOS. This means during pod install, the framework downloads and uses these binaries instead of compiling React Native core from source. Build times are significantly reduced, especially for clean builds. No action is required on your part – it works out of the box.

4. Handle Legacy Architecture Removal

Starting with 0.84, the Legacy Architecture code is compiled out by default on iOS (previously controlled by RCT_REMOVE_LEGACY_ARCH flag). The New Architecture is now the sole runtime. If your app already runs on the New Architecture (recommended since 0.76), you should see no breakages. However, if you have custom native modules or third-party libraries still relying on Legacy components, you may need to update them.

5. Update Node.js to Version 22

Node.js 22 is the minimum requirement for React Native 0.84. Check your current version with node --version. If it's lower, download and install Node.js 22 from the official website or use a version manager like nvm:

nvm install 22
nvm use 22

Opting Out of Hermes V1 (If Needed)

Important: Though not recommended, you can revert to the legacy Hermes compiler if you encounter compatibility issues. Use these steps only as a temporary workaround.

Package Manager Override

Force the installation of the legacy hermes-compiler package by adding an override in your package.json:

iOS: Disable Hermes V1 and Prebuilt Binaries

When installing CocoaPods dependencies, run:

RCT_HERMES_V1_ENABLED=0 RCT_USE_PREBUILT_RNCORE=0 pod install

Android: Disable Hermes V1 and Build from Source

Add the following to android/gradle.properties:

hermesV1Enabled=false

Additionally, you must configure the application to build React Native from source. This usually involves editing android/app/build.gradle and ensuring reactNativeArchitectures is set correctly. See the official documentation for details.

Common Mistakes

Summary

React Native 0.84 delivers a hassle-free upgrade path with major performance and build-time improvements. By making Hermes V1 the default and shipping precompiled iOS binaries, developers gain free speed and efficiency. The removal of Legacy Architecture simplifies the native layer, while the raised Node.js requirement ensures modern tooling compatibility. Follow the steps above to migrate safely, and use the opt-out instructions only if absolutely necessary. Your apps will run faster and build faster – a win-win for all React Native projects.

Tags:

Recommended

Discover More

Mastering Narrative Tempo: A Case Study on Shigeru Miyamoto’s Defense of Fast Pacing in The Super Mario Galaxy MovieNVIDIA Employees Report 'Mind-Blowing' Gains with OpenAI GPT-5.5-Powered Codex on Next-Gen InfrastructureAndroid Show I/O Edition Set for May 12: Google Promises 'Biggest Year Yet'Motorola Razr (2026): A Buyer's Guide to Spotting Subtle Upgrades and Higher PricesMac Mini Evolution: A Comprehensive Guide to the $799 Starting Price and 512GB Storage Shift