React Native 0.80, released on 12 June 2025, introduces performance improvements, architectural enhancements, and tooling updates that impact both new and existing apps. For developers, understanding these changes is crucial before upgrading.
This version strengthens TypeScript support, moves toward the New Architecture, and deprecates older patterns. In this guide, we explain all the updates, their practical impact, and how to migrate your project efficiently. If you are new to React Native, you can learn more in our React Native overview.
React Native 0.80 delivers performance improvements, cleaner APIs, and updated dependencies. Here is a summary of the main changes:
2. Updated Packages:
eslint-plugin-react-hooks
upgraded from v4.6.0 to v5.2.0
Kotlin upgraded to v2.1.20 for Android projects
Legacy Architecture Frozen: No new features or bug fixes will be provided for the legacy system.
New Architecture Encouraged: DevTools now show warnings for deprecated APIs that will not work in the new system.
Fabric and TurboModules: Both remain fundamental in the New Architecture, although no additional changes were introduced in this release.
Deep Import Deprecation: Deep JavaScript imports, such as react-native/Libraries/Alert/Alert, are now deprecated. Apps should switch to root-level imports.
"exports" Field Added: React Native’s package.json now includes an exports field. This is backward-compatible in 0.80 but affects Metro bundler platform-specific expansions and Jest mocks.
Hook Linting Changes: Upgrading to eslint-plugin-react-hooks@5.2.0
may trigger new rule violations.
Android-Specific Changes: Removal of StandardCharsets and migration of certain classes to Kotlin.
iOS-Specific Changes: RCTFloorPixelValue
has been removed from RCTUtils.h
.
React Native 0.80 introduces an experimental strict TypeScript mode, which generates type definitions directly from the source code. This change aligns with the deprecation of deep imports and provides a more accurate developer experience for public APIs.
The release includes a new .xcframework prebuild with dependencies like Folly and GLog, which reduces iOS build times by roughly 12% on M4 chips and resolves several common build issues.
The default app template, used with the Community CLI, now features a cleaner design extracted into its own package.
APK Size Reduction: Android builds using Hermes benefit from IPO optimizations that remove redundant code and reduce app size.
Improved DevTools Warnings: Warnings are now more precise, making it easier to identify deprecated APIs, architecture misconfigurations, or outdated project setups.
React 19.1 Owner Stack Debugging: Provides improved component-level tracing, although some issues remain due to @babel/plugin-transform-function-name.
Use the React Native upgrade helper to compare your current version with 0.80 and see required file changes.
Expo users can try 0.80 through a canary SDK release.
Developers can temporarily opt out of the New Architecture during migration to reduce risk of regressions.
Owner Stack Debugging Issue: @babel/plugin-transform-function-name interferes with owner stacks. A fix is expected in a future release.
iOS Prebuilds Are Experimental: Prebuilt dependencies may cause unexpected issues and are opt-in.
"exports" Field Side Effects: Module resolution and Jest mocks may behave differently depending on configuration.
Feature |
Description |
Practical Impact |
Legacy Architecture Frozen |
No further updates to old system |
Encourages migration to New Architecture |
IPO for Android |
Optimizes code across methods |
Smaller APK size and improved performance |
Strict TypeScript API |
Auto-generated types for public API |
Reduces errors and deprecated deep imports |
Prebuilt iOS Dependencies |
Folly, GLog, and others prebuilt |
Faster, more reliable iOS builds |
DevTools & React 19.1 |
Clearer warnings and debugging support |
Easier error tracing and smoother workflows |
JavaScriptCore (JSC) Community Maintenance |
Maintained independently via @react-native-community/javascriptcore |
Hermes recommended for projects |
Review the Upgrade Helper: Use the React Native upgrade helper to compare versions and track changes in package.json, Gradle, Podfile, and other files.
Back Up Your Project: Commit code or create a backup branch to allow rollback if needed.
Upgrade Dependencies: Run:
npm install react-native@0.80.0 react@19.1.0
# or with Yarn
yarn add react-native@0.80.0 react@19.1.0
Update supporting libraries and check compatibility with 0.80.
Clean and Reinstall Dependencies: Remove old builds and caches, then reinstall:
rm -rf node_modules ios/Pods android/build
npm cache clean --force
npm install
cd ios && pod install && cd ..
This is also a good time to review modern UI libraries for full 0.80 support.
Align With the New Architecture: Optional but recommended:
Android: gradle.properties → newArchEnabled=true
iOS: Enable Fabric and TurboModules
Handle Deprecated APIs: Address warnings for removed methods or configurations.
Monitor JSC Usage: Switch to Hermes or migrate to the community JSC package if your app depends on JavaScriptCore.
For guidance on debugging workflows, see our debugging process article.
Upgrading depends on your app’s current state. For new projects or major feature work, React Native 0.80 is a strong choice.
Benefits include:
Clearer debugging with React 19.1
Compatibility with the New Architecture
Metro bundler improvements
Stricter TypeScript support
If your existing app is stable but behind on dependencies or performance, 0.80 provides a safe upgrade path. Following best practices for scalable React Native apps ensures maintainability and faster iteration cycles.
Our React Native development team can help build new apps or assist in migrating to 0.80 safely.
Key changes include deep import deprecations, Android/iOS API updates, hook linting adjustments, and the addition of the exports field in package.json.
To upgrade, first back up your project and read the official changelog. Use the react-native upgrade command, resolve any breaking changes, and test your app thoroughly, especially if you’re enabling Hermes or using native modules. Always use a separate Git branch when upgrading.
Follow the migration guide above, use the React Native upgrade helper, back up your project, update dependencies, and optionally enable the New Architecture.
Upgrade if starting a new project or planning significant updates. For stable existing apps, a careful migration plan is recommended.
Get In Touch
Contact us for your software development requirements
Get In Touch
Contact us for your software development requirements