React Native 0.84: Hermes V1 Now Default, Faster Builds and Legacy Cleanup
Table of Contents
- Hermes V1 as the Default JavaScript Engine
- Precompiled Binaries on iOS by Default
- Legacy Architecture Components Removed
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.
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.
Related Articles
- Building Immersive VR Apps with React Native on Meta Quest: A Complete Developer's Guide
- TelemetryDeck's Swift-Driven Backend Handles 16 Million Monthly Users with Unprecedented Efficiency
- 7 Secrets to a Better YouTube Music Experience on Your Foldable (Including That Hidden Setting)
- Flutter Embraces Swift Package Manager as Default for iOS and macOS
- Flutter 3.44 to Default to Swift Package Manager, Ending CocoaPods Era
- Navigating the Google Family Link Call Blocking Bug: Step-by-Step Fixes
- React Native 0.79 Delivers Major Performance Gains and Tooling Overhaul
- How to Decode the Pixel 11 Pro and XL Leak: Camera Upgrades, 'Pixel Glow' LED, and More