For developers · Checked 1 October 2026

React Native 0.87 and the latest version

Short answer: the latest stable React Native is 0.87.1, published on August 26, 2026; 0.87 itself was announced on August 11, 2026. It makes the Strict TypeScript API the default, so deep imports into react-native/Libraries become type errors, and it is the first release to support Android Gradle plugin 9. It also needs Node.js 22.13.0 or later and Kotlin 2.0 or later. React Native 0.88 is at release candidate 3 and not yet stable.

Toolchain changes in React Native 0.87

From the React Native 0.87 release post, read 1 October 2026.

AreaReact Native 0.87
Node.js22.13.0 or later
Kotlin (Android)2.0 or later; bundled 2.2.0
compileSdk and build tools37; libraries must compile against at least 34
Android Gradle pluginAGP 9 supported, with built-in Kotlin and new DSL turned off
Metro0.87, from 0.84
iOS dependenciesCocoaPods by default; Swift Package Manager experimental

Strict TypeScript API by default

React Native’s public JavaScript API is now limited to what react-native exports at its root, with types generated from the source code instead of maintained by hand. Imports from internal paths such as react-native/Libraries/* are now type errors, refs have dedicated types like ViewInstance and TextInputInstance, and the old *Properties aliases give way to *Props. The team says many apps will upgrade with few or no errors, and the migration guide covers each change. If you can’t migrate yet, add "react-native-legacy-deep-imports" to customConditions in tsconfig.json; this opt-out stays through 0.88, and the legacy types are due to be removed in the release after.

Android: AGP 9 with two opt-outs

0.87 is the first React Native release that supports AGP 9. For now the team recommends turning off two AGP 9 behaviors in android/gradle.properties: android.builtInKotlin=false and android.newDsl=false, and notes these opt-outs disappear in AGP 10. What those flags control is explained in the AGP 9 migration, and the Gradle side in the Gradle 9 upgrade. The minimum Kotlin is now 2.0, and compileSdk and build tools moved to 37. Raising compileSdk doesn’t change your target API level; Play’s rule for that is in Google Play’s target API level requirement.

iOS, Metro and removed APIs

iOS: experimental Swift Package Manager support lets you replace CocoaPods with npx react-native spm --deintegrate in the ios folder; the team says not to use it in production yet, and npx react-native spm deinit reverses it. New header-only XCFrameworks mean bare includes need their namespace, for example #import <React/RCTAppDelegate.h>. Metro 0.87 generates source maps twice as fast with half the memory, and drops YAML and .es6 config files. Removed: InteractionManager (use requestIdleCallback), the Modal animated prop, StatusBar backgroundColor and translucent, the useTurboModules flag, and the standalone react-devtools WebSocket connection. useColorScheme() no longer returns unspecified. ImageBackground and DrawerLayoutAndroid are deprecated.

Upgrading and Expo

Use the React Native Upgrade Helper to see the template diff between your version and 0.87, and read the upgrading docs. With 0.87 released, 0.84.x is no longer supported. Expo ships React Native versions through its SDKs; for where SDK 58 and React Native 0.88 stand, see Expo SDK 58. On iOS, also plan for the iOS 27 UIScene requirement.

Where Censuus fits

A current framework keeps your app easy to ship; being found brings people to it. Censuus ranks apps by the visits they draw, and adding your app is free through the List my app form. Placement comes from traffic and sponsorship: apps climb on the visits they draw, and a sponsor can pay to rise higher.

Frequently asked questions

What is the latest version of React Native?

React Native 0.87.1, published on August 26, 2026. React Native 0.88 is in release candidates.

When was React Native 0.87 released?

The React Native team announced 0.87 on August 11, 2026.

How do I opt out of the Strict TypeScript API?

Add "react-native-legacy-deep-imports" to customConditions in tsconfig.json. The opt-out remains available through React Native 0.88.

Does React Native support AGP 9?

Yes, from 0.87. The team recommends setting android.builtInKotlin=false and android.newDsl=false in gradle.properties for now.

What Node.js version does React Native 0.87 need?

Node.js 22.13.0 or later.

Can I use Swift Package Manager instead of CocoaPods?

Experimentally, from 0.87. CocoaPods remains the default and supported path, and the team says not to use SwiftPM in production yet.

Guides for app developers

Put your app in the ranking

Censuus ranks apps by the visits they draw and by sponsorship, no bots. Listing is free; sponsorship raises placement.