What's new
- Strict TypeScript API by default. Types are generated from the source code, more accurate and documented; deep imports from
react-native/Libraries/*are now type errors. - Metro 0.87. Source maps are built twice as fast with half the memory; TypeScript and ESM config files are supported as stable.
- Swift Package Manager on iOS (experimental) instead of CocoaPods — only Xcode is needed, no Ruby or Bundler.
- Android Gradle Plugin 9 — the first release that supports it.
What breaks when upgrading
- Minimum requirements: Node.js 22.13 and Kotlin 2.0; compileSdk is raised to 37.
InteractionManager, the Modalanimatedprop and deprecated StatusBar props are removed; TurboModules are always on.useColorScheme()now returnsnullinstead of'unspecified'.- Deep imports have to be replaced with the public API.
How to upgrade
- Go through the versions one by one and compare native file changes in the Upgrade Helper.
- Check third-party libraries for compatibility with the new version.
- Run regression tests on real iOS and Android devices before submitting to the stores.
We upgrade mobile apps built with React Native: we will estimate how many versions you are behind and which libraries need replacing, and ship the update to the App Store and Google Play.
Sources: release announcement, React Native release schedule.
