How do you plan a React Native upgrade and the move to the New Architecture before an old version blocks your releases?
A plan for upgrading a React Native app: why version 0.82 and Expo SDK 55 run only on the New Architecture, how to inventory libraries, which version path to take, how to test and what the effort depends on.
It is worth planning a React Native upgrade as a two-step project. First move to React Native 0.81 or Expo SDK 54, the last versions in which the New Architecture can still be turned off, enable the New Architecture there and verify the app. Only then upgrade to a version the React Native team currently supports (in November 2026: 0.87 and 0.88), because from 0.82 onwards the old architecture is no longer available. Before you start, inventory the native libraries and your own native modules, because they decide the scope of work. The stores also set a deadline: from 31 August 2026 Google Play requires new apps and app updates to target Android 16 (API 36).
The short answer
Sources checked on 12 November 2026.
This guide is for the person responsible for a company app built with React Native (with or without Expo) who has to decide when and how to upgrade it. It describes the order of work, the risks and what to prepare before an estimate.
The short version: the older the version, the more native file and library changes arrive at once. An upgrade does not have to mean rewriting the app, but it needs a dependency inventory, a version path with a checkpoint on 0.81 and tests of the revenue-critical flows.
1. Why this upgrade has a deadline
Three platform changes make postponing the upgrade costly:
- React Native 0.82: no way back to the old architecture.
- Expo SDK 55: New Architecture only, based on React Native 0.83.
- Google Play: a required target API level for new releases from 31 August 2026.
React Native 0.82 is the first version that runs entirely on the New Architecture. According to the React Native 0.82 release announcement, setting newArchEnabled=false on Android and RCT_NEW_ARCH_ENABLED=0 on iOS is ignored in this version.
On the Expo side, the Expo guide to the New Architecture states that SDK 55 and later run only on the new architecture, SDK 55 uses React Native 0.83, and the old architecture was frozen in June 2025: it receives no new features or bug fixes.
The third change concerns the store. Under the Google Play target API level requirements, from 31 August 2026 new apps and app updates must target Android 16 (API 36), with exceptions: Wear OS and Android Automotive OS apps must target at least API 35, and Android TV and Android XR apps at least API 34. Existing apps must target at least API 35 to remain available to new users on newer Android versions.
2. Inventory before the estimate
The scope of an upgrade follows from what is in the project, not from the version number. Before anyone gives a date, collect this information:
| Item | What to check | Why it matters |
|---|---|---|
| React Native and Expo version | The current version in package.json and in the native files | The number of versions to cross affects the amount of native file changes |
| Libraries with native code | Whether they have a version that works with the New Architecture and are maintained | A library without support needs replacing, patching or your own module |
| Your own native modules | The number of modules and views written in Swift, Kotlin, Java or Objective-C | Each may need rewriting as Turbo Modules or Fabric components |
| Build tooling | Xcode, Gradle, Android Gradle Plugin and targetSdkVersion versions | Store requirements and new React Native versions also apply to tooling |
| Tests | Whether E2E tests exist for login, purchase and payment flows | Without them every change has to be checked by hand |
The New Architecture status of libraries can be checked on React Native Directory, which marks libraries that work with the new architecture. In Expo projects, the npx expo-doctor command checks dependencies against the data from this site.
3. A version path with a checkpoint on 0.81
The React Native team recommends that projects not yet on the New Architecture first upgrade to 0.81 or Expo SDK 54. These versions contain warnings that help with migration. The plan can look like this:
This split separates two risks: changes caused by the new React Native version and changes caused by the new architecture. When something stops working, it is easier to find the cause. Version 0.81 is only a transitional stage, though: according to the React Native releases page, in November 2026 versions 0.87 and 0.88 are actively supported, and 0.81 is no longer supported.
- Upgrade to 0.81 or SDK 54 with the old architecture, if the project is on an older version.
- Enable the New Architecture in the same version and fix the libraries and modules that do not support it.
- Release and observe the version with the new architecture in users' hands.
- Upgrade to a currently supported React Native version (in Expo: the latest SDK) once the app runs stably.
4. Changes in native files and dependencies
A React Native project consists of a JavaScript part, an Android project and an iOS project, so an upgrade touches all three.
In projects without Expo, the Upgrade Helper tool helps by showing the full list of file changes between two selected versions, with comments explaining some of the changes.
In Expo projects, the Expo SDK upgrade walkthrough describes the steps: installing the new expo package version, aligning dependencies with npx expo install --fix and checking with npx expo-doctor. Expo recommends moving one SDK version at a time.
If the project uses Continuous Native Generation, the android and ios directories are generated again, and native changes have to live in configuration and plugins. Manual edits in those directories without such configuration will be overwritten.
5. Libraries and your own native modules
For each library or module that does not work with the New Architecture, you have several ways out. The choice depends on how important the feature is and whether the library has active maintainers:
- Update the library to a version that works with the new architecture.
- Replace it with another library of similar scope if the current one is no longer developed.
- Patch it or keep your own fork when the change is small and the library is essential.
- Rewrite your own module as a Turbo Module or a Fabric component.
- Remove the feature if nobody uses it.
If an incompatible third-party library blocks the migration, the React Native team advises contacting its maintainers directly. It is worth doing at the inventory stage, not in the middle of the upgrade.
6. Testing and release
The new architecture changes how rendering and communication with native code work, so testing should cover how the app behaves on devices, not only whether it compiles. A checklist before release:
- E2E tests of login, purchase, payment and notification flows on Android and iOS.
- Screens with lists, animations and native views on older and newer phones.
- Crash and error reports from a test build before the store release.
- A rollback plan: the previous code ready to ship with a higher version number, and the option to halt a staged release.
Google Play and the App Store let you release a new version in stages (staged rollout on Google Play, phased release on the App Store). This gives time to watch for errors among some users before the version reaches everyone.
7. What the time and cost of an upgrade depend on
An upgrade cannot be timed reliably without an inventory, because two apps on the same version can have completely different dependencies. The scope depends on:
A reliable estimate contains the list of libraries with a decision for each one and a test plan. If an estimate gives only a number of days without such a list, ask for it before work starts.
- Version distance: how many React Native or Expo SDK releases separate the project from the target.
- Native libraries: how many need updating, replacing or patching.
- Your own native code: the number of modules and views to rewrite.
- Tests: whether automated tests exist or need to be written.
- Parallel development: whether the team ships new features at the same time.
8. When an upgrade alone is not enough
The inventory may show that the app has more problems than an outdated version: no tests, code without an owner, libraries abandoned by their authors or an architecture that makes every change hard.
Then it is worth comparing an upgrade with modernisation or a rewrite. We describe the criteria for that decision in our guide to repairing, modernising or rewriting a mobile app.
Before talking to a vendor, prepare repository access, a list of business-critical features, the app versions in the stores and whether releases are planned during the upgrade.
Frequently asked questions
- Do I have to move to the New Architecture?
- If you want React Native 0.82 or later, or Expo SDK 55 or later, yes: these versions run only on the new architecture. You can stay on 0.81 or SDK 54 for a while, but according to the Expo documentation the old architecture has received no new features or bug fixes since June 2025, and version 0.81 itself is outside the React Native support window.
- Can I skip several React Native versions at once?
- Upgrade Helper shows the changes between any two versions, so technically yes. The bigger the jump, the more changes land in one branch and the harder it is to find the cause of an error. In Expo projects the documentation recommends moving one SDK version at a time.
- Will the upgrade change how the app looks?
- The goal of an upgrade is not to change the look, but the new architecture changes how rendering works, so differences in screen layout or animations are possible. That is why the test plan should include a review of key screens on several devices.
- Can we keep shipping new features during the upgrade?
- You can, but every new feature with native libraries enlarges the upgrade scope. Agree with the team which changes to pause and which to ship, and how often to merge the upgrade branch with the main one to avoid large conflicts.
Tell us about your app and React Native version
Content updated: November 12, 2026
Google Preferred Sources
See GMI more often in Google
Add gmi.software as a preferred source. Google may highlight our new articles more often in Top Stories and supported AI experiences.