32255
Mobile Development

React Native 0.84: All About the New Defaults and Performance Boost

Posted by u/Tiobasil · 2026-05-20 21:33:01

React Native 0.84 lands with a focus on making your development faster and your apps more efficient. This update automatically enables the next-generation Hermes V1 JavaScript engine, provides precompiled iOS binaries out of the box, and continues removing legacy architecture code. With a new minimum Node.js requirement, the release streamlines builds and reduces runtime overhead. Below, we break down each change and what it means for your projects.

What Is Hermes V1 and Why Is It Now the Default?

Hermes V1 is the latest version of the Hermes JavaScript engine, introduced experimentally in React Native 0.82 and now set as the default for both iOS and Android. It delivers measurable improvements in execution speed and memory usage through enhancements in both its compiler and virtual machine. If your app was already using Hermes (the default since 0.70), you automatically receive V1 without any configuration changes. This means your app gains better performance for free, with no migration effort required.

React Native 0.84: All About the New Defaults and Performance Boost

How Can You Opt Out of Hermes V1?

If for some reason you need to keep the older version of Hermes, you can override the compiler package through your package manager. Use an overrides field in package.json — for example, "overrides": { "hermes-compiler": "0.15.0" } — or, for Yarn, use "resolutions". On iOS, also set environment variables RCT_HERMES_V1_ENABLED=0 and RCT_USE_PREBUILT_RNCORE=0 when running pod install. On Android, add hermesV1Enabled=false in android/gradle.properties and build React Native from source.

What Are Precompiled iOS Binaries and How Do They Speed Up Builds?

Precompiled iOS binaries are ready-to-use .xcframework files that replace the need to compile React Native core from source during every clean build. In 0.84, these are enabled by default (they were opt-in before). The binaries are downloaded automatically when you run pod install, drastically reducing iOS build times — especially for teams that do frequent clean builds. Your app links against the prebuilt artifacts, so you skip the lengthy compilation step.

How to Disable Precompiled Binaries on iOS?

To build React Native from source instead of using precompiled binaries, set the environment variable RCT_USE_PREBUILT_RNCORE=0 when installing CocoaPods. This is useful if you need to opt out of Hermes V1 or require custom source modifications. Simply update your pod installation command: RCT_USE_PREBUILT_RNCORE=0 pod install. This reverts to the traditional workflow, where the core is compiled locally.

Which Legacy Architecture Components Were Removed in 0.84?

Continuing the cleanup started in 0.82 (which made the New Architecture the only runtime), React Native 0.84 removes several legacy classes from both iOS and Android. On iOS, the experimental RCT_REMOVE_LEGACY_ARCH flag from 0.83 is now the default behavior — legacy code is compiled out, reducing both build time and app size. No breakages are expected for apps already on the New Architecture. This release is part of a phased removal per the official RFC.

What Is the New Node.js Version Requirement?

React Native 0.84 raises the minimum Node.js version to 22. This aligns with the latest stable releases and ensures you have access to modern JavaScript features and better tooling. If your CI or development environment uses an older Node.js version, you’ll need to upgrade before installing or running the new React Native version. The change helps the framework leverage recent Node.js improvements for build and bundling performance.

How Does This Release Impact Existing React Native Apps?

Most apps already on the New Architecture and using Hermes will seamlessly upgrade to 0.84 and gain performance improvements automatically. The defaults for Hermes V1 and precompiled iOS binaries require no configuration changes. However, if you were using custom JavaScript engines or building from source, check the opt-out instructions and the precompiled binaries toggle. The removal of legacy architecture code may affect apps that still relied on those components, but such cases are rare for those already on the New Architecture.