React Native v0.89.0-rc.0 Release Notes & Developer Guide
What's New for Developers
React Native v0.89.0-rc.0 introduces useAppState(), new safe area and text-breaking props, and global Web APIs like structuredClone. The release brings substantial breaking changes around deprecated C++ headers, CLI plugin resolution, New Architecture bridgeless defaults, and removal of legacy iOS Animated and Android rncore APIs. Significant performance work targets text layout, touch handling, and TurboModule calls on both platforms, alongside new strict C++ API enforcement options for Android and iOS.
Highlights
- Added useAppState() hook for subscribing to app foreground/background state changes
- Added experimental_onSafeAreaInsetsChange view prop to report system UI overlap
- Added lineBreak and wordBreak props to Text on Android 13+ for CSS-style line breaking
- Exposed structuredClone and DOMException as global Web APIs with broader type support
- Many Android and iOS performance optimizations reduce allocations in Text, Touch, and TurboModule paths
- Added strictCxxApiEnabled (Android) and RN_STRICT_API (iOS) options to enforce stable C++ API
- Enabled prepared text layout caching and Android text measurement optimizations by default
Breaking Changes
- AccessibilityState::selected is now std::optional<bool> instead of coercing unset to false
- Removed react-native/assets-registry; use AssetRegistry from react-native or react-native/asset-utils
- Turned off babel/plugin-transform-destructuring in the default Babel preset
- Removed deprecated Geometry.h and conversions.h C++ headers; use React/Graphics.h or React/RendererCore.h
- react-native/community-cli-plugin must now be listed explicitly in devDependencies
- Removed Community CLI platform registration config from react-native package (requires cli 21.x)
- Fixed explicit fadeDuration being ignored on newly created Images
- unstable_batchedUpdates is now marked deprecated
- Fixed SectionList/VirtualizedSectionList scrollToLocation to account for headers correctly
- Removed deprecated rncore.h on Android; use FBReactNativeSpec.h and FBReactNativeSpec_ModuleProvider
- Removed DefaultNewArchitectureEntryPoint.bridgelessEnabled and three-argument load() overload on Android
- Removed DefaultNewArchitectureEntryPoint fabricEnabled, turboModulesEnabled, concurrentReactEnabled, isConfigurationValid
- Deleted legacy RCTNativeAnimatedModule from iOS
- CocoaPods now installs React-cxxreact headers under cxxreact/ inside frameworks when USE_FRAMEWORKS is enabled
- Removed deprecated bridgelessEnabled property and initializers from RCTRootViewFactoryConfiguration on iOS
- RCTBridgeModule's +moduleName is now optional instead of required for TurboModules
Deprecations
- JavaTurboModule::invokeJavaMethod with cachedMethodID argument deprecated
- Legacy View-based surface lifecycle methods in Android UIManager deprecated
- RCTBridge.bundleURL, setRCTTurboModuleRegistry:, and bridgeModuleDecorator deprecated on iOS
- Unused old-architecture RCTBridge APIs deprecated ahead of removal
- RCTSurfacePresenter addObserver: marked deprecated; use RCTMountingTransactionObserverCoordinator instead
- unstable_batchedUpdates marked as deprecated
Recent Releases
All releases →
v0.89.0-rc.0
Nov 4, 2026
Release Notes →
v0.88.0-rc.6
Oct 27, 2026
Release Notes →
v0.88.1
Oct 27, 2026
Release Notes →
v0.88.0
Oct 15, 2026
Release Notes →
v0.88.0-rc.5
Oct 12, 2026
Release Notes →
v0.88.0-rc.4
Oct 7, 2026
Release Notes →
v0.88.0-rc.3
Sep 28, 2026
Release Notes →
v0.88.0-rc.2
Sep 22, 2026
Release Notes →
v0.88.0-rc.1
Sep 16, 2026
Release Notes →
v0.88.0-rc.0
Sep 8, 2026
Release Notes →
v0.87.1
Aug 26, 2026
Release Notes →