Skip to content

Upgrading react-native 0.71 to 0.72

Review needed0.71.19 → 0.72.17New7Changed21Fixed59

Review neededUpgrade verdict

21 changed defaults.

  • Nothing in this range needs changes to your code. It adds features and fixes.
Nothing to change

No breaking, platform, security or deprecated items in this range.

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

Upgrade helper ↗

Node.js requirement changed in 0.72.0-rc.0: >=14 → >=16.

Adds @react-native/assets-registry ^0.72.0, @react-native/codegen ^0.72.8, @react-native/gradle-plugin ^0.72.11, @react-native/js-polyfills ^0.72.1, @react-native/normalize-colors ^0.72.0, @react-native/virtualized-lists ^0.72.8, flow-enums-runtime ^0.0.5, yargs ^17.6.2.

Drops @react-native/assets, @react-native/normalize-color, @react-native/polyfills, metro-react-native-babel-transformer, react-native-codegen, react-native-gradle-plugin.

Nothing in this upgrade needs a code or configuration change.

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

  • changed: property AlertButton.isPreferred?: boolean → property AlertButton.isPreferred?: boolean | undefined
  • changed: class Animated.FlatList<ItemT = any> extends React.Component<AnimatedProps<FlatListProps<ItemT>>> → class Animated.FlatList<ItemT = any> extends FlatListComponent<ItemT, AnimatedProps<FlatListProps<ItemT>>>
  • changed: class Animated.SectionList<ItemT = any, SectionT = DefaultSectionT> extends React.Component<AnimatedProps<SectionListProps<ItemT, SectionT>>> → class Animated.SectionList<ItemT = any, SectionT = DefaultSectionT> extends SectionListComponent<AnimatedProps<SectionListProps<ItemT, SectionT>>>
  • changed: type Animated.AnimatedComponentOptions = { collapsable?: boolean } → type Animated.AnimatedComponentOptions = { collapsable?: boolean | undefined }
  • changed: type Animated.TAugmentRef<T> = T extends React.Ref<infer R> ? React.Ref<R | LegacyRef<R>> : never → type Animated.TAugmentRef<T> = T extends React.Ref<infer R> ? unknown extends R ? never : React.Ref<R | LegacyRef<R>> : never
  • changed: method AccessibilityInfoStatic.announceForAccessibilityWithOptions(announcement: string, options: { queue?: boolean }): void → method AccessibilityInfoStatic.announceForAccessibilityWithOptions(announcement: string, options: { queue?: boolean | undefined }): void
  • removed: class DatePickerIOS extends DatePickerIOSBase
  • removed: interface DatePickerIOSProps extends ViewProps
  • removed: property DatePickerIOSProps.date?: Date | null | undefined
  • removed: property DatePickerIOSProps.initialDate?: Date | null | undefined
  • removed: property DatePickerIOSProps.locale?: string | undefined
  • removed: property DatePickerIOSProps.maximumDate?: Date | undefined
  • removed: property DatePickerIOSProps.minimumDate?: Date | undefined
  • removed: property DatePickerIOSProps.minuteInterval?: 1 | 2 | 3 | 4 | 5 | 6 | 10 | 12 | 15 | 20 | 30 | undefined
  • removed: property DatePickerIOSProps.mode?: 'date' | 'time' | 'datetime' | undefined
  • removed: property DatePickerIOSProps.onDateChange: (newDate: Date) => void
  • removed: property DatePickerIOSProps.pickerStyle?: 'compact' | 'spinner' | 'inline' | undefined
  • removed: property DatePickerIOSProps.timeZoneOffsetInMinutes?: number | undefined
  • changed: property PressableProps.unstable_pressDelay?: number → property PressableProps.unstable_pressDelay?: number | undefined
  • removed: class ProgressViewIOS extends ProgressViewIOSBase
  • removed: interface ProgressViewIOSProps extends ViewProps
  • removed: property ProgressViewIOSProps.progress?: number | undefined
  • removed: property ProgressViewIOSProps.progressImage?: ImageURISource | ImageURISource[] | undefined
  • removed: property ProgressViewIOSProps.progressTintColor?: ColorValue | undefined
  • removed: property ProgressViewIOSProps.progressViewStyle?: 'default' | 'bar' | undefined
  • removed: property ProgressViewIOSProps.trackImage?: ImageURISource | ImageURISource[] | undefined
  • removed: property ProgressViewIOSProps.trackTintColor?: ColorValue | undefined
  • changed: method ScrollView.scrollToEnd(options?: { animated?: boolean }): void → method ScrollView.scrollToEnd(options?: { animated?: boolean | undefined }): void
  • changed: property ScrollViewProps.stickyHeaderHiddenOnScroll?: boolean → property ScrollViewProps.stickyHeaderHiddenOnScroll?: boolean | undefined
  • removed: class Slider extends SliderBase
  • removed: interface SliderProps extends SliderPropsIOS, SliderPropsAndroid
  • removed: interface SliderPropsAndroid extends ViewProps
  • removed: interface SliderPropsIOS extends ViewProps
  • removed: property SliderProps.disabled?: boolean | undefined
  • removed: property SliderProps.maximumTrackTintColor?: ColorValue | undefined
  • removed: property SliderProps.maximumValue?: number | undefined
  • removed: property SliderProps.minimumTrackTintColor?: ColorValue | undefined
  • removed: property SliderProps.minimumValue?: number | undefined
  • removed: property SliderProps.onSlidingComplete?: ((value: number) => void) | undefined
  • removed: property SliderProps.onValueChange?: ((value: number) => void) | undefined
  • removed: property SliderProps.step?: number | undefined
  • removed: property SliderProps.style?: StyleProp<ViewStyle> | undefined
  • removed: property SliderProps.testID?: string | undefined
  • removed: property SliderProps.value?: number | undefined
  • removed: property SliderPropsAndroid.thumbTintColor?: ColorValue | undefined
  • removed: property SliderPropsIOS.maximumTrackImage?: ImageURISource | undefined
  • removed: property SliderPropsIOS.minimumTrackImage?: ImageURISource | undefined
  • removed: property SliderPropsIOS.thumbImage?: ImageURISource | undefined
  • removed: property SliderPropsIOS.trackImage?: ImageURISource | undefined
  • removed: type SliderIOS = Slider
  • changed: property InputAccessoryViewProps.children?: React.ReactNode → property InputAccessoryViewProps.children?: React.ReactNode | undefined
  • changed: type KeyboardType = 'default' | 'email-address' | 'numeric' | 'phone-pad' | 'number-pad' | 'decimal-pad' → type KeyboardType = 'default' | 'number-pad' | 'decimal-pad' | 'numeric' | 'email-address' | 'phone-pad' | 'url'
  • changed: type KeyboardTypeIOS = 'ascii-capable' | 'numbers-and-punctuation' | 'url' | 'name-phone-pad' | 'twitter' | 'web-search' → type KeyboardTypeIOS = 'ascii-capable' | 'numbers-and-punctuation' | 'name-phone-pad' | 'twitter' | 'web-search'
  • added: property TextInputIOSProps.lineBreakStrategyIOS?: | 'none' | 'standard' | 'hangul-word' | 'push-out' | undefined
  • added: property TextInputProps.enterKeyHint?: EnterKeyHintTypeOptions | undefined
  • added: type EnterKeyHintType = 'done' | 'go' | 'next' | 'search' | 'send'
  • added: type EnterKeyHintTypeAndroid = 'previous'
  • added: type EnterKeyHintTypeIOS = 'enter'
  • added: type EnterKeyHintTypeOptions = EnterKeyHintType | EnterKeyHintTypeAndroid | EnterKeyHintTypeIOS
  • changed: property TouchableWithoutFeedbackProps.children?: React.ReactNode → property TouchableWithoutFeedbackProps.children?: React.ReactNode | undefined
  • changed: property AccessibilityProps.'aria-valuemax'?: AccessibilityValue['max'] → property AccessibilityProps.'aria-valuemax'?: AccessibilityValue['max'] | undefined
  • changed: property AccessibilityProps.'aria-valuemin'?: AccessibilityValue['min'] → property AccessibilityProps.'aria-valuemin'?: AccessibilityValue['min'] | undefined
  • changed: property AccessibilityProps.'aria-valuenow'?: AccessibilityValue['now'] → property AccessibilityProps.'aria-valuenow'?: AccessibilityValue['now'] | undefined
  • changed: property AccessibilityProps.'aria-valuetext'?: AccessibilityValue['text'] → property AccessibilityProps.'aria-valuetext'?: AccessibilityValue['text'] | undefined
  • changed: property AccessibilityProps.role?: Role → property AccessibilityProps.role?: Role | undefined
  • changed: property ViewProps.children?: React.ReactNode → property ViewProps.children?: React.ReactNode | undefined
  • added: const DevToolsSettingsManager: DevToolsSettingsManagerStatic
  • added: interface DevToolsSettingsManagerStatic
  • added: method DevToolsSettingsManagerStatic.getConsolePatchSettings(): string | null
  • added: method DevToolsSettingsManagerStatic.getProfilingSettings(): string | null
  • added: method DevToolsSettingsManagerStatic.reload(): void
  • added: method DevToolsSettingsManagerStatic.setConsolePatchSettings(newSettings: string): void
  • added: method DevToolsSettingsManagerStatic.setProfilingSettings(newSettings: string): void
  • added: type DevToolsSettingsManager = DevToolsSettingsManagerStatic
  • changed: property ImageBackgroundProps.children?: React.ReactNode → property ImageBackgroundProps.children?: React.ReactNode | undefined
  • added: property ImagePropsBase.crossOrigin?: 'anonymous' | 'use-credentials' | undefined
  • added: property ImagePropsBase.height?: number | undefined
  • added: property ImagePropsBase.referrerPolicy?: | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' | undefined
  • added: property ImagePropsBase.src?: string | undefined
  • added: property ImagePropsBase.srcSet?: string | undefined
  • added: property ImagePropsBase.tintColor?: ColorValue | undefined
  • added: property ImagePropsBase.width?: number | undefined
  • removed: property FlatList.flashScrollIndicators: () => void
  • removed: property FlatList.getNativeScrollRef: () => | React.ElementRef<typeof View> | React.ElementRef<typeof ScrollViewComponent> | null | undefined
  • removed: property FlatList.getScrollResponder: () => JSX.Element | null | undefined
  • removed: property FlatList.getScrollableNode: () => any
  • removed: property FlatList.recordInteraction: () => void
  • removed: property FlatList.scrollToEnd: (params?: { animated?: boolean | null | undefined }) => void
  • removed: property FlatList.scrollToIndex: (params: { animated?: boolean | null | undefined; index: number; viewOffset?: number | undefined; viewPosition?: number | undefined }) => void
  • removed: property FlatList.scrollToItem: (params: { animated?: boolean | null | undefined; item: ItemT; viewOffset?: number | undefined; viewPosition?: number | undefined }) => void
  • removed: property FlatList.scrollToOffset: (params: { animated?: boolean | null | undefined; offset: number }) => void
  • removed: property FlatList.setNativeProps: (props: { [key: string]: any }) => void
  • removed: property FlatListProps.onEndReached?: ((info: { distanceFromEnd: number }) => void) | null | undefined
  • removed: property FlatListProps.onEndReachedThreshold?: number | null | undefined
  • changed: class FlatList<ItemT = any> extends React.Component<FlatListProps<ItemT>> → class FlatList<ItemT = any> extends FlatListComponent<ItemT, FlatListProps<ItemT>>
  • changed: property FlatListProps.extraData?: any → property FlatListProps.extraData?: any | undefined
  • changed: property FlatListProps.getItemLayout?: | ((data: Array<ItemT> | null | undefined, index: number) => { length: number; offset: number; index: number }) | undefined → property FlatListProps.getItemLayout?: | ((data: ArrayLike<ItemT> | null | undefined, index: number) => { length: number; offset: number; index: number }) | undefined
  • changed: property FlatListProps.viewabilityConfig?: any → property FlatListProps.viewabilityConfig?: any | undefined
  • added: abstract class FlatListComponent<ItemT, Props> extends React.Component<Props>
  • added: property FlatListComponent.flashScrollIndicators: () => void
  • added: property FlatListComponent.getNativeScrollRef: () => | React.ElementRef<typeof View> | React.ElementRef<typeof ScrollViewComponent> | null | undefined
  • added: property FlatListComponent.getScrollResponder: () => JSX.Element | null | undefined
  • added: property FlatListComponent.getScrollableNode: () => any
  • added: property FlatListComponent.recordInteraction: () => void
  • added: property FlatListComponent.scrollToEnd: (params?: { animated?: boolean | null | undefined }) => void
  • added: property FlatListComponent.scrollToIndex: (params: { animated?: boolean | null | undefined; index: number; viewOffset?: number | undefined; viewPosition?: number | undefined }) => void
  • added: property FlatListComponent.scrollToItem: (params: { animated?: boolean | null | undefined; item: ItemT; viewOffset?: number | undefined; viewPosition?: number | undefined }) => void
  • added: property FlatListComponent.scrollToOffset: (params: { animated?: boolean | null | undefined; offset: number }) => void
  • added: property FlatListComponent.setNativeProps: (props: { [key: string]: any }) => void
  • removed: method SectionList.flashScrollIndicators(): void
  • removed: method SectionList.getScrollResponder(): ScrollView | undefined
  • removed: method SectionList.getScrollableNode(): NodeHandle | undefined
  • removed: method SectionList.recordInteraction(): void
  • removed: method SectionList.scrollToLocation(params: SectionListScrollParams): void
  • changed: class SectionList<ItemT = any, SectionT = DefaultSectionT> extends React.Component<SectionListProps<ItemT, SectionT>> → class SectionList<ItemT = any, SectionT = DefaultSectionT> extends SectionListComponent<SectionListProps<ItemT, SectionT>>
  • changed: property SectionListProps.extraData?: any → property SectionListProps.extraData?: any | undefined
  • added: abstract class SectionListComponent<Props> extends React.Component<Props>
  • added: method SectionListComponent.flashScrollIndicators(): void
  • added: method SectionListComponent.getScrollResponder(): ScrollView | undefined
  • added: method SectionListComponent.getScrollableNode(): NodeHandle | undefined
  • added: method SectionListComponent.recordInteraction(): void
  • added: method SectionListComponent.scrollToLocation(params: SectionListScrollParams): void
  • removed: class VirtualizedList<ItemT> extends React.Component<VirtualizedListProps<ItemT>>
  • removed: interface ListRenderItemInfo<ItemT>
  • removed: interface ViewToken
  • removed: interface ViewabilityConfig
  • removed: interface ViewabilityConfigCallbackPair
  • removed: interface VirtualizedListProps<ItemT> extends VirtualizedListWithoutRenderItemProps<ItemT>
  • removed: interface VirtualizedListWithoutRenderItemProps<ItemT> extends ScrollViewProps
  • removed: property ListRenderItemInfo.index: number
  • removed: property ListRenderItemInfo.item: ItemT
  • removed: property ListRenderItemInfo.separators: { highlight: () => void; unhighlight: () => void; updateProps: (select: 'leading' | 'trailing', newProps: any) => void }
  • removed: property ViewToken.index: number | null
  • removed: property ViewToken.isViewable: boolean
  • removed: property ViewToken.item: any
  • removed: property ViewToken.key: string
  • removed: property ViewToken.section?: any
  • removed: property ViewabilityConfig.itemVisiblePercentThreshold?: number | undefined
  • removed: property ViewabilityConfig.minimumViewTime?: number | undefined
  • removed: property ViewabilityConfig.viewAreaCoveragePercentThreshold?: number | undefined
  • removed: property ViewabilityConfig.waitForInteraction?: boolean | undefined
  • removed: property ViewabilityConfigCallbackPair.onViewableItemsChanged: | ((info: { viewableItems: Array<ViewToken>; changed: Array<ViewToken> }) => void) | null
  • removed: property ViewabilityConfigCallbackPair.viewabilityConfig: ViewabilityConfig
  • removed: property VirtualizedList.getScrollRef: () => | React.ElementRef<typeof ScrollView> | React.ElementRef<typeof View> | null
  • removed: property VirtualizedList.getScrollResponder: () => ScrollResponderMixin | null
  • removed: property VirtualizedList.recordInteraction: () => void
  • removed: property VirtualizedList.scrollToEnd: (params?: { animated?: boolean | undefined }) => void
  • removed: property VirtualizedList.scrollToIndex: (params: { animated?: boolean | undefined; index: number; viewOffset?: number | undefined; viewPosition?: number | undefined }) => void
  • removed: property VirtualizedList.scrollToItem: (params: { animated?: boolean | undefined; item: ItemT; viewOffset?: number | undefined; viewPosition?: number | undefined }) => void
  • removed: property VirtualizedList.scrollToOffset: (params: { animated?: boolean | undefined; offset: number }) => void
  • removed: property VirtualizedListProps.renderItem: ListRenderItem<ItemT> | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.CellRendererComponent?: React.ComponentType<any> | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.ItemSeparatorComponent?: React.ComponentType<any> | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.ListEmptyComponent?: | React.ComponentType<any> | React.ReactElement | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.ListFooterComponent?: | React.ComponentType<any> | React.ReactElement | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.ListFooterComponentStyle?: StyleProp<ViewStyle> | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.ListHeaderComponent?: | React.ComponentType<any> | React.ReactElement | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.ListHeaderComponentStyle?: StyleProp<ViewStyle> | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.data?: any
  • removed: property VirtualizedListWithoutRenderItemProps.debug?: boolean | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.disableVirtualization?: boolean | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.extraData?: any
  • removed: property VirtualizedListWithoutRenderItemProps.getItem?: ((data: any, index: number) => ItemT) | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.getItemCount?: ((data: any) => number) | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.getItemLayout?: | ((data: any, index: number) => { length: number; offset: number; index: number }) | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.horizontal?: boolean | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.initialNumToRender?: number | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.initialScrollIndex?: number | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.inverted?: boolean | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.keyExtractor?: ((item: ItemT, index: number) => string) | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.maxToRenderPerBatch?: number | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.onEndReached?: ((info: { distanceFromEnd: number }) => void) | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.onEndReachedThreshold?: number | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.onLayout?: ((event: LayoutChangeEvent) => void) | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.onRefresh?: (() => void) | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.onScrollToIndexFailed?: | ((info: { index: number; highestMeasuredFrameIndex: number; averageItemLength: number }) => void) | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.onViewableItemsChanged?: | ((info: { viewableItems: Array<ViewToken>; changed: Array<ViewToken> }) => void) | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.progressViewOffset?: number | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.refreshing?: boolean | null | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.removeClippedSubviews?: boolean | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.renderScrollComponent?: | ((props: ScrollViewProps) => React.ReactElement<ScrollViewProps>) | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.updateCellsBatchingPeriod?: number | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.viewabilityConfig?: ViewabilityConfig | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs | undefined
  • removed: property VirtualizedListWithoutRenderItemProps.windowSize?: number | undefined
  • removed: type ListRenderItem<ItemT> = (info: ListRenderItemInfo<ItemT>) => React.ReactElement | null
  • removed: type ViewabilityConfigCallbackPairs = ViewabilityConfigCallbackPair[]
  • removed: function unstable_batchedUpdates(callback: () => any): void
  • removed: function unstable_batchedUpdates<A, B>(callback: (a: A, b: B) => any, a: A, b: B): void
  • removed: function unstable_batchedUpdates<A>(callback: (a: A) => any, a: A): void
  • removed: interface GestureResponderHandlers
  • removed: property GestureResponderHandlers.onMoveShouldSetResponder?: | ((event: GestureResponderEvent) => boolean) | undefined
  • removed: property GestureResponderHandlers.onMoveShouldSetResponderCapture?: | ((event: GestureResponderEvent) => boolean) | undefined
  • removed: property GestureResponderHandlers.onResponderEnd?: ((event: GestureResponderEvent) => void) | undefined
  • removed: property GestureResponderHandlers.onResponderGrant?: ((event: GestureResponderEvent) => void) | undefined
  • removed: property GestureResponderHandlers.onResponderMove?: ((event: GestureResponderEvent) => void) | undefined
  • removed: property GestureResponderHandlers.onResponderReject?: ((event: GestureResponderEvent) => void) | undefined
  • removed: property GestureResponderHandlers.onResponderRelease?: ((event: GestureResponderEvent) => void) | undefined
  • removed: property GestureResponderHandlers.onResponderStart?: ((event: GestureResponderEvent) => void) | undefined
  • removed: property GestureResponderHandlers.onResponderTerminate?: ((event: GestureResponderEvent) => void) | undefined
  • removed: property GestureResponderHandlers.onResponderTerminationRequest?: | ((event: GestureResponderEvent) => boolean) | undefined
  • removed: property GestureResponderHandlers.onStartShouldSetResponder?: | ((event: GestureResponderEvent) => boolean) | undefined
  • removed: property GestureResponderHandlers.onStartShouldSetResponderCapture?: | ((event: GestureResponderEvent) => boolean) | undefined
  • removed: interface HostComponent<P> extends Pick<React.ComponentClass<P>, Exclude<keyof React.ComponentClass<P>, 'new'>>
  • removed: interface NativeMethods
  • removed: method NativeMethods.blur(): void
  • removed: method NativeMethods.focus(): void
  • removed: method NativeMethods.measure(callback: MeasureOnSuccessCallback): void
  • removed: method NativeMethods.measureInWindow(callback: MeasureInWindowOnSuccessCallback): void
  • removed: method NativeMethods.measureLayout(relativeToNativeComponentRef: HostComponent<unknown> | number, onSuccess: MeasureLayoutOnSuccessCallback, onFail: () => void): void
  • removed: method NativeMethods.setNativeProps(nativeProps: object): void
  • removed: new HostComponent(props: P, context?: any): React.Component<P> & Readonly<NativeMethods>
  • removed: property NativeMethods.refs: { [key: string]: React.Component<any, any> }
  • removed: type MeasureInWindowOnSuccessCallback = (x: number, y: number, width: number, height: number) => void
  • removed: type MeasureLayoutOnSuccessCallback = (left: number, top: number, width: number, height: number) => void
  • removed: type MeasureOnSuccessCallback = (x: number, y: number, width: number, height: number, pageX: number, pageY: number) => void
  • removed: type NativeMethodsMixin = NativeMethods
  • removed: type NativeMethodsMixinType = NativeMethods
  • removed: property ImageStyle.borderWidth?: number | undefined
  • removed: property TextStyleIOS.letterSpacing?: number | undefined
  • removed: property ViewStyle.borderBottomWidth?: number | undefined
  • removed: property ViewStyle.borderLeftWidth?: number | undefined
  • removed: property ViewStyle.borderRightWidth?: number | undefined
  • removed: property ViewStyle.borderTopWidth?: number | undefined
  • removed: property ViewStyle.borderWidth?: number | undefined
  • changed: property FlexStyle.borderEndWidth?: number | string | undefined → property FlexStyle.borderEndWidth?: number | undefined
  • changed: property FlexStyle.borderStartWidth?: number | string | undefined → property FlexStyle.borderStartWidth?: number | undefined
  • changed: property FlexStyle.bottom?: number | string | undefined → property FlexStyle.bottom?: DimensionValue | undefined
  • changed: property FlexStyle.end?: number | string | undefined → property FlexStyle.end?: DimensionValue | undefined
  • changed: property FlexStyle.flexBasis?: number | string | undefined → property FlexStyle.flexBasis?: DimensionValue | undefined
  • changed: property FlexStyle.height?: number | string | undefined → property FlexStyle.height?: DimensionValue | undefined
  • changed: property FlexStyle.left?: number | string | undefined → property FlexStyle.left?: DimensionValue | undefined
  • changed: property FlexStyle.margin?: number | string | undefined → property FlexStyle.margin?: DimensionValue | undefined
  • changed: property FlexStyle.marginBottom?: number | string | undefined → property FlexStyle.marginBottom?: DimensionValue | undefined
  • changed: property FlexStyle.marginEnd?: number | string | undefined → property FlexStyle.marginEnd?: DimensionValue | undefined
  • changed: property FlexStyle.marginHorizontal?: number | string | undefined → property FlexStyle.marginHorizontal?: DimensionValue | undefined
  • changed: property FlexStyle.marginLeft?: number | string | undefined → property FlexStyle.marginLeft?: DimensionValue | undefined
  • changed: property FlexStyle.marginRight?: number | string | undefined → property FlexStyle.marginRight?: DimensionValue | undefined
  • changed: property FlexStyle.marginStart?: number | string | undefined → property FlexStyle.marginStart?: DimensionValue | undefined
  • changed: property FlexStyle.marginTop?: number | string | undefined → property FlexStyle.marginTop?: DimensionValue | undefined
  • changed: property FlexStyle.marginVertical?: number | string | undefined → property FlexStyle.marginVertical?: DimensionValue | undefined
  • changed: property FlexStyle.maxHeight?: number | string | undefined → property FlexStyle.maxHeight?: DimensionValue | undefined
  • changed: property FlexStyle.maxWidth?: number | string | undefined → property FlexStyle.maxWidth?: DimensionValue | undefined
  • changed: property FlexStyle.minHeight?: number | string | undefined → property FlexStyle.minHeight?: DimensionValue | undefined
  • changed: property FlexStyle.minWidth?: number | string | undefined → property FlexStyle.minWidth?: DimensionValue | undefined
  • changed: property FlexStyle.padding?: number | string | undefined → property FlexStyle.padding?: DimensionValue | undefined
  • changed: property FlexStyle.paddingBottom?: number | string | undefined → property FlexStyle.paddingBottom?: DimensionValue | undefined
  • changed: property FlexStyle.paddingEnd?: number | string | undefined → property FlexStyle.paddingEnd?: DimensionValue | undefined
  • changed: property FlexStyle.paddingHorizontal?: number | string | undefined → property FlexStyle.paddingHorizontal?: DimensionValue | undefined
  • changed: property FlexStyle.paddingLeft?: number | string | undefined → property FlexStyle.paddingLeft?: DimensionValue | undefined
  • changed: property FlexStyle.paddingRight?: number | string | undefined → property FlexStyle.paddingRight?: DimensionValue | undefined
  • changed: property FlexStyle.paddingStart?: number | string | undefined → property FlexStyle.paddingStart?: DimensionValue | undefined
  • changed: property FlexStyle.paddingTop?: number | string | undefined → property FlexStyle.paddingTop?: DimensionValue | undefined
  • changed: property FlexStyle.paddingVertical?: number | string | undefined → property FlexStyle.paddingVertical?: DimensionValue | undefined
  • changed: property FlexStyle.right?: number | string | undefined → property FlexStyle.right?: DimensionValue | undefined
  • changed: property FlexStyle.start?: number | string | undefined → property FlexStyle.start?: DimensionValue | undefined
  • changed: property FlexStyle.top?: number | string | undefined → property FlexStyle.top?: DimensionValue | undefined
  • changed: property FlexStyle.width?: number | string | undefined → property FlexStyle.width?: DimensionValue | undefined
  • changed: property ImageStyle.borderBottomLeftRadius?: number | undefined → property ImageStyle.borderBottomLeftRadius?: AnimatableNumericValue | undefined
  • changed: property ImageStyle.borderBottomRightRadius?: number | undefined → property ImageStyle.borderBottomRightRadius?: AnimatableNumericValue | undefined
  • changed: property ImageStyle.borderRadius?: number | undefined → property ImageStyle.borderRadius?: AnimatableNumericValue | undefined
  • changed: property ImageStyle.borderTopLeftRadius?: number | undefined → property ImageStyle.borderTopLeftRadius?: AnimatableNumericValue | undefined
  • changed: property ImageStyle.borderTopRightRadius?: number | undefined → property ImageStyle.borderTopRightRadius?: AnimatableNumericValue | undefined
  • changed: property ImageStyle.opacity?: number | undefined → property ImageStyle.opacity?: AnimatableNumericValue | undefined
  • changed: property ShadowStyleIOS.shadowOffset?: { width: number; height: number } | undefined → property ShadowStyleIOS.shadowOffset?: Readonly<{ width: number; height: number }> | undefined
  • changed: property ShadowStyleIOS.shadowOpacity?: number | undefined → property ShadowStyleIOS.shadowOpacity?: AnimatableNumericValue | undefined
  • changed: property TransformsStyle.rotation?: number | undefined → property TransformsStyle.rotation?: AnimatableNumericValue | undefined
  • changed: property TransformsStyle.scaleX?: number | undefined → property TransformsStyle.scaleX?: AnimatableNumericValue | undefined
  • changed: property TransformsStyle.scaleY?: number | undefined → property TransformsStyle.scaleY?: AnimatableNumericValue | undefined
  • changed: property TransformsStyle.translateX?: number | undefined → property TransformsStyle.translateX?: AnimatableNumericValue | undefined
  • changed: property TransformsStyle.translateY?: number | undefined → property TransformsStyle.translateY?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderBottomEndRadius?: number | undefined → property ViewStyle.borderBottomEndRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderBottomLeftRadius?: number | undefined → property ViewStyle.borderBottomLeftRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderBottomRightRadius?: number | undefined → property ViewStyle.borderBottomRightRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderBottomStartRadius?: number | undefined → property ViewStyle.borderBottomStartRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderRadius?: number | undefined → property ViewStyle.borderRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderTopEndRadius?: number | undefined → property ViewStyle.borderTopEndRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderTopLeftRadius?: number | undefined → property ViewStyle.borderTopLeftRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderTopRightRadius?: number | undefined → property ViewStyle.borderTopRightRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.borderTopStartRadius?: number | undefined → property ViewStyle.borderTopStartRadius?: AnimatableNumericValue | undefined
  • changed: property ViewStyle.opacity?: number | undefined → property ViewStyle.opacity?: AnimatableNumericValue | undefined
  • added: property ImageStyle.objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | undefined
  • added: property ViewStyle.borderBlockColor?: ColorValue | undefined
  • added: property ViewStyle.borderBlockEndColor?: ColorValue | undefined
  • added: property ViewStyle.borderBlockStartColor?: ColorValue | undefined
  • added: property ViewStyle.borderCurve?: 'circular' | 'continuous' | undefined
  • added: property ViewStyle.borderEndEndRadius?: AnimatableNumericValue | undefined
  • added: property ViewStyle.borderEndStartRadius?: AnimatableNumericValue | undefined
  • added: property ViewStyle.borderStartEndRadius?: AnimatableNumericValue | undefined
  • added: property ViewStyle.borderStartStartRadius?: AnimatableNumericValue | undefined
  • added: property ViewStyle.pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto' | undefined
  • added: type DimensionValue = number | 'auto' | `${number}%` | Animated.AnimatedNode | null
  • changed: property TextProps.children?: React.ReactNode → property TextProps.children?: React.ReactNode | undefined
  • added: property TextPropsIOS.lineBreakStrategyIOS?: | 'none' | 'standard' | 'hangul-word' | 'push-out' | undefined
  • added: function Appearance.setColorScheme(scheme: ColorSchemeName | null | undefined): void
  • added: interface IPerformanceLogger
  • added: method IPerformanceLogger.addTimespan(key: string, startTime: number, endTime: number, startExtras?: Extras, endExtras?: Extras): void
  • added: method IPerformanceLogger.append(logger: IPerformanceLogger): void
  • added: method IPerformanceLogger.clear(): void
  • added: method IPerformanceLogger.clearCompleted(): void
  • added: method IPerformanceLogger.close(): void
  • added: method IPerformanceLogger.currentTimestamp(): number
  • added: method IPerformanceLogger.getExtras(): { [key: string]: ExtraValue | null }
  • added: method IPerformanceLogger.getPointExtras(): { [key: string]: Extras | null }
  • added: method IPerformanceLogger.getPoints(): { [key: string]: number | null }
  • added: method IPerformanceLogger.getTimespans(): { [key: string]: Timespan | null }
  • added: method IPerformanceLogger.hasTimespan(key: string): boolean
  • added: method IPerformanceLogger.isClosed(): boolean
  • added: method IPerformanceLogger.logEverything(): void
  • added: method IPerformanceLogger.markPoint(key: string, timestamp?: number, extras?: Extras): void
  • added: method IPerformanceLogger.removeExtra(key: string): ExtraValue | null
  • added: method IPerformanceLogger.setExtra(key: string, value: ExtraValue): void
  • added: method IPerformanceLogger.startTimespan(key: string, timestamp?: number, extras?: Extras): void
  • added: method IPerformanceLogger.stopTimespan(key: string, timestamp?: number, extras?: Extras): void
  • added: type ExtraValue = number | string | boolean
  • added: type Extras = { [key: string]: ExtraValue }
  • added: type Timespan = { startTime: number; endTime?: number | undefined; totalTime?: number | undefined; startExtras?: Extras | undefined; endExtras?: Extras | undefined }
  • removed: interface IPerformanceLogger
  • removed: method IPerformanceLogger.addTimespan(key: string, startTime: number, endTime: number, startExtras?: Extras, endExtras?: Extras): void
  • removed: method IPerformanceLogger.append(logger: IPerformanceLogger): void
  • removed: method IPerformanceLogger.clear(): void
  • removed: method IPerformanceLogger.clearCompleted(): void
  • removed: method IPerformanceLogger.close(): void
  • removed: method IPerformanceLogger.currentTimestamp(): number
  • removed: method IPerformanceLogger.getExtras(): { [key: string]: ExtraValue | null }
  • removed: method IPerformanceLogger.getPointExtras(): { [key: string]: Extras | null }
  • removed: method IPerformanceLogger.getPoints(): { [key: string]: number | null }
  • removed: method IPerformanceLogger.getTimespans(): { [key: string]: Timespan | null }
  • removed: method IPerformanceLogger.hasTimespan(key: string): boolean
  • removed: method IPerformanceLogger.isClosed(): boolean
  • removed: method IPerformanceLogger.logEverything(): void
  • removed: method IPerformanceLogger.markPoint(key: string, timestamp?: number, extras?: Extras): void
  • removed: method IPerformanceLogger.removeExtra(key: string): ExtraValue | null
  • removed: method IPerformanceLogger.setExtra(key: string, value: ExtraValue): void
  • removed: method IPerformanceLogger.startTimespan(key: string, timestamp?: number, extras?: Extras): void
  • removed: method IPerformanceLogger.stopTimespan(key: string, timestamp?: number, extras?: Extras): void
  • removed: type ExtraValue = number | string | boolean
  • removed: type Extras = { [key: string]: ExtraValue }
  • removed: type Timespan = { startTime: number; endTime?: number; totalTime?: number; startExtras?: Extras; endExtras?: Extras }
  • changed: class EventEmitter → default class EventEmitter
  • added: interface FlexStyle
  • added: property FlexStyle.marginBlock?: DimensionValue | undefined
  • added: property FlexStyle.marginBlockEnd?: DimensionValue | undefined
  • added: property FlexStyle.marginBlockStart?: DimensionValue | undefined
  • added: property FlexStyle.marginInline?: DimensionValue | undefined
  • added: property FlexStyle.marginInlineEnd?: DimensionValue | undefined
  • added: property FlexStyle.marginInlineStart?: DimensionValue | undefined
  • added: property FlexStyle.paddingBlock?: DimensionValue | undefined
  • added: property FlexStyle.paddingBlockEnd?: DimensionValue | undefined
  • added: property FlexStyle.paddingBlockStart?: DimensionValue | undefined
  • added: property FlexStyle.paddingInline?: DimensionValue | undefined
  • added: property FlexStyle.paddingInlineEnd?: DimensionValue | undefined
  • added: property FlexStyle.paddingInlineStart?: DimensionValue | undefined
  • changed: readonly property Options.excludedPlatforms?: ReadonlyArray<'iOS' | 'android'> → readonly property Options.excludedPlatforms?: ReadonlyArray<'iOS' | 'android'> | undefined
  • changed: readonly property Options.interfaceOnly?: boolean → readonly property Options.interfaceOnly?: boolean | undefined
  • changed: readonly property Options.paperComponentName?: string → readonly property Options.paperComponentName?: string | undefined
  • changed: readonly property Options.paperComponentNameDeprecated?: string → readonly property Options.paperComponentNameDeprecated?: string | undefined
  • added: declare module '.'
  • removed: export * from '../Libraries/Components/DatePicker/DatePickerIOS'
  • removed: export * from '../Libraries/Components/ProgressViewIOS/ProgressViewIOS'
  • removed: export * from '../Libraries/Components/Slider/Slider'
  • removed: export * from '../Libraries/Lists/VirtualizedList'
  • removed: export * from '../Libraries/vendor/emitter/EventEmitter'
  • added: export * from '@react-native/virtualized-lists'
  • added: export { EmitterSubscription } from '../Libraries/vendor/emitter/EventEmitter'
  • added: export { EventSubscription } from '../Libraries/vendor/emitter/EventEmitter'
  • changed: property AbortSignal.addEventListener: (type: 'abort', listener: (this: AbortSignal, event: any) => any, options?: | boolean | { capture?: boolean; once?: boolean; passive?: boolean }) => void → property AbortSignal.addEventListener: (type: 'abort', listener: (this: AbortSignal, event: any) => any, options?: | boolean | { capture?: boolean | undefined; once?: boolean | undefined; passive?: boolean | undefined }) => void
  • changed: property AbortSignal.removeEventListener: (type: 'abort', listener: (this: AbortSignal, event: any) => any, options?: | boolean | { capture?: boolean }) => void → property AbortSignal.removeEventListener: (type: 'abort', listener: (this: AbortSignal, event: any) => any, options?: | boolean | { capture?: boolean | undefined }) => void
  • changed: property RequestInit.window?: any → property RequestInit.window?: any | undefined
  • changed: property WebSocketMessageEvent.data?: any → property WebSocketMessageEvent.data?: any | undefined
  • changed: readonly property FileReader.DONE: number → readonly property FileReader.DONE: 2
  • changed: readonly property FileReader.EMPTY: number → readonly property FileReader.EMPTY: 0
  • changed: readonly property FileReader.LOADING: number → readonly property FileReader.LOADING: 1
  • changed: readonly property XMLHttpRequest.DONE: number → readonly property XMLHttpRequest.DONE: 4
  • changed: readonly property XMLHttpRequest.HEADERS_RECEIVED: number → readonly property XMLHttpRequest.HEADERS_RECEIVED: 2
  • changed: readonly property XMLHttpRequest.LOADING: number → readonly property XMLHttpRequest.LOADING: 3
  • changed: readonly property XMLHttpRequest.OPENED: number → readonly property XMLHttpRequest.OPENED: 1
  • changed: readonly property XMLHttpRequest.UNSENT: number → readonly property XMLHttpRequest.UNSENT: 0
  • changed: type FormDataPart = { string: string; headers: { [name: string]: string } } | { uri: string; headers: { [name: string]: string }; name?: string; type?: string } → type FormDataPart = { string: string; headers: { [name: string]: string } } | { uri: string; headers: { [name: string]: string }; name?: string | undefined; type?: string | undefi…
  • changed: type FormDataValue = string | { name?: string; type?: string; uri: string } → type FormDataValue = string | { name?: string | undefined; type?: string | undefined; uri: string }
  • changed: var FileReader: { prototype: FileReader; new (): FileReader; readonly DONE: number; readonly EMPTY: number; readonly LOADING: number } → var FileReader: { prototype: FileReader; new (): FileReader; readonly DONE: 2; readonly EMPTY: 0; readonly LOADING: 1 }
  • changed: var XMLHttpRequest: { prototype: XMLHttpRequest; new (): XMLHttpRequest; readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; readonly OPENED: numbe… → var XMLHttpRequest: { prototype: XMLHttpRequest; new (): XMLHttpRequest; readonly DONE: 4; readonly HEADERS_RECEIVED: 2; readonly LOADING: 3; readonly OPENED: 1; readonly UNSENT:…
  • removed: type DatePickerIOSProperties = DatePickerIOSProps
  • removed: type ProgressViewIOSProperties = ProgressViewIOSProps
  • removed: type SliderProperties = SliderProps
  • removed: type SliderPropertiesAndroid = SliderPropsAndroid
  • removed: type SliderPropertiesIOS = SliderPropsIOS
  • removed: function unstable_batchedUpdates<A>(callback: (a: A) => any, a: A): void
  • changed: function unstable_batchedUpdates(callback: () => any): void → function unstable_batchedUpdates<A, R>(callback: (a: A) => R, a: A): R
  • changed: function unstable_batchedUpdates<A, B>(callback: (a: A, b: B) => any, a: A, b: B): void → function unstable_batchedUpdates<R>(callback: () => R): R