React Native 0.84: Hermes V1 Becomes Default, Build Times Slash, and Legacy Code Removed

Introduction

The React Native team has officially released version 0.84, bringing a host of performance improvements and streamlining the development experience. This update makes Hermes V1 the default JavaScript engine on both iOS and Android, ships precompiled binaries on iOS by default, continues the removal of legacy architecture components, and raises the minimum Node.js version to 22. Let's dive into what each of these changes means for your apps.

React Native 0.84: Hermes V1 Becomes Default, Build Times Slash, and Legacy Code Removed

Hermes V1 Becomes the Default JavaScript Engine

Following an experimental opt-in period in React Native 0.82, Hermes V1 is now the standard JavaScript engine across all platforms. This next-generation engine includes significant upgrades to both the compiler and virtual machine, resulting in measurable improvements in JavaScript execution speed and memory consumption.

What this means for your app:

Opting Out of Hermes V1

If you need to revert to the legacy Hermes compiler for compatibility reasons, you can disable Hermes V1 using the following methods:

Precompiled Binaries on iOS Speed Up Builds

React Native 0.84 now ships precompiled iOS binaries by default. Previously an opt-in feature, this means you no longer have to compile React Native core from source during a clean build. The precompiled .xcframework files are automatically downloaded and used during pod install, significantly reducing build times.

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.

Removal of Legacy Architecture Components

Building on the foundation laid in version 0.82 (which made the New Architecture the only runtime option), React Native 0.84 continues removing legacy architecture code from both iOS and Android.

iOS Changes

In version 0.83, the experimental RCT_REMOVE_LEGACY_ARCH flag allowed you to compile out legacy code. Starting with 0.84, this behavior is the default. Legacy architecture code is no longer included in iOS builds, resulting in shorter build times and smaller app sizes. No breakages are expected for apps already running on the New Architecture.

Android and Future Plans

While this release focuses on iOS, Android legacy code removal will follow a similar path in upcoming versions. Developers are encouraged to ensure their apps are fully compatible with the New Architecture to prepare for future updates.

Node.js 22 Minimum Requirement

React Native 0.84 requires Node.js version 22 or higher. This change ensures compatibility with the latest JavaScript tooling and security updates. If you're running an older version, upgrade Node.js before updating your React Native project.

Conclusion

React Native 0.84 marks a major step forward in performance and developer experience. With Hermes V1 as the default engine, precompiled iOS binaries, and the gradual removal of legacy architecture, apps will run faster and build more efficiently. Make sure your project meets the Node.js 22 requirement and test for any compatibility issues with the New Architecture. For more details, see the official release notes.

Recommended

Discover More

Artemis 2 Crew Embraces Media Spotlight Following Lunar Flyby TriumphGo 1.26's Source-Level Inliner: A Guide for API ModernizationOne Tennessee Farmer Stands Ground Against Power Giant, Halting AI Data Center Power Line5 Critical Factors Behind PayPal's Post-Earnings Stock Drop and What Investors Should KnowXteink Tightens Security, Restricts Custom Firmware on Select eReaders, Unveils Android-Based Device