Betsports

React Native 0.84: Hermes V1 as Default and Performance Upgrades

Published: 2026-05-03 15:36:27 | Category: Mobile Development

React Native 0.84 has arrived, bringing a major performance boost with Hermes V1 as the default JavaScript engine for both iOS and Android. This release also simplifies iOS builds by shipping precompiled binaries out of the box, continues the cleanup of legacy architecture code, and sets a new minimum Node.js version. In this Q&A, we answer your most pressing questions about what changes, how to migrate (or opt out), and how your app benefits.

What is the major change in React Native 0.84 regarding JavaScript engines?

The biggest shift in React Native 0.84 is that Hermes V1 is now the default JavaScript engine on both iOS and Android. This follows its experimental opt-in availability in version 0.82. Hermes V1 represents the next generation of the Hermes engine, with significant improvements to the compiler and virtual machine (VM) that translate into measurably better JavaScript performance. All new React Native projects will automatically use Hermes V1, and existing projects already on Hermes (the default since 0.70) will upgrade seamlessly. The change requires no migration effort — you simply inherit faster execution speeds and reduced memory usage.

React Native 0.84: Hermes V1 as Default and Performance Upgrades

How does Hermes V1 improve performance for existing apps?

If your app already uses Hermes (the default since React Native 0.70), upgrading to 0.84 automatically enables Hermes V1. You get immediate, automatic performance gains without any code changes. The new engine delivers improved JavaScript execution speed and lower memory consumption thanks to a revamped compiler and VM. This means your app will launch faster, UI interactions will be more responsive, and overall memory usage will decrease. There is no migration required — the upgrade is transparent. For apps that require the older Hermes compiler, opt-out instructions are available (see next question).

Can developers opt out of Hermes V1? How?

Yes, developers can opt out of Hermes V1 and force the legacy hermes-compiler. The method depends on your package manager and platform. For package managers, add an override in package.json: use "overrides" for npm, "resolutions" for Yarn, or "pnpm": { "overrides" } for pnpm — all pointing to "hermes-compiler": "0.15.0" (the legacy version). For iOS, set environment variables RCT_HERMES_V1_ENABLED=0 and RCT_USE_PREBUILT_RNCORE=0 when installing CocoaPods dependencies. For Android, add hermesV1Enabled=false in android/gradle.properties and build React Native from source. Note that opting out also requires disabling precompiled binaries on iOS, as explained in the next section.

What is the new default for iOS binary delivery and how does it affect build times?

React Native 0.84 makes precompiled iOS binaries the default. Previously introduced as an opt-in, this feature is now enabled out of the box. Precompiled .xcframework binaries are automatically downloaded and used during pod install, eliminating the need to compile React Native core from source on every clean build. The result is significantly reduced build times for iOS apps. If you need to build from source (for example, because you opted out of Hermes V1), you can disable precompiled binaries by setting RCT_USE_PREBUILT_RNCORE=0 when installing pods.

What legacy architecture components have been removed in this release?

Building on the work started in 0.82, React Native 0.84 continues the removal of Legacy Architecture code on both platforms. On iOS, the experimental RCT_REMOVE_LEGACY_ARCH flag introduced in 0.83 is now the default behavior, meaning Legacy Architecture code is no longer compiled into your iOS builds. This reduces both build time and app size. On Android, similarly outdated classes are being stripped out. These removals are safe for apps already running on the New Architecture (the only runtime option since 0.82). No breakages are expected, but if you encounter issues, review your native dependencies to ensure they support the New Architecture.

What are the new system requirements introduced in React Native 0.84?

React Native 0.84 raises the minimum Node.js version to Node.js 22. If you are using an older version of Node.js, you need to upgrade to version 22 or later to work with this release. This requirement ensures compatibility with the latest tooling and dependencies. For most developers, updating Node.js via your preferred version manager (like nvm or fnm) is straightforward. No other system requirement changes have been introduced, so your existing development environment should remain compatible after upgrading Node.js.