React Native 0.84 Delivers Performance Boost with Hermes V1 and Streamlined Builds
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.
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-compilerpackage in yourpackage.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=0andRCT_USE_PREBUILT_RNCORE=0when installing CocoaPods dependencies. - Android: Add
hermesV1Enabled=falseinside theandroid/gradle.propertiesfile 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.
Related Articles
- Mastering iOS 26’s Revamped Phone App: A Step-by-Step Guide to Its Best Features
- Flutter 3.44 to Default to Swift Package Manager, Phasing Out CocoaPods by 2026
- How to Write and Distribute a Compelling New Hire Announcement: A Step-by-Step Guide
- Essential Security Patches for Older Apple Devices: What You Need to Know
- 10 Key Details About Apple's Potential Return to Titanium iPhones
- Building Virtual Reality Apps: React Native Arrives on Meta Quest
- The End of Samsung Messages: 5 Features Google Messages Still Lacks
- 7 Key Steps to Building VR Apps with React Native on Meta Quest