React Native 0.84: Key Changes and Migration Guide

React Native 0.84, released recently, introduces several important updates aimed at improving performance and streamlining the development experience. The most notable change is that Hermes V1 becomes the default JavaScript engine across both iOS and Android, promising speed and memory gains. Precompiled binaries are now standard on iOS, reducing build times. The team continues to phase out Legacy Architecture components, and Node.js 22 is now the minimum required version. This article answers common questions about what these changes mean for your apps and how to adapt.

What is the major change in React Native 0.84 regarding the JavaScript engine?

React Native 0.84 makes Hermes V1 the default JavaScript engine on both iOS and Android. Previously, Hermes V1 was an optional experiment introduced in version 0.82. Now, any new or existing project using the default configuration will automatically leverage Hermes V1. This engine is the next evolution of the Hermes runtime, featuring a refined compiler and virtual machine that together deliver better JavaScript execution speed and lower memory consumption. The change means that apps can benefit from improved performance without any manual configuration, as long as they are already using Hermes (which has been default since React Native 0.70). If you haven't customized your engine settings, your app will seamlessly upgrade to Hermes V1.

React Native 0.84: Key Changes and Migration Guide

How does the default Hermes V1 benefit existing apps?

For apps already on Hermes (the default since version 0.70), upgrading to 0.84 automatically provides Hermes V1 with no extra steps. The benefits include faster script execution, reduced garbage collection pauses, and lower memory usage overall. These improvements come from optimizations in the Hermes V1 compiler – such as better inline caching and improved bytecode generation – and a more efficient garbage collector. Essentially, your app runs smoother and responds quicker, especially on lower‑end devices. There is no need for code changes or migration scripts; the upgrade is handled entirely by the React Native build system. This is a drop‑in performance enhancement that lets you focus on feature development while the engine does the heavy lifting.

How can developers opt out of Hermes V1 if needed?

While Hermes V1 is default, some projects may require the previous Hermes version for compatibility reasons. To opt out, you can override the Hermes compiler package using your package manager. For example, in npm or Yarn, add an overrides or resolutions field in package.json pointing to hermes-compiler version 0.15.0. On iOS, when running pod install, set the environment variables RCT_HERMES_V1_ENABLED=0 and RCT_USE_PREBUILT_RNCORE=0 to force use of the legacy engine and source compilation. On Android, add hermesV1Enabled=false to android/gradle.properties and configure the app to build React Native from source. These steps ensure that your project continues using the earlier Hermes version if necessary.

What is the new default for iOS builds in React Native 0.84?

Starting with React Native 0.84, precompiled binaries are the default for iOS builds. Previously an opt‑in feature, this change means you no longer need to compile React Native core from source each time you do a clean build. Instead, the required .xcframework binaries are automatically downloaded and used during pod install. This dramatically reduces build times, especiallyfor initial setup or CI environments. If you need to build from source – for instance, to disable Hermes V1 – you can set RCT_USE_PREBUILT_RNCORE=0 when installing CocoaPods. Overall, this improvement simplifies the iOS development workflow and speeds up iteration cycles.

How has the Legacy Architecture removal progressed in 0.84?

Building on the decisions made in React Native 0.82 – which made the New Architecture the only runtime option – version 0.84 continues to strip out Legacy Architecture code from both iOS and Android. On iOS, the RCT_REMOVE_LEGACY_ARCH flag, introduced experimentally in 0.83, is now enabled by default. This means Legacy Architecture classes are no longer compiled into your iOS app, reducing both build time and binary size. The change is designed to be seamless: if your app is already on the New Architecture, no breakages are expected. This gradual removal, described in the official RFC, ensures a clean codebase going forward and encourages all developers to fully adopt the New Architecture.

What are the minimum version requirements for Node.js in this release?

React Native 0.84 raises the minimum required Node.js version to 22. This change ensures that developers benefit from the latest JavaScript runtime features and security updates available in Node.js 22. If your development environment currently uses an older Node.js version, you will need to upgrade to at least version 22 before you can install or build projects with React Native 0.84. You can check your current Node version using node --version and use a version manager like nvm to easily switch to a newer release. This requirement aligns with React Native’s strategy of leveraging modern tooling for better performance and developer experience.

How does this release impact migration from older React Native versions?

If you are migrating from an older version, the path to 0.84 is straightforward for most apps. The key change is the switch to Hermes V1, but since Hermes has been the default since 0.70, projects already on Hermes will automatically upgrade. For those still using JavaScriptCore (JSC), you will need to enable Hermes explicitly before upgrading to 0.84 to avoid breaking changes. Additionally, ensure you are on Node.js 22 and that your project does not rely on any removed Legacy Architecture APIs. The React Native upgrade helper and official changelog provide detailed steps. Overall, the release prioritizes backward compatibility, but checking your dependencies and build configuration is recommended for a smooth transition.

Tags:

Recommended

Discover More

xi88dagaking33sexliveMicrosoft’s Sovereign Cloud Leadership: A Platform for Compliance and Innovationwinvnking33Rare Sunset Total Solar Eclipse: 10 Hidden Spanish Spots Revealed for August 12 Viewingdagasexlivexi8810 Insights into Design’s Next Era: Making People Feel SeenMastering Perplexity's Mac-First Personal Computer Platform: A Comprehensive GuideAstra: ByteDance's Novel Dual-System Approach to Mobile Robot Navigationwinvn