Skip to content

Upgrading react-native 0.77 to 0.78

Breaking0.77.3 → 0.78.3Breaking13New20Changed21Fixed79Other1

BreakingUpgrade verdict

13 breaking changes.

  • Debugging tools that called the old CDP method must switch to the new enable method.
  • Android code referencing this unused class will no longer compile.
  • Android code using this deprecated class must stop using it.
  • Android code that used this public API can no longer access it.
Top 3 of 13 that need code or config changes

react-native publishes an official migration guide for version 0.78. It covers more than the release notes do.

Upgrade Helper ↗
Breaking13
Removes the FuseboxClient.setClientMetadata CDP method in favor of ReactNativeApplication.enable.
FuseboxClient.setClientMetadataReactNativeApplication.enable
Deletes the unused abstract class GuardedResultAsyncTask on Android.
GuardedResultAsyncTask
Deletes the deprecated FabricViewStateManager class on Android.
FabricViewStateManager
Removes ComponentNameResolver from the public Android API.
ComponentNameResolver
Removes the as_const option (on by default) in fbsource.
as_const
Removes comment syntax from ReactNativeTypes.
ReactNativeTypes
Removes the JSCHeapCapture module and deprecates PackagerCommandListener#onCaptureHeapCommand.
JSCHeapCapturePackagerCommandListener#onCaptureHeapCommand
Codegen separates component array types from command array types.
Migrating the pointerEvents API breaks Kotlin usages that access it as a val.
pointerEvents
Converts RootView to Kotlin on Android.
RootView
Changes the iOS Image load event size info from logical size to pixel size.
Changes visibility of FrescoBasedReactTextInlineImageViewManager to internal on Android.
FrescoBasedReactTextInlineImageViewManager
Makes ReactCookieJarContainer internal on Android.
ReactCookieJarContainer

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • changed: property DrawerLayoutAndroidProps.renderNavigationView: () => JSX.Element → property DrawerLayoutAndroidProps.renderNavigationView: () => React.JSX.Element
  • added: const experimental_LayoutConformance: React.ComponentType<LayoutConformanceProps>
  • added: property TextInputIOSProps.disableKeyboardShortcuts?: boolean | undefined
  • removed: property ViewProps.experimental_layoutConformance?: 'strict' | 'classic' | undefined
  • changed: property FlatListComponent.getScrollResponder: () => JSX.Element | null | undefined → property FlatListComponent.getScrollResponder: () => React.JSX.Element | null | undefined
  • added: property TextProps.pointerEvents?: ViewStyle['pointerEvents'] | undefined
  • added: export * from '../Libraries/Components/LayoutConformance/LayoutConformance'