Migrating to React Native v0.84.0-rc.0
Version v0.84.0-rc.0 introduces 9 breaking changes. This guide details how to update your code.
Released: 1/8/2026
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
TurboModuleBindingTurboCxxModuleRCTCxxModuleCxxModuleJSTimerManagerCatalystInstanceunstable_shouldEnableLegacyModuleInteropNativeKindLazyReactPackageRCTPackagerConnectionRCTDevSettingsusePressabilityPressabilityConfigPressabilityEventHandlersURLURLSearchParamsNativeAnimatedModuleNativeAnimatedTurboModuleconnectAnimatedNodeToShadowNodeFamilyBreaking Changes
●Issue #1
Minimum Node.js version bumped to v22.11.
●Issue #2
TurboModuleBinding constructor is now private.
●Issue #3
TurboCxxModule, RCTCxxModule, and CxxModule (Java/Kotlin/C++) have been removed; migrate to TurboModules.
●Issue #4
Microtask API removed from JSTimerManager.
●Issue #5
CxxModule support removed from CatalystInstance.
●Issue #6
Android: unstable_shouldEnableLegacyModuleInterop() removed.
●Issue #7
Android: NativeKind class deleted.
●Issue #8
Android: Legacy architecture classes in uimanager.layoutanimation and LazyReactPackage removed.
●Issue #9
iOS: Legacy architecture is now disabled by default.
Migration Steps
- 1Upgrade Node.js environment to at least v22.11.
- 2Replace any usage of CxxModule, TurboCxxModule, or RCTCxxModule with the new TurboModule system.
- 3If using iOS, ensure compatibility with the New Architecture as legacy is now off by default.
- 4Update Android implementations to remove dependencies on LazyReactPackage and legacy layoutanimation classes.
Release Summary
This release bumps the minimum Node.js requirement to v22.11 and removes several legacy CxxModule and architecture components. It significantly expands AnimationBackend property support and improves web-standard API compliance for URL and Pressability.
Need More Details?
View the full release notes and all changes for React Native v0.84.0-rc.0.
View Full Changelog