Bvoxro Stack

React Native 0.84 Delivers Performance Boost with Hermes V1 and Streamlined Builds

React Native 0.84 makes Hermes V1 the default JS engine, enables precompiled iOS binaries, removes legacy architecture, and raises Node.js minimum to 22.

Bvoxro Stack · 2026-05-20 09:32:43 · Mobile Development

Introduction

The React Native team has officially released version 0.84, a major update that introduces several enhancements aimed at improving developer experience and application performance. This release makes Hermes V1 the default JavaScript engine across both iOS and Android, continues the removal of legacy architecture components, and enables precompiled iOS binaries by default. Notably, the update also raises the minimum Node.js requirement to version 22. These changes collectively streamline development workflows and boost runtime efficiency.

React Native 0.84 Delivers Performance Boost with Hermes V1 and Streamlined Builds

Hermes V1 as the Default JavaScript Engine

Starting with React Native 0.84, Hermes V1 becomes the default JavaScript engine for all new projects. Originally introduced as an experimental option in version 0.82, this evolution of the Hermes engine now powers every React Native app out of the box. Hermes V1 includes significant improvements to both its compiler and virtual machine, resulting in measurably better JavaScript execution speed and reduced memory consumption. For developers already using Hermes (which has been the default since version 0.70), the transition to Hermes V1 is automatic with no configuration changes required.

What This Means for Your App

  • Automatic performance gains: All applications will immediately benefit from faster execution and lower memory usage.
  • No migration effort: If your project already uses Hermes, it will seamlessly update to Hermes V1 without any manual steps.

Opting Out of Hermes V1

While Hermes V1 is the default, developers who need to revert to the legacy Hermes compiler can do so via several methods depending on their environment:

  • Package manager overrides: Add an override for the hermes-compiler package in your package.json. For example, using npm: "overrides": { "hermes-compiler": "0.15.0" }. Similar approaches work for Yarn (resolutions) and pnpm.
  • iOS: Set the environment variables RCT_HERMES_V1_ENABLED=0 and RCT_USE_PREBUILT_RNCORE=0 when installing CocoaPods dependencies.
  • Android: Add hermesV1Enabled=false inside the android/gradle.properties file and configure your application to build React Native from source.

Precompiled iOS Binaries by Default

Another key change in version 0.84 is the default enabling of precompiled binaries for iOS. Previously an optional feature, this setting now significantly reduces build times by eliminating the need to compile React Native core from source during every clean build. The precompiled .xcframework binaries are automatically downloaded and used when running pod install. Should you need to compile from source—for instance, to opt out of Hermes V1—you can disable precompiled binaries by setting RCT_USE_PREBUILT_RNCORE=0 when installing pods.

Continued Removal of Legacy Architecture

Building on the foundation laid in version 0.82 (which made the New Architecture the only runtime option), React Native 0.84 further eliminates legacy architecture code from both platforms. As detailed in the relevant RFC, each release removes specific legacy classes.

iOS Changes

In version 0.83, an experimental flag RCT_REMOVE_LEGACY_ARCH was introduced to compile out legacy architectures. In 0.84, this removal is now the default behavior. Legacy architecture code is no longer included in iOS builds, which reduces both compile time and the final app size. No breakages are expected for applications already running on the New Architecture, as the transition has been gradual and well-documented.

Android Changes

Similar cleanup is underway for Android, though this release focuses primarily on iOS. Developers are encouraged to ensure that their apps are fully migrated to the New Architecture to avoid any issues in future releases.

Minimum Node.js Version Raised to 22

React Native 0.84 mandates Node.js version 22 or higher. This update aligns with the latest LTS release of Node.js and ensures that developers have access to modern JavaScript features and improved tooling. If your development environment uses an older Node.js version, you will need to upgrade to continue using the latest React Native tools and build pipelines.

Summary of Key Updates

To recap, React Native 0.84 brings:

  • Hermes V1 as the default JavaScript engine for enhanced performance across platforms.
  • Precompiled iOS binaries enabled by default to speed up builds.
  • Removal of legacy architecture code (especially on iOS) for smaller app sizes and faster compilation.
  • Minimum Node.js version increased to 22.

These improvements represent a significant step forward in the React Native ecosystem, offering developers a more efficient and powerful framework. For a complete list of changes, refer to the official release notes.

Recommended