v0.84.0-rc.0
Breaking Changes📦 react-nativeView on GitHub →
⚠ 9 breaking✨ 8 features🔧 19 symbols
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.
⚠️ Breaking Changes
- Minimum Node.js version bumped to v22.11.
- TurboModuleBinding constructor is now private.
- TurboCxxModule, RCTCxxModule, and CxxModule (Java/Kotlin/C++) have been removed; migrate to TurboModules.
- Microtask API removed from JSTimerManager.
- CxxModule support removed from CatalystInstance.
- Android: unstable_shouldEnableLegacyModuleInterop() removed.
- Android: NativeKind class deleted.
- Android: Legacy architecture classes in uimanager.layoutanimation and LazyReactPackage removed.
- iOS: Legacy architecture is now disabled by default.
Migration Steps
- Upgrade Node.js environment to at least v22.11.
- Replace any usage of CxxModule, TurboCxxModule, or RCTCxxModule with the new TurboModule system.
- If using iOS, ensure compatibility with the New Architecture as legacy is now off by default.
- Update Android implementations to remove dependencies on LazyReactPackage and legacy layoutanimation classes.
✨ New Features
- AnimationBackend now supports maxWidth, maxHeight, minWidth, minHeight, flex, outline, filter, border width, positional (left/top/right/bottom), margin, padding, shadow, transform, border radius, and background color props.
- Support for parsing Readonly and ReadonlyArray in Flow utility types.
- Added ResourceReceivedData trace events for network data chunks in Performance timeline.
- Added experimental_backgroundSize, experimental_backgroundPosition, and experimental_backgroundRepeat to manual types.
- Exported usePressability hook and PressabilityConfig/PressabilityEventHandlers types to public API.
- URL and URLSearchParams now include missing standard properties (hash, host, pathname) and methods (get, set, delete).
- Added support for bundling .heic and .heif files.
- DevServer fast refresh banners now include a dismiss button.
🔧 Affected Symbols
TurboModuleBindingTurboCxxModuleRCTCxxModuleCxxModuleJSTimerManagerCatalystInstanceunstable_shouldEnableLegacyModuleInteropNativeKindLazyReactPackageRCTPackagerConnectionRCTDevSettingsusePressabilityPressabilityConfigPressabilityEventHandlersURLURLSearchParamsNativeAnimatedModuleNativeAnimatedTurboModuleconnectAnimatedNodeToShadowNodeFamily