Migrating to React Native v0.79.0-rc.0
Version v0.79.0-rc.0 introduces 9 breaking changes. This guide details how to update your code.
Released: 3/4/2025
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
unstable_enableLogBoxcom.facebook.react.modules.network.TLSSocketFactoryYellowBoxconsole.ignoredYellowBoxXHRInterceptorLibraries/Utilities/PlatformLibraries/Utilities/BackHandlerLibraries/DevMenuLibraries/StyleSheetvirtualized-listsBreaking Changes
●Issue #1
Deep imports using 'require' for modules in Libraries/DevMenu, Libraries/StyleSheet, Libraries/Modal, Libraries/Network, Libraries/PermissionsAndroid, Libraries/PushNotificationIOS, Libraries/EventEmitter, Libraries/Image, Libraries/LayoutAnimation, Libraries/Linking, Libraries/Lists, Libraries/ReactNative, Libraries/Text, Libraries/Share, Libraries/Settings, Libraries/Components, Libraries/Inspector, and react-native/virtualized-lists now require appending '.default'.
●Issue #2
Deep imports using 'require' for specific Utilities (dismissKeyboard, GlobalPerformanceLogger, SceneTracker, deepFreezeAndThrowOnMutationInDev, defineLazyObjectProperty, DeviceInfo, FeatureDetection, Platform, infoLog, logError, mapWithSeparator, warnOnce, binaryToBase64, DevSettings, PolyfillFunctions, RCTLog, BackHandler, DevLoadingView, HMRClient, differ) now require appending '.default'.
●Issue #3
Removed deprecated 'unstable_enableLogBox' function as LogBox is now enabled by default.
●Issue #4
Removed 'com.facebook.react.modules.network.TLSSocketFactory' class from Android.
●Issue #5
Unitless lengths are no longer allowed in filters and box shadows; explicit units must be provided.
●Issue #6
Removed legacy 'Libraries/JSInspector' modules.
●Issue #7
Removed deprecated 'YellowBox' and 'console.ignoredYellowBox' APIs in favor of 'LogBox'.
●Issue #8
Moved 'XHRInterceptor' and 'Libraries/Inspector/' modules to 'src/private/', restricting public access.
●Issue #9
Removed incorrect hwb() color syntax support from normalize-color.
Migration Steps
- 1Update all CommonJS 'require' calls for internal React Native libraries and utilities to include '.default' (e.g., require('Libraries/Utilities/Platform').default).
- 2Replace 'unstable_enableLogBox' calls with default LogBox behavior.
- 3Replace 'YellowBox' or 'console.ignoredYellowBox' usage with 'LogBox'.
- 4Update CSS-like styles for filters and box shadows to include units (e.g., change 10 to '10px').
- 5Update build configurations to use 'REACT_NATIVE_DEBUGGER_ENABLED' instead of 'HERMES_ENABLE_DEBUGGER'.
Release Summary
This release focuses on internal module refactoring, requiring '.default' for deep 'require' imports, and removing legacy debugging APIs like YellowBox in favor of LogBox.
Need More Details?
View the full release notes and all changes for React Native v0.79.0-rc.0.
View Full Changelog