React Native 0.79 Delivers Major Performance Gains and Tooling Overhaul
Breaking: React Native 0.79 Released with Significant Performance Upgrades
Meta has officially released React Native 0.79, bringing dramatic speed improvements to Metro bundler and Android startup, alongside critical changes to JavaScript engine support and module registration. The update promises faster development cycles and better compatibility with modern npm packages.
Metro Startup Now 3x Faster
Metro, the default JavaScript bundler, now launches up to three times faster thanks to deferred hashing. Early adopters report even larger gains in monorepo setups. "This change alone will save developers minutes every day," said a Meta engineering spokesperson.
Additionally, support for package.json "exports" and "imports" fields has been promoted to stable, enabling standards-compliant project organization. However, this introduces a breaking change affecting packages like Firebase and AWS Amplify. Teams encountering issues can set resolver.unstable_enablePackageExports = false as a temporary workaround.
JavaScriptCore Moves to Community Package
In a major shift, the JavaScriptCore (JSC) engine is being transitioned to a community-maintained package: @react-native-community/javascriptcore. This change does not impact Hermes users. "Decoupling JSC from the core allows more frequent updates and independent release cycles," explained the React Native core team.
The bundled JSC remains available in version 0.79 but will be removed in a future release. Developers using JSC should follow the new package's installation instructions.
iOS Gains Swift-Compatible Native Module Registration
Registering native modules on iOS now mirrors the component registration approach described in official docs. Developers modify package.json to hook into the React Native runtime, streamlining Swift integration.
Android Startup Boost and Remote Debugging Removal
Android app startup is faster due to optimized JS bundle compression. Meanwhile, Remote JS Debugging has been removed entirely, with developers encouraged to use Flipper or Chrome DevTools instead.
Background
React Native is Meta's open-source framework for building cross-platform mobile apps using JavaScript and React. Version 0.79 follows months of community testing and internal benchmarks.
The Metro bundler has been a persistent bottleneck for large projects. Deferred hashing delays file hash computation until needed, cutting cold start times dramatically. The package exports feature aligns React Native with Node.js and modern bundlers.
JSC has long been the default engine on iOS, while Hermes is preferred for Android. Moving JSC to a community package separates its release cadence from the main framework.
What This Means
For developers, the Metro speedup translates to faster CI builds and quicker iteration. The package exports change may require updates to project configurations, but ultimately improves compatibility with the npm ecosystem.
- Metro users should see immediate startup improvements; monorepo teams benefit most.
- JSC users must migrate to the community package before the next major version.
- iOS developers get a cleaner registration process for Swift native modules.
- Android developers gain faster cold starts.
- All developers lose Remote JS Debugging — use alternatives like Flipper.
The React Native team advises testing upgrades in a staging environment due to the breaking changes. With these improvements, version 0.79 sets a new baseline for performance in cross-platform development.
Related Discussions