Upgrading react-native 0.77 to 0.78
Breaking0.77.3 → 0.78.3Breaking13New20Changed21Fixed79Other1
BreakingUpgrade verdict
13 breaking changes.
In plain terms
- 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.
Must act 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 ↗What you must change
Breaking13
Removes the FuseboxClient.setClientMetadata CDP method in favor of ReactNativeApplication.enable.
FuseboxClient.setClientMetadataReactNativeApplication.enableDeletes the unused abstract class GuardedResultAsyncTask on Android.
GuardedResultAsyncTaskDeletes the deprecated FabricViewStateManager class on Android.
FabricViewStateManagerRemoves ComponentNameResolver from the public Android API.
ComponentNameResolverRemoves the as_const option (on by default) in fbsource.
as_constRemoves comment syntax from ReactNativeTypes.
ReactNativeTypesRemoves the JSCHeapCapture module and deprecates PackagerCommandListener#onCaptureHeapCommand.
JSCHeapCapturePackagerCommandListener#onCaptureHeapCommandCodegen separates component array types from command array types.
Migrating the pointerEvents API breaks Kotlin usages that access it as a val.
pointerEventsConverts RootView to Kotlin on Android.
RootViewChanges the iOS Image load event size info from logical size to pixel size.
Changes visibility of FrescoBasedReactTextInlineImageViewManager to internal on Android.
FrescoBasedReactTextInlineImageViewManagerMakes ReactCookieJarContainer internal on Android.
ReactCookieJarContainerAPI changes
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'