Change8

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

9
Breaking Changes
5
Migration Steps
10
Affected Symbols

⚠️ 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-lists

Breaking 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

  1. 1
    Update all CommonJS 'require' calls for internal React Native libraries and utilities to include '.default' (e.g., require('Libraries/Utilities/Platform').default).
  2. 2
    Replace 'unstable_enableLogBox' calls with default LogBox behavior.
  3. 3
    Replace 'YellowBox' or 'console.ignoredYellowBox' usage with 'LogBox'.
  4. 4
    Update CSS-like styles for filters and box shadows to include units (e.g., change 10 to '10px').
  5. 5
    Update 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