Casino88

React Native 0.84: Hermes V1 Now Default, Faster Builds and Legacy Cleanup

React Native 0.84 introduces Hermes V1 as the default JS engine, precompiled iOS binaries, and removal of legacy architecture components, boosting performance and build times.

Casino88 · 2026-05-08 22:49:19 · Mobile Development

Table of Contents

Hermes V1 as the Default JavaScript Engine

React Native 0.84 marks a major milestone by making Hermes V1 the default JavaScript engine across both iOS and Android platforms. This move, building on the experimental opt-in introduced in version 0.82, brings significant performance enhancements to every React Native app automatically.

React Native 0.84: Hermes V1 Now Default, Faster Builds and Legacy Cleanup

Hermes V1 represents a substantial evolution of the Hermes engine, incorporating improvements to both the compiler and virtual machine. These updates translate into measurably better JavaScript execution speed and reduced memory consumption without requiring any action from developers.

What This Means for Your App

  • Automatic performance gains: All apps now benefit from Hermes V1 by default, delivering faster execution and lower memory usage.
  • No migration required: If your app already uses Hermes (the default since React Native 0.70), you'll automatically be upgraded to Hermes V1 — no configuration changes needed.

Opting Out of Hermes V1

If you need to revert to the legacy Hermes for any reason, you can do so using package manager overrides and platform-specific settings.

Package Manager Override

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

  • npm: "overrides": { "hermes-compiler": "0.15.0" }
  • yarn: "resolutions": { "hermes-compiler": "0.15.0" }
  • pnpm: "pnpm": { "overrides": { "hermes-compiler": "0.15.0" } }

iOS

When installing CocoaPods dependencies, set the following environment variables:

RCT_HERMES_V1_ENABLED=0 RCT_USE_PREBUILT_RNCORE=0

Android

Add the following line to android/gradle.properties and configure your app to build React Native from source:

hermesV1Enabled=false

Precompiled Binaries on iOS by Default

React Native 0.84 ships precompiled iOS binaries out of the box, eliminating the need to compile React Native core from source during each clean build. This feature, previously opt-in, is now enabled by default and significantly reduces iOS build times.

During pod install, the precompiled .xcframework binaries are automatically downloaded and used, streamlining the development workflow. If you need to build from source — for example, to opt out of Hermes V1 — you can disable precompiled binaries by setting RCT_USE_PREBUILT_RNCORE=0 when installing pods.

Legacy Architecture Components Removed

Continuing the transition initiated in React Native 0.82, which made the New Architecture the only runtime option, version 0.84 removes additional Legacy Architecture code from both iOS and Android. As outlined in the RFC, each release will strip out more legacy classes.

iOS

In 0.83, an experimental flag RCT_REMOVE_LEGACY_ARCH was introduced to compile out Legacy Architecture code. In 0.84, this behavior becomes the default: Legacy Architecture code is no longer included in iOS builds, resulting in faster compile times and smaller app sizes. No breakages are expected for apps already using the New Architecture.

Android

Similar removals are taking place on Android, aligning with the overall strategy to modernize React Native's internal architecture. The removal of legacy code paves the way for a leaner, more maintainable codebase.

For detailed upgrade instructions and a complete list of changes, refer to the official release notes.

Recommended