React Native 0.84: Hermes V1 Becomes the Default Engine

By ● min read

React Native 0.84 introduces several exciting improvements that streamline development and boost app performance. The standout change is that Hermes V1 is now the default JavaScript engine across iOS and Android, delivering faster execution and reduced memory usage automatically. Additionally, the release makes precompiled iOS binaries the norm, cutting build times, and continues to phase out the Legacy Architecture. These updates require Node.js 22 or later. Below, we break down the key changes and answer common questions.

Explore each topic:

What’s the headline change in React Native 0.84?

The most significant update in React Native 0.84 is that Hermes V1 is now the default JavaScript engine for both iOS and Android. This follows its experimental introduction in version 0.82 and marks a full transition to a more advanced runtime. Hermes V1 combines improvements in the compiler and virtual machine to offer noticeably better JavaScript performance, including faster startup, quicker execution, and lower memory consumption. Additionally, the release makes precompiled iOS binaries the default—eliminating the need to compile React Native core from source during clean builds, which significantly shortens build times. The team has also continued removing Legacy Architecture components, and now requires Node.js 22 as the minimum version.

React Native 0.84: Hermes V1 Becomes the Default Engine

How does Hermes V1 improve my app’s performance?

Hermes V1 represents the next evolution of the Hermes engine, with substantial upgrades to both its compiler and virtual machine. Compared to the previous Hermes version (which had already become the default in React Native 0.70), Hermes V1 delivers measurably better JavaScript performance. Apps experience improved execution speed and reduced memory usage, especially noticeable during initial load and complex operations. Because it has been the default since version 0.70, most apps are already using Hermes; upgrading to 0.84 automatically brings the V1 version without requiring any manual configuration. The gains are automatic, meaning developers can leverage better performance simply by updating their React Native version.

Do I need to migrate manually to Hermes V1?

No migration effort is required. If your app is already using Hermes (which has been the default since React Native 0.70), upgrading to version 0.84 will automatically switch to Hermes V1. There are no configuration changes needed in your project. The transition happens behind the scenes, so you get the performance improvements of the new engine without any extra work. Simply update the React Native dependency in your package.json and rebuild your app. Existing Hermes settings remain intact, and the engine’s API is fully backward compatible, ensuring a smooth upgrade.

Can I opt out of Hermes V1, and if so, how?

Yes, you can opt out of Hermes V1 if you need to use the legacy Hermes compiler for compatibility or testing. The method depends on your platform and package manager.

Note that opting out may affect build times and memory performance.

What are precompiled iOS binaries and why are they important?

In React Native 0.84, precompiled .xcframework binaries are now enabled by default on iOS. Previously an optional feature, this change means you no longer have to compile React Native core from source during every clean build. Instead, the precompiled binaries are automatically downloaded and used when you run pod install. The result is a significant reduction in iOS build times, making development cycles faster and less resource-intensive. If you ever need to build from source (for example, when opting out of Hermes V1), you can disable precompiled binaries by passing RCT_USE_PREBUILT_RNCORE=0 when installing CocoaPods.

What’s happening with the Legacy Architecture?

Building on the work started in version 0.82, which made the New Architecture the only runtime option, React Native 0.84 continues to remove Legacy Architecture code from both iOS and Android. In 0.83, the experimental flag RCT_REMOVE_LEGACY_ARCH was introduced to compile out legacy components. In 0.84, this behavior is now default — meaning Legacy Architecture code is no longer included in iOS builds by default. This reduces app size and build time. The removal is gradual across releases, as described in the RFC. Apps already migrated to the New Architecture should see no breakages.

What system requirements does React Native 0.84 introduce?

React Native 0.84 raises the minimum Node.js version to 22. This is a new requirement compared to previous versions. Developers must ensure their Node.js runtime is updated to at least version 22 to work with this release. All other platform requirements (like Xcode for iOS, Android Studio for Android) remain similar to earlier versions, though you should always check the official documentation for the most up-to-date toolchain guidance.

Tags:

Recommended

Discover More

A Step-by-Step Guide to Running Hardware-Assisted Arm Virtual Machines on s390 HostsGo 1.26 Launches Source-Level Inliner in Revamped `go fix` for Seamless API MigrationsEnhancing dma-buf Subsystem: Toward Efficient User-Space Read/Write Operations6 Key Moments from the Artemis II Crew’s Nasdaq Closing Bell CeremonyHow to Decode Apple’s Earnings Calls: Spotting Delayed Product Launches