Skip to content

Upgrading react-native 0.86 to 0.87

Unknown0.86.3 → 0.87.1New1Changed1Fixed11Other1

UnknownUpgrade verdict

39 of 46 releases publish no notes, so breaking changes can't be ruled out.

  • Some releases in this range publish no notes, so DepDelta can't rule out breaking changes.
  • DepDelta found no commit log for them either.
Unknown for releases without notes

Releases without notes may still need changes. Check their commits before upgrading.

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

Upgrade Helper ↗

Node.js requirement changed in 0.87.0-nightly-20260528-eaf770433: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0 → ^22.13.0 || ^24.3.0 || >= 26.0.0.

Adds @react-native/asset-utils 0.87.1.

Drops @react-native/assets-registry, @react-native/js-polyfills, abort-controller.

Installs 220 packages in all (was 230).

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

  • removed: method ScrollView.flashScrollIndicators(): void
  • removed: method ScrollView.getInnerViewNode(): any
  • removed: method ScrollView.getScrollResponder(): ScrollResponderMixin
  • removed: method ScrollView.getScrollableNode(): any
  • removed: method ScrollView.scrollTo(y?: | number | { x?: number | undefined; y?: number | undefined; animated?: boolean | undefined }, deprecatedX?: number, deprecatedAnimated?: boolean): void
  • removed: method ScrollView.scrollToEnd(options?: { animated?: boolean | undefined }): void
  • removed: property ScrollView.getNativeScrollRef: () => HostInstance | null
  • changed: property ScrollViewProps.keyboardShouldPersistTaps?: | boolean | 'always' | 'never' | 'handled' | undefined → property ScrollViewProps.keyboardShouldPersistTaps?: 'always' | 'never' | 'handled' | undefined
  • added: interface PublicScrollViewInstance extends HostInstance, ScrollViewImperativeMethods
  • added: interface ScrollView extends ScrollViewImperativeMethods
  • added: interface ScrollViewImperativeMethods
  • added: interface ScrollViewScrollToOptions
  • added: method ScrollViewImperativeMethods.scrollResponderScrollNativeHandleToKeyboard(nodeHandle: number | HostInstance, additionalOffset?: number, preventNegativeScrollOffset?: boolean): void
  • added: method ScrollViewImperativeMethods.scrollResponderZoomTo(rect: { x: number; y: number; width: number; height: number; animated?: boolean | undefined }, animated?: boolean): void
  • added: property ScrollViewScrollToOptions.animated?: boolean | undefined
  • added: property ScrollViewScrollToOptions.x?: number | undefined
  • added: property ScrollViewScrollToOptions.y?: number | undefined
  • added: readonly property ScrollViewImperativeMethods.flashScrollIndicators: () => void
  • added: readonly property ScrollViewImperativeMethods.getInnerViewNode: () => number | undefined
  • added: readonly property ScrollViewImperativeMethods.getInnerViewRef: () => React.ComponentRef<typeof View> | null
  • added: readonly property ScrollViewImperativeMethods.getNativeScrollRef: () => HostInstance | null
  • added: readonly property ScrollViewImperativeMethods.getScrollResponder: () => ScrollResponderType
  • added: readonly property ScrollViewImperativeMethods.getScrollableNode: () => number | undefined
  • added: readonly property ScrollViewImperativeMethods.scrollTo: (options?: ScrollViewScrollToOptions | number, deprecatedX?: number, deprecatedAnimated?: boolean) => void
  • added: readonly property ScrollViewImperativeMethods.scrollToEnd: (options?: ScrollViewScrollToOptions | null) => void
  • added: type ScrollResponderType = ScrollViewImperativeMethods
  • removed: interface StatusBarPropsAndroid
  • removed: property StatusBarPropsAndroid.backgroundColor?: ColorValue | undefined
  • removed: property StatusBarPropsAndroid.translucent?: boolean | undefined
  • removed: property StatusBarPropsIOS.networkActivityIndicatorVisible?: boolean | undefined
  • removed: static property StatusBar.setBackgroundColor: (color: ColorValue, animated?: boolean) => void
  • removed: static property StatusBar.setNetworkActivityIndicatorVisible: (visible: boolean) => void
  • removed: static property StatusBar.setTranslucent: (translucent: boolean) => void
  • changed: interface StatusBarProps extends StatusBarPropsIOS, StatusBarPropsAndroid → interface StatusBarProps extends StatusBarPropsIOS
  • changed: type StatusBarStyle = 'default' | 'light-content' | 'dark-content' → type StatusBarStyle = 'default' | 'auto' | 'light-content' | 'dark-content'
  • changed: property TextInputProps.textAlign?: 'left' | 'center' | 'right' | undefined → property TextInputProps.textAlign?: 'left' | 'center' | 'right' | 'start' | 'end' | undefined
  • added: property TextInputChangeEventData.selection?: | { start: number; end: number } | undefined
  • added: property TextInputKeyPressEventData.eventCount: number
  • changed: type AccessibilityRole = 'none' | 'button' | 'togglebutton' | 'link' | 'search' | 'image' | 'keyboardkey' | 'text' | 'adjustable' | 'imagebutton' | 'header' | 'summary' | 'alert' | 'ch… → type AccessibilityRole = 'none' | 'button' | 'dropdownlist' | 'togglebutton' | 'link' | 'search' | 'image' | 'keyboardkey' | 'text' | 'adjustable' | 'imagebutton' | 'header' | 'summary…
  • removed: const InteractionManager: InteractionManagerStatic
  • removed: interface InteractionManagerStatic
  • removed: method InteractionManagerStatic.addListener(eventType: string, listener: (...args: any[]) => any, context?: any): EmitterSubscription
  • removed: method InteractionManagerStatic.clearInteractionHandle(handle: Handle): void
  • removed: method InteractionManagerStatic.createInteractionHandle(): Handle
  • removed: method InteractionManagerStatic.runAfterInteractions(task?: (() => any) | SimpleTask | PromiseTask): { then: (onfulfilled?: () => any, onrejected?: () => any) => Promise<any>; done: (...args: any[]) => any; cancel: () => void }
  • removed: method InteractionManagerStatic.setDeadline(deadline: number): void
  • removed: property InteractionManagerStatic.Events: { interactionStart: string; interactionComplete: string }
  • removed: type Handle = number
  • removed: type PromiseTask = { name: string; gen: () => Promise<any> }
  • removed: type SimpleTask = { name: string; gen: () => void }
  • changed: property FlatListComponent.getNativeScrollRef: () => | React.ComponentRef<typeof View> | React.ComponentRef<typeof ScrollViewComponent> | null | undefined → property FlatListComponent.getNativeScrollRef: () => PublicScrollViewInstance | null
  • changed: property FlatListProps.keyboardShouldPersistTaps?: | boolean | 'always' | 'never' | 'handled' | undefined → property FlatListProps.keyboardShouldPersistTaps?: 'always' | 'never' | 'handled' | undefined
  • removed: property ModalBaseProps.animated?: boolean | undefined
  • added: property ModalBaseProps.modalRef?: React.RefObject<Modal | null> | undefined
  • changed: property TextStyle.textAlign?: 'auto' | 'left' | 'right' | 'center' | 'justify' | undefined → property TextStyle.textAlign?: | 'auto' | 'left' | 'right' | 'center' | 'justify' | 'start' | 'end' | undefined
  • changed: property TextStyle.textDecorationStyle?: 'solid' | 'double' | 'dotted' | 'dashed' | undefined → property TextStyle.textDecorationStyle?: | 'solid' | 'double' | 'dotted' | 'dashed' | 'wavy' | undefined
  • changed: property TextStyleIOS.textDecorationStyle?: 'solid' | 'double' | 'dotted' | 'dashed' | undefined → property TextStyleIOS.textDecorationStyle?: | 'solid' | 'double' | 'dotted' | 'dashed' | 'wavy' | undefined
  • added: property ViewStyle.backgroundImage?: ReadonlyArray<BackgroundImageValue> | string | undefined
  • added: property PointerEvents.onGotPointerCapture?: ((event: PointerEvent) => void) | undefined
  • added: property PointerEvents.onGotPointerCaptureCapture?: ((event: PointerEvent) => void) | undefined
  • added: property PointerEvents.onLostPointerCapture?: ((event: PointerEvent) => void) | undefined
  • added: property PointerEvents.onLostPointerCaptureCapture?: ((event: PointerEvent) => void) | undefined
  • added: property PointerEvents.onPointerOut?: ((event: PointerEvent) => void) | undefined
  • added: property PointerEvents.onPointerOutCapture?: ((event: PointerEvent) => void) | undefined
  • added: property PointerEvents.onPointerOver?: ((event: PointerEvent) => void) | undefined
  • added: property PointerEvents.onPointerOverCapture?: ((event: PointerEvent) => void) | undefined
  • changed: function Appearance.getColorScheme(): ColorSchemeName | null | undefined → function Appearance.getColorScheme(): ColorSchemeName | null
  • changed: function Appearance.setColorScheme(scheme: ColorSchemeName): void → function Appearance.setColorScheme(scheme: ColorSchemeOverride): void
  • changed: function useColorScheme(): ColorSchemeName → function useColorScheme(): ColorSchemeName | null
  • changed: type Appearance.AppearancePreferences = { colorScheme: ColorSchemeName } → type Appearance.AppearancePreferences = { colorScheme: ColorSchemeName | null }
  • changed: method AbortController.abort(): void → method AbortController.abort(reason?: any): void
  • added: method AbortSignal.throwIfAborted(): void
  • added: readonly property AbortSignal.reason: any
  • added: static method AbortSignal.abort(reason: any): AbortSignal
  • added: static method AbortSignal.any(signals: AbortSignal[]): AbortSignal
  • added: static method AbortSignal.timeout(milliseconds: number): AbortSignal
  • added: class AssetSourceResolver
  • added: class HMRClient
  • added: const AppContainer: React.ComponentType<AppContainerProps>
  • added: const DevLoadingView: { showMessage(message: string, type: 'load' | 'refresh' | 'error', options?: { dismissButton?: boolean | undefined }): void; hide(): void }
  • added: const NativeExceptionsManager: { reportFatalException(message: string, stack: StackFrame[], exceptionId: number): void; reportSoftException(message: string, stack: StackFrame[], exceptionId:…
  • added: const NativeRedBox: NativeRedBoxSpec | null
  • added: const NativeSourceCode: { getConstants(): SourceCodeConstants }
  • added: const PressabilityDebugView: React.ComponentType<PressabilityDebugViewProps>
  • added: const customDirectEventTypes: { [eventName: string]: Readonly<{ registrationName: string }> }
  • added: constructor AssetSourceResolver(serverUrl: string | null | undefined, jsbundleUrl: string | null | undefined, asset: unknown)
  • added: function getDevServer(): DevServerInfo
  • added: method AssetSourceResolver.assetServerURL(): ResolvedAssetSource
  • added: method AssetSourceResolver.defaultAsset(): ResolvedAssetSource
  • added: method AssetSourceResolver.drawableFolderInBundle(): ResolvedAssetSource
  • added: method AssetSourceResolver.fromSource(source: string): ResolvedAssetSource
  • added: method AssetSourceResolver.getAssetUsingResolver(resolver: 'android' | 'generic'): ResolvedAssetSource
  • added: method AssetSourceResolver.isLoadedFromFileSystem(): boolean
  • added: method AssetSourceResolver.isLoadedFromServer(): boolean
  • added: method AssetSourceResolver.resourceIdentifierWithoutScale(): ResolvedAssetSource
  • added: method AssetSourceResolver.scaledAssetPath(): ResolvedAssetSource
  • added: method AssetSourceResolver.scaledAssetURLNearBundle(): ResolvedAssetSource
  • added: method HMRClient.disable(): void
  • added: method HMRClient.enable(): void
  • added: method HMRClient.log(level: | 'trace' | 'info' | 'warn' | 'error' | 'log' | 'group' | 'groupCollapsed' | 'groupEnd' | 'debug', data: ReadonlyArray<unknown>): void
  • added: method HMRClient.registerBundle(requestUrl: string): void
  • added: method HMRClient.setup(platform: string, bundleEntry: string, host: string, port: number | string, isEnabled: boolean, scheme?: string): void
  • added: property AssetSourceResolver.asset: unknown
  • added: property AssetSourceResolver.jsbundleUrl: string | null | undefined
  • added: property AssetSourceResolver.serverUrl: string | null | undefined
  • added: static method AssetSourceResolver.pickScale(scales: number[], deviceScale?: number): number
  • removed: export * from '../Libraries/Interaction/InteractionManager'
  • removed: type StatusBarPropertiesAndroid = StatusBarPropsAndroid
  • changed: type AlertButton = { text?: string; onPress?: (((value?: string) => any) | undefined) | (Function | undefined); isPreferred?: boolean; style?: AlertButtonStyle } → type AlertButton = { text?: string | undefined; onPress?: (((value?: string) => any) | undefined) | (Function | undefined) | undefined; isPreferred?: boolean | undefined; style?:…
  • changed: type AlertOptions = { cancelable?: boolean | undefined; userInterfaceStyle?: 'unspecified' | 'light' | 'dark'; onDismiss?: (() => void) | undefined } → type AlertOptions = { cancelable?: boolean | undefined; userInterfaceStyle?: 'unspecified' | 'light' | 'dark' | undefined; onDismiss?: (() => void) | undefined }
  • changed: type EventConfig<T> = { listener?: (($$PARAM_0$$: NativeSyntheticEvent<T>) => unknown) | undefined; useNativeDriver: boolean; platformConfig?: PlatformConfig } → type EventConfig<T> = { listener?: (($$PARAM_0$$: NativeSyntheticEvent<T>) => unknown) | undefined; useNativeDriver: boolean; platformConfig?: PlatformConfig | undefined }
  • added: export { Numeric } from './AnimatedImplementation'
  • changed: type AnimationConfig = Readonly<{ isInteraction?: boolean; useNativeDriver: boolean; platformConfig?: PlatformConfig; onComplete?: EndCallback | undefined; iterations?: number; isLoo… → type AnimationConfig = Readonly<{ isInteraction?: boolean | undefined; useNativeDriver: boolean; platformConfig?: PlatformConfig | undefined; onComplete?: EndCallback | undefined; it…
  • changed: type EndResult = { finished: boolean; value?: number; offset?: number } → type EndResult = { finished: boolean; value?: number | undefined; offset?: number | undefined }
  • changed: type DecayAnimationConfig = Readonly<Omit<AnimationConfig, keyof { velocity: number | Readonly<{ x: number; y: number }>; deceleration?: number }> & { velocity: number | Readonly<{ x: num… → type DecayAnimationConfig = Readonly<Omit<AnimationConfig, keyof { velocity: number | Readonly<{ x: number; y: number }>; deceleration?: number | undefined }> & { velocity: number | Reado…
  • changed: type DecayAnimationConfigSingle = Readonly<Omit<AnimationConfig, keyof { velocity: number; deceleration?: number }> & { velocity: number; deceleration?: number }> → type DecayAnimationConfigSingle = Readonly<Omit<AnimationConfig, keyof { velocity: number; deceleration?: number | undefined }> & { velocity: number; deceleration?: number | undefined }>
  • changed: type SpringAnimationConfigSingle = Readonly<Omit<AnimationConfig, keyof { toValue: number; overshootClamping?: boolean; restDisplacementThreshold?: number; restSpeedThreshold?: number; velocity?… → type SpringAnimationConfigSingle = Readonly<Omit<AnimationConfig, keyof { toValue: number; overshootClamping?: boolean | undefined; restDisplacementThreshold?: number | undefined; restSpeedThres…
  • changed: type TimingAnimationConfigSingle = Readonly<Omit<AnimationConfig, keyof { toValue: number; easing?: (value: number) => number; duration?: number; delay?: number }> & { toValue: number; easing?:… → type TimingAnimationConfigSingle = Readonly<Omit<AnimationConfig, keyof { toValue: number; easing?: ((value: number) => number) | undefined; duration?: number | undefined; delay?: number | undef…
  • changed: const $$AnimatedFlatList: <ItemT = any>(props: Omit<AnimatedProps<FlatListProps<ItemT>>, keyof { ref?: React.Ref<FlatList<ItemT>> }> & { ref?: React.Ref<FlatList<ItemT>> }) => React.Rea… → const $$AnimatedFlatList: <ItemT = any>(props: Omit<AnimatedProps<FlatListProps<ItemT>>, keyof { ref?: React.Ref<FlatList<ItemT>> | undefined }> & { ref?: React.Ref<FlatList<ItemT>> | u…
  • changed: const $$AnimatedSectionList: <ItemT = any, SectionT = any>(props: Omit<AnimatedProps<SectionListProps<ItemT, SectionT>>, keyof { ref?: React.Ref<SectionList<ItemT, SectionT>> }> & { ref?:… → const $$AnimatedSectionList: <ItemT = any, SectionT = any>(props: Omit<AnimatedProps<SectionListProps<ItemT, SectionT>>, keyof { ref?: React.Ref<SectionList<ItemT, SectionT>> | undefined }…
  • changed: type AnimatedComponentType<Props extends {}, Instance = unknown> = (props: Omit<AnimatedProps<Props>, keyof { ref?: React.Ref<Instance> }> & { ref?: React.Ref<Instance> }) => React.ReactNode → type AnimatedComponentType<Props extends {}, Instance = unknown> = (props: Omit<AnimatedProps<Props>, keyof { ref?: React.Ref<Instance> | undefined }> & { ref?: React.Ref<Instance> | undefined }) => React.ReactNode
  • changed: function getRgbaValueAndNativeColor(value: RgbaValue | ColorValue): Readonly<{ rgbaValue: RgbaValue; nativeColor?: NativeColorValue }> → function getRgbaValueAndNativeColor(value: RgbaValue | ColorValue): Readonly<{ rgbaValue: RgbaValue; nativeColor?: NativeColorValue | undefined }>
  • changed: type InterpolationConfigType<OutputT extends InterpolationConfigSupportedOutputType> = Readonly<Omit<AnimatedNodeConfig, keyof { inputRange: ReadonlyArray<number>; outputRange: ReadonlyArray<OutputT>; easing?: (input: number) => number; extrapola… → type InterpolationConfigType<OutputT extends InterpolationConfigSupportedOutputType> = Readonly<Omit<AnimatedNodeConfig, keyof { inputRange: ReadonlyArray<number>; outputRange: ReadonlyArray<OutputT>; easing?: ((input: number) => number) | undefi…
  • changed: type AnimatedNodeConfig = Readonly<{ debugID?: string; unstable_disableBatchingForNativeCreate?: boolean }> → type AnimatedNodeConfig = Readonly<{ debugID?: string | undefined; unstable_disableBatchingForNativeCreate?: boolean | undefined }>
  • added: type ValueListenerCallback = (state: { value: number }) => unknown
  • changed: method AnimatedValue.addListener(callback: (value: any) => unknown): string → method AnimatedValue.addListener(callback: ValueListenerCallback): string
  • changed: type BlobData = { blobId: string; offset: number; size: number; name?: string; type?: string; lastModified?: number } → type BlobData = { blobId: string; offset: number; size: number; name?: string | undefined; type?: string | undefined; lastModified?: number | undefined }
  • removed: type ActivityIndicatorProps = Readonly<Omit<ViewProps, keyof ActivityIndicatorIOSProps | keyof { animating?: boolean | undefined; color?: ColorValue | undefined; size?: IndicatorSize | unde…
  • added: interface ActivityIndicatorProps extends Readonly<Omit<ViewProps, keyof ActivityIndicatorIOSProps | keyof { animating?: boolean | undefined; color?: ColorValue | undefined; size?: IndicatorSize | undefined }> & Omit<ActivityIndicatorIOSProps, keyof { animating?: boolean | undefined; color?: ColorValue | undefined; size?: IndicatorSize | undefined }>>
  • added: readonly property ActivityIndicatorProps.animating?: boolean | undefined
  • added: readonly property ActivityIndicatorProps.color?: ColorValue | undefined
  • added: readonly property ActivityIndicatorProps.size?: IndicatorSize | undefined
  • added: type ActivityIndicatorInstance = HostInstance
  • removed: type ButtonProps = Readonly<{ title: string; onPress?: (event?: GestureResponderEvent) => unknown; touchSoundDisabled?: boolean | undefined; color?: ColorValue | undefined; hasTV…
  • added: interface ButtonProps
  • added: readonly property ButtonProps.'aria-busy'?: boolean | undefined
  • added: readonly property ButtonProps.'aria-checked'?: (boolean | undefined) | 'mixed' | undefined
  • added: readonly property ButtonProps.'aria-disabled'?: boolean | undefined
  • added: readonly property ButtonProps.'aria-expanded'?: boolean | undefined
  • added: readonly property ButtonProps.'aria-label'?: string | undefined
  • added: readonly property ButtonProps.'aria-selected'?: boolean | undefined
  • added: readonly property ButtonProps.accessibilityActions?: ReadonlyArray<AccessibilityActionInfo> | undefined
  • added: readonly property ButtonProps.accessibilityHint?: string | undefined
  • added: readonly property ButtonProps.accessibilityLabel?: string | undefined
  • added: readonly property ButtonProps.accessibilityLanguage?: string | undefined
  • added: readonly property ButtonProps.accessibilityState?: AccessibilityState | undefined
  • added: readonly property ButtonProps.accessible?: boolean | undefined
  • added: readonly property ButtonProps.color?: ColorValue | undefined
  • added: readonly property ButtonProps.disabled?: boolean | undefined
  • added: readonly property ButtonProps.hasTVPreferredFocus?: boolean | undefined
  • added: readonly property ButtonProps.importantForAccessibility?: ('auto' | 'yes' | 'no' | 'no-hide-descendants') | undefined
  • added: readonly property ButtonProps.nextFocusDown?: number | undefined
  • added: readonly property ButtonProps.nextFocusForward?: number | undefined
  • added: readonly property ButtonProps.nextFocusLeft?: number | undefined
  • added: readonly property ButtonProps.nextFocusRight?: number | undefined
  • added: readonly property ButtonProps.nextFocusUp?: number | undefined
  • added: readonly property ButtonProps.onAccessibilityAction?: ((event: AccessibilityActionEvent) => unknown) | undefined
  • added: readonly property ButtonProps.onPress?: ((event?: GestureResponderEvent) => unknown) | undefined
  • added: readonly property ButtonProps.testID?: string | undefined
  • added: readonly property ButtonProps.title: string
  • added: readonly property ButtonProps.touchSoundDisabled?: boolean | undefined
  • added: type ButtonInstance = React.ComponentRef<typeof NativeTouchable>
  • added: type DrawerLayoutAndroidInstance = DrawerLayoutAndroidMethods
  • removed: type KeyboardAvoidingViewProps = Readonly<Omit<ViewProps, keyof { behavior?: ('height' | 'position' | 'padding') | undefined; contentContainerStyle?: ViewStyleProp | undefined; enabled?: boole…
  • added: interface KeyboardAvoidingViewProps extends Readonly<Omit<ViewProps, keyof { behavior?: ('height' | 'position' | 'padding') | undefined; contentContainerStyle?: ViewStyleProp | undefined; enabled?: boolean | undefined; keyboardVerticalOffset?: number | undefined }>>
  • added: readonly property KeyboardAvoidingViewProps.behavior?: ('height' | 'position' | 'padding') | undefined
  • added: readonly property KeyboardAvoidingViewProps.contentContainerStyle?: ViewStyleProp | undefined
  • added: readonly property KeyboardAvoidingViewProps.enabled?: boolean | undefined
  • added: readonly property KeyboardAvoidingViewProps.keyboardVerticalOffset?: number | undefined
  • added: type KeyboardAvoidingViewInstance = KeyboardAvoidingView
  • removed: type PressableProps = Readonly<Omit<Omit<ViewProps, 'onMouseEnter' | 'onMouseLeave'>, keyof PressableBaseProps | keyof {}> & Omit<PressableBaseProps, keyof {}> & {}>
  • changed: const $$Pressable: (props: Omit<PressableProps, keyof { ref?: React.Ref<React.ComponentRef<typeof View>> }> & { ref?: React.Ref<React.ComponentRef<typeof View>> }) => React.React… → const $$Pressable: (props: Omit<PressableProps, keyof { ref?: React.Ref<PressableInstance> | undefined }> & { ref?: React.Ref<PressableInstance> | undefined }) => React.ReactNode
  • added: interface PressableProps extends Readonly<Omit<Omit<ViewProps, 'onMouseEnter' | 'onMouseLeave'>, keyof PressableBaseProps | keyof {}> & Omit<PressableBaseProps, keyof {}>>
  • added: type PressableInstance = HostInstance
  • changed: type PressableAndroidRippleConfig = { color?: ColorValue; borderless?: boolean; radius?: number; foreground?: boolean; alpha?: number } → type PressableAndroidRippleConfig = { color?: ColorValue | undefined; borderless?: boolean | undefined; radius?: number | undefined; foreground?: boolean | undefined; alpha?: number | undefined }
  • added: type ProgressBarAndroidInstance = HostInstance
  • removed: export * from '../../../src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent'
  • removed: export { default } from '../../../src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent'
  • removed: type RefreshControlProps = Readonly<Omit<ViewProps, keyof RefreshControlPropsIOS | keyof RefreshControlPropsAndroid | keyof RefreshControlBaseProps | keyof {}> & Omit<RefreshControlProps…
  • changed: type RefreshControlPropsAndroid = Readonly<{ enabled?: boolean | undefined; colors?: ReadonlyArray<ColorValue> | undefined; progressBackgroundColor?: ColorValue | undefined; size?: ('default' |… → type RefreshControlPropsAndroid = Readonly<{ colors?: ReadonlyArray<ColorValue> | undefined; enabled?: boolean | undefined; progressBackgroundColor?: ColorValue | undefined; size?: ('default' |…
  • changed: type RefreshControlPropsIOS = Readonly<{ tintColor?: ColorValue | undefined; titleColor?: ColorValue | undefined; title?: string | undefined }> → type RefreshControlPropsIOS = Readonly<{ tintColor?: ColorValue | undefined; title?: string | undefined; titleColor?: ColorValue | undefined }>
  • added: interface RefreshControlProps extends Readonly<Omit<ViewProps, keyof RefreshControlPropsIOS | keyof RefreshControlPropsAndroid | keyof RefreshControlBaseProps | keyof {}> & Omit<RefreshControlPropsIOS, keyof RefreshControlPropsAndroid | keyof RefreshControlBaseProps | keyof {}> & Omit<RefreshControlPropsAndroid, keyof RefreshControlBaseProps | keyof {}> & Omit<RefreshControlBaseProps, keyof {}>>
  • added: type RefreshControlInstance = RefreshControl
  • added: type SafeAreaViewInstance = HostInstance
  • removed: interface PublicScrollViewInstance extends HostInstance, ScrollViewImperativeMethods
  • removed: type ScrollViewProps = Readonly<Omit<Omit<ViewProps, 'experimental_accessibilityOrder'>, keyof ScrollViewPropsIOS | keyof ScrollViewPropsAndroid | keyof ScrollViewBaseProps | keyof {…
  • changed: property ScrollViewScrollToOptions.animated?: boolean → property ScrollViewScrollToOptions.animated?: boolean | undefined
  • changed: property ScrollViewScrollToOptions.x?: number → property ScrollViewScrollToOptions.x?: number | undefined
  • changed: property ScrollViewScrollToOptions.y?: number → property ScrollViewScrollToOptions.y?: number | undefined
  • changed: readonly property ScrollViewImperativeMethods.getNativeScrollRef: () => HostInstance | null → readonly property ScrollViewImperativeMethods.getNativeScrollRef: () => ScrollViewInstance | null
  • changed: readonly property ScrollViewImperativeMethods.scrollResponderZoomTo: (rect: { x: number; y: number; width: number; height: number; animated?: boolean }, animated?: boolean) => void → readonly property ScrollViewImperativeMethods.scrollResponderZoomTo: (rect: { x: number; y: number; width: number; height: number; animated?: boolean | undefined }, animated?: boolean) => void
  • added: interface ScrollViewInstance extends HostInstance, ScrollViewImperativeMethods
  • added: interface ScrollViewProps extends Readonly<Omit<Omit<ViewProps, 'experimental_accessibilityOrder'>, keyof ScrollViewPropsIOS | keyof ScrollViewPropsAndroid | keyof ScrollViewBaseProps | keyof {}> & Omit<ScrollViewPropsIOS, keyof ScrollViewPropsAndroid | keyof ScrollViewBaseProps | keyof {}> & Omit<ScrollViewPropsAndroid, keyof ScrollViewBaseProps | keyof {}> & Omit<ScrollViewBaseProps, keyof {}>>
  • removed: const $$ScrollViewNativeComponent: typeof ScrollViewNativeComponent
  • removed: const __INTERNAL_VIEW_CONFIG: PartialViewConfig
  • removed: default $$ScrollViewNativeComponent
  • removed: type $$ScrollViewNativeComponent = typeof $$ScrollViewNativeComponent
  • removed: type __INTERNAL_VIEW_CONFIG = typeof __INTERNAL_VIEW_CONFIG
  • removed: type ScrollViewNativeProps = Readonly<Omit<ViewProps, keyof { alwaysBounceHorizontal?: boolean | undefined; alwaysBounceVertical?: boolean | undefined; automaticallyAdjustContentInsets?: b…
  • changed: type ScrollViewStickyHeaderProps = Readonly<{ children?: React.ReactNode; nextHeaderLayoutY: number | undefined; onLayout: (event: LayoutChangeEvent) => void; scrollAnimatedValue: Animated.Value… → type ScrollViewStickyHeaderProps = Readonly<{ children?: React.ReactNode | undefined; nextHeaderLayoutY: number | undefined; onLayout: (event: LayoutChangeEvent) => void; scrollAnimatedValue: An…
  • removed: static method StatusBar.setBackgroundColor(color: ColorValue, animated?: boolean): void
  • removed: static method StatusBar.setNetworkActivityIndicatorVisible(visible: boolean): void
  • removed: static method StatusBar.setTranslucent(translucent: boolean): void
  • removed: type StatusBarPropsAndroid = Readonly<{ backgroundColor?: ColorValue | undefined; translucent?: boolean | undefined }>
  • changed: type StatusBarProps = Readonly<Omit<StatusBarPropsAndroid, keyof StatusBarPropsIOS | keyof StatusBarBaseProps | keyof {}> & Omit<StatusBarPropsIOS, keyof StatusBarBaseProps | keyof… → type StatusBarProps = Readonly<Omit<StatusBarPropsIOS, keyof StatusBarBaseProps | keyof {}> & Omit<StatusBarBaseProps, keyof {}> & {}>
  • changed: type StatusBarPropsIOS = Readonly<{ networkActivityIndicatorVisible?: boolean | undefined; showHideTransition?: ('fade' | 'slide' | 'none') | undefined }> → type StatusBarPropsIOS = Readonly<{ showHideTransition?: ('fade' | 'slide' | 'none') | undefined }>
  • changed: type StatusBarStyle = keyof { default: string; 'light-content': string; 'dark-content': string } → type StatusBarStyle = keyof { default: string; auto: string; 'light-content': string; 'dark-content': string }
  • added: type StatusBarInstance = StatusBar
  • removed: export * from '../../../src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent'
  • removed: export { default } from '../../../src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent'
  • removed: type SwitchProps = Readonly<Omit<ViewProps, keyof SwitchPropsIOS | keyof SwitchPropsBase | keyof {}> & Omit<SwitchPropsIOS, keyof SwitchPropsBase | keyof {}> & Omit<SwitchPropsBa…
  • added: interface SwitchProps extends Readonly<Omit<ViewProps, keyof SwitchPropsIOS | keyof SwitchPropsBase | keyof {}> & Omit<SwitchPropsIOS, keyof SwitchPropsBase | keyof {}> & Omit<SwitchPropsBase, keyof {}>>
  • added: type SwitchInstance = HostInstance
  • removed: export * from '../../../src/private/specs_DEPRECATED/components/SwitchNativeComponent'
  • removed: export { default } from '../../../src/private/specs_DEPRECATED/components/SwitchNativeComponent'
  • removed: type InputAccessoryViewProps = Readonly<{ readonly children: React.ReactNode; nativeID?: string | undefined; style?: ViewStyleProp | undefined; backgroundColor?: ColorValue | undefined }>
  • added: interface InputAccessoryViewProps
  • added: readonly property InputAccessoryViewProps.backgroundColor?: ColorValue | undefined
  • added: readonly property InputAccessoryViewProps.children: React.ReactNode
  • added: readonly property InputAccessoryViewProps.nativeID?: string | undefined
  • added: readonly property InputAccessoryViewProps.style?: ViewStyleProp | undefined
  • added: export { TextInputInstance }
  • removed: type TextInputProps = Readonly<Omit<Omit<ViewProps, 'style' | 'experimental_accessibilityOrder'>, keyof TextInputIOSProps | keyof TextInputAndroidProps | keyof TextInputBaseProps |…
  • added: interface TextInputProps extends Readonly<Omit<Omit<ViewProps, 'style' | 'experimental_accessibilityOrder'>, keyof TextInputIOSProps | keyof TextInputAndroidProps | keyof TextInputBaseProps | keyof {}> & Omit<TextInputIOSProps, keyof TextInputAndroidProps | keyof TextInputBaseProps | keyof {}> & Omit<TextInputAndroidProps, keyof TextInputBaseProps | keyof {}> & Omit<TextInputBaseProps, keyof {}>>
  • removed: const $$Touchable: typeof TouchableImpl
  • removed: default $$Touchable
  • removed: type $$Touchable = typeof $$Touchable
  • removed: type TouchableHighlightProps = Readonly<Omit<TouchableWithoutFeedbackProps, keyof AndroidProps | keyof IOSProps | keyof TouchableHighlightBaseProps | keyof {}> & Omit<AndroidProps, keyof IOS…
  • added: interface TouchableHighlightProps extends Readonly<Omit<TouchableWithoutFeedbackProps, keyof AndroidProps | keyof IOSProps | keyof TouchableHighlightBaseProps | keyof {}> & Omit<AndroidProps, keyof IOSProps | keyof TouchableHighlightBaseProps | keyof {}> & Omit<IOSProps, keyof TouchableHighlightBaseProps | keyof {}> & Omit<TouchableHighlightBaseProps, keyof {}>>
  • added: type TouchableHighlightInstance = HostInstance
  • added: type TouchableNativeFeedbackInstance = TouchableNativeFeedback
  • added: type TouchableOpacityInstance = HostInstance
  • removed: type TouchableWithoutFeedbackProps = Readonly<{ children?: React.ReactNode | undefined; delayLongPress?: number | undefined; delayPressIn?: number | undefined; delayPressOut?: number | undefined;…
  • added: interface TouchableWithoutFeedbackProps extends Readonly<TouchableWithoutFeedbackPropsAndroid & TouchableWithoutFeedbackPropsIOS & AccessibilityProps>
  • added: readonly property TouchableWithoutFeedbackProps.children?: React.ReactNode | undefined
  • added: readonly property TouchableWithoutFeedbackProps.delayLongPress?: number | undefined
  • added: readonly property TouchableWithoutFeedbackProps.delayPressIn?: number | undefined
  • added: readonly property TouchableWithoutFeedbackProps.delayPressOut?: number | undefined
  • added: readonly property TouchableWithoutFeedbackProps.disabled?: boolean | undefined
  • added: readonly property TouchableWithoutFeedbackProps.focusable?: boolean | undefined
  • added: readonly property TouchableWithoutFeedbackProps.hitSlop?: EdgeInsetsOrSizeProp | undefined
  • added: readonly property TouchableWithoutFeedbackProps.id?: string | undefined
  • added: readonly property TouchableWithoutFeedbackProps.importantForAccessibility?: ('auto' | 'yes' | 'no' | 'no-hide-descendants') | undefined
  • added: readonly property TouchableWithoutFeedbackProps.nativeID?: string | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onAccessibilityAction?: ((event: AccessibilityActionEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onBlur?: ((event: BlurEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onFocus?: ((event: FocusEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onLayout?: ((event: LayoutChangeEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onLongPress?: ((event: GestureResponderEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onPress?: ((event: GestureResponderEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onPressIn?: ((event: GestureResponderEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.onPressOut?: ((event: GestureResponderEvent) => unknown) | undefined
  • added: readonly property TouchableWithoutFeedbackProps.pressRetentionOffset?: EdgeInsetsOrSizeProp | undefined
  • added: readonly property TouchableWithoutFeedbackProps.rejectResponderTermination?: boolean | undefined
  • added: readonly property TouchableWithoutFeedbackProps.style?: ViewStyleProp | undefined
  • added: readonly property TouchableWithoutFeedbackProps.testID?: string | undefined
  • added: type ViewInstance = HostInstance
  • changed: type AccessibilityActionInfo = Readonly<{ name: AccessibilityActionName | string; label?: string }> → type AccessibilityActionInfo = Readonly<{ name: AccessibilityActionName | string; label?: string | undefined }>
  • changed: type AccessibilityPropsAndroid = Readonly<{ accessibilityLabelledBy?: (string | undefined) | (Array<string> | undefined); 'aria-labelledby'?: string | undefined; accessibilityLiveRegion?: ('no… → type AccessibilityPropsAndroid = Readonly<{ accessibilityLabelledBy?: (string | undefined) | (Array<string> | undefined) | undefined; 'aria-labelledby'?: string | undefined; accessibilityLiveR…
  • changed: type AccessibilityState = { disabled?: boolean | undefined; selected?: boolean | undefined; checked?: (boolean | undefined) | 'mixed'; busy?: boolean | undefined; expanded?: boolean | u… → type AccessibilityState = { disabled?: boolean | undefined; selected?: boolean | undefined; checked?: (boolean | undefined) | 'mixed' | undefined; busy?: boolean | undefined; expanded?:…
  • changed: type AccessibilityValue = Readonly<{ min?: number; max?: number; now?: number; text?: string }> → type AccessibilityValue = Readonly<{ min?: number | undefined; max?: number | undefined; now?: number | undefined; text?: string | undefined }>
  • removed: type ViewNativeComponentType = HostComponent<Props>
  • removed: type ViewProps = Readonly<Omit<DirectEventProps, keyof GestureResponderHandlers | keyof MouseEventProps | keyof PointerEventProps | keyof FocusEventProps | keyof KeyEventProps…
  • changed: type TVViewPropsIOS = Readonly<{ isTVSelectable?: boolean; hasTVPreferredFocus?: boolean; tvParallaxShiftDistanceX?: number; tvParallaxShiftDistanceY?: number; tvParallaxTiltAngle?:… → type TVViewPropsIOS = Readonly<{ isTVSelectable?: boolean | undefined; hasTVPreferredFocus?: boolean | undefined; tvParallaxShiftDistanceX?: number | undefined; tvParallaxShiftDista…
  • added: interface ViewProps extends Readonly<Omit<DirectEventProps, keyof GestureResponderHandlers | keyof MouseEventProps | keyof PointerEventProps | keyof FocusEventProps | keyof KeyEventProps | keyof TouchEventProps | keyof ViewPropsAndroid | keyof ViewPropsIOS | keyof AccessibilityProps | keyof ViewBaseProps | keyof {}> & Omit<GestureResponderHandlers, keyof MouseEventProps | keyof PointerEventProps…
  • changed: type ExtendedError = Error & { jsEngine?: string; preventSymbolication?: boolean; componentStack?: string; isComponentError?: boolean; type?: string; cause?: { name: string; messag… → type ExtendedError = Error & { jsEngine?: string | undefined; preventSymbolication?: boolean | undefined; componentStack?: string | undefined; isComponentError?: boolean | undefine…
  • added: type ImageBackgroundInstance = ImageBackground
  • removed: type ImageBackgroundProps = Readonly<Omit<ImageProps, keyof { children?: React.ReactNode; style?: ViewStyleProp | undefined; imageStyle?: ImageStyleProp | undefined; imageRef?: React.Ref<…
  • removed: type ImagePropsBase = Readonly<Omit<Omit<ViewProps, 'style'>, keyof { accessible?: boolean | undefined; internal_analyticTag?: string | undefined; accessibilityLabel?: string | unde…
  • added: interface ImageBackgroundProps extends Readonly<Omit<ImageProps, keyof { children?: React.ReactNode | undefined; style?: ViewStyleProp | undefined; imageStyle?: ImageStyleProp | undefined; imageRef?: React.Ref<React.ComponentRef<ImageType>> | undefined }>>
  • added: interface ImagePropsBase extends Readonly<Omit<Omit<ViewProps, 'style'>, keyof { accessible?: boolean | undefined; internal_analyticTag?: string | undefined; accessibilityLabel?: string | undefined; 'aria-label'?: string | undefined; 'aria-labelledby'?: string | undefined; alt?: string | undefined; blurRadius?: number | undefined; capInsets?: EdgeInsetsProp | undefined; crossOrigin?: ('anonymous'…
  • added: readonly property ImageBackgroundProps.children?: React.ReactNode | undefined
  • added: readonly property ImageBackgroundProps.imageRef?: React.Ref<React.ComponentRef<ImageType>> | undefined
  • added: readonly property ImageBackgroundProps.imageStyle?: ImageStyleProp | undefined
  • added: readonly property ImageBackgroundProps.style?: ViewStyleProp | undefined
  • added: readonly property ImagePropsBase.'aria-label'?: string | undefined
  • added: readonly property ImagePropsBase.'aria-labelledby'?: string | undefined
  • added: readonly property ImagePropsBase.accessibilityLabel?: string | undefined
  • added: readonly property ImagePropsBase.accessible?: boolean | undefined
  • added: readonly property ImagePropsBase.alt?: string | undefined
  • added: readonly property ImagePropsBase.blurRadius?: number | undefined
  • added: readonly property ImagePropsBase.capInsets?: EdgeInsetsProp | undefined
  • added: readonly property ImagePropsBase.children?: never | undefined
  • added: readonly property ImagePropsBase.crossOrigin?: ('anonymous' | 'use-credentials') | undefined
  • added: readonly property ImagePropsBase.height?: number | undefined
  • added: readonly property ImagePropsBase.internal_analyticTag?: string | undefined
  • added: readonly property ImagePropsBase.onError?: ((event: ImageErrorEvent) => void) | undefined
  • added: readonly property ImagePropsBase.onLayout?: ((event: LayoutChangeEvent) => unknown) | undefined
  • added: readonly property ImagePropsBase.onLoad?: ((event: ImageLoadEvent) => void) | undefined
  • added: readonly property ImagePropsBase.onLoadEnd?: (() => void) | undefined
  • added: readonly property ImagePropsBase.onLoadStart?: (() => void) | undefined
  • added: readonly 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: readonly property ImagePropsBase.resizeMode?: ImageResizeMode | undefined
  • added: readonly property ImagePropsBase.source?: ImageSource | undefined
  • added: readonly property ImagePropsBase.src?: string | undefined
  • added: readonly property ImagePropsBase.srcSet?: string | undefined
  • added: readonly property ImagePropsBase.testID?: string | undefined
  • added: readonly property ImagePropsBase.tintColor?: ColorValue | undefined
  • added: readonly property ImagePropsBase.width?: number | undefined
  • changed: type AbstractImageAndroid = (props: Omit<ImagePropsType, keyof { ref?: React.Ref<HostInstance> }> & { ref?: React.Ref<HostInstance> }) => React.ReactNode → type AbstractImageAndroid = (props: Omit<ImagePropsType, keyof { ref?: React.Ref<HostInstance> | undefined }> & { ref?: React.Ref<HostInstance> | undefined }) => React.ReactNode
  • changed: type AbstractImageIOS = (props: Omit<ImagePropsType, keyof { ref?: React.Ref<HostInstance> }> & { ref?: React.Ref<HostInstance> }) => React.ReactNode → type AbstractImageIOS = (props: Omit<ImagePropsType, keyof { ref?: React.Ref<HostInstance> | undefined }> & { ref?: React.Ref<HostInstance> | undefined }) => React.ReactNode
  • added: type ImageInstance = HostInstance
  • removed: const $$InteractionManager: typeof InteractionManagerStub
  • removed: default $$InteractionManager
  • removed: type $$InteractionManager = typeof $$InteractionManager
  • removed: type Handle = number
  • removed: type PromiseTask = { name: string; gen: () => Promise<void> }
  • removed: type SimpleTask = { name: string; run: () => void }
  • removed: type Task = SimpleTask | PromiseTask | (() => void)
  • removed: type FlatListProps<ItemT> = Omit<Omit<VirtualizedListProps, 'data' | 'getItem' | 'getItemCount' | 'getItemLayout' | 'renderItem' | 'keyExtractor'>, keyof FlatListBaseProps<ItemT> | keyof…
  • changed: method FlatList.getNativeScrollRef(): (null | undefined | React.ComponentRef<typeof View>) | (null | undefined | React.ComponentRef<ScrollViewNativeComponent>) → method FlatList.getNativeScrollRef(): null | undefined | ScrollViewInstance
  • changed: method FlatList.scrollToIndex(params: { animated?: boolean | undefined; index: number; viewOffset?: number; viewPosition?: number }): void → method FlatList.scrollToIndex(params: { animated?: boolean | undefined; index: number; viewOffset?: number | undefined; viewPosition?: number | undefined }): void
  • changed: method FlatList.scrollToItem(params: { animated?: boolean | undefined; item: ItemT; viewOffset?: number; viewPosition?: number }): void → method FlatList.scrollToItem(params: { animated?: boolean | undefined; item: ItemT; viewOffset?: number | undefined; viewPosition?: number | undefined }): void
  • added: interface FlatListProps<ItemT> extends Readonly<Omit<Omit<VirtualizedListProps, 'data' | 'getItem' | 'getItemCount' | 'getItemLayout' | 'renderItem' | 'keyExtractor'>, keyof FlatListBaseProps<ItemT> | keyof {}> & Omit<FlatListBaseProps<ItemT>, keyof {}>>
  • added: type FlatListInstance = FlatList
  • removed: type SectionListProps<ItemT, SectionT = DefaultSectionT> = Omit<Omit<VirtualizedSectionListProps<ItemT, SectionT>, 'getItem' | 'getItemCount' | 'renderItem' | 'keyExtractor'>, keyof RequiredSectionListProps<ItemT, Sect…
  • added: interface SectionListProps<ItemT, SectionT = DefaultSectionT> extends Readonly<Omit<Omit<VirtualizedSectionListProps<ItemT, SectionT>, 'getItem' | 'getItemCount' | 'renderItem' | 'keyExtractor'>, keyof RequiredSectionListProps<ItemT, SectionT> | keyof OptionalSectionListProps<ItemT, SectionT> | keyof {}> & Omit<RequiredSectionListProps<ItemT, SectionT>, keyof OptionalSectionListProps<ItemT, Secti…
  • added: type SectionListInstance = SectionList
  • added: type VirtualizedListInstance = React.ComponentRef<VirtualizedListType>
  • added: type VirtualizedSectionListInstance = React.ComponentRef<VirtualizedSectionListType>
  • changed: type LogData = Readonly<{ level: LogLevel; message: Message; category: Category; componentStack: Stack; stack?: string }> → type LogData = Readonly<{ level: LogLevel; message: Message; category: Category; componentStack: Stack; stack?: string | undefined }>
  • changed: type CodeFrame = Readonly<{ content: string; location: { row: number; column: number } | undefined; fileName: string; collapse?: boolean }> → type CodeFrame = Readonly<{ content: string; location: { row: number; column: number } | undefined; fileName: string; collapse?: boolean | undefined }>
  • removed: type ModalBaseProps = { animated?: boolean; animationType?: ('none' | 'slide' | 'fade') | undefined; transparent?: boolean | undefined; visible?: boolean | undefined; onRequestClose…
  • removed: type PublicModalInstance = HostInstance
  • added: interface ModalBaseProps
  • added: property ModalBaseProps.animationType?: ('none' | 'slide' | 'fade') | undefined
  • added: property ModalBaseProps.backdropColor?: ColorValue | undefined
  • added: property ModalBaseProps.modalRef?: React.Ref<ModalInstance> | undefined
  • added: property ModalBaseProps.onRequestClose?: DirectEventHandler<null> | undefined
  • added: property ModalBaseProps.onShow?: DirectEventHandler<null> | undefined
  • added: property ModalBaseProps.transparent?: boolean | undefined
  • added: property ModalBaseProps.visible?: boolean | undefined
  • added: type ModalInstance = HostInstance
  • removed: const $$NativeDialogManagerAndroid: typeof NativeDialogManagerAndroid
  • removed: default $$NativeDialogManagerAndroid
  • removed: export * from '../../../src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid'
  • removed: type $$NativeDialogManagerAndroid = typeof $$NativeDialogManagerAndroid
  • added: function trace<T>(eventName: EventName, fn: () => T, args?: EventArgs): T
  • changed: type Rationale = { title: string; message: string; buttonPositive?: string; buttonNegative?: string; buttonNeutral?: string } → type Rationale = { title: string; message: string; buttonPositive?: string | undefined; buttonNegative?: string | undefined; buttonNeutral?: string | undefined }
  • changed: type EventHandlers = Readonly<{ onBlur: (event: BlurEvent) => void; onClick: (event: GestureResponderEvent) => void; onFocus: (event: FocusEvent) => void; onMouseEnter?: (event: Mo… → type EventHandlers = Readonly<{ onBlur: (event: BlurEvent) => void; onClick: (event: GestureResponderEvent) => void; onFocus: (event: FocusEvent) => void; onMouseEnter?: ((event: M…
  • changed: type AppConfig = { appKey: string; component?: ComponentProvider; run?: Runnable; section?: boolean } → type AppConfig = { appKey: string; component?: ComponentProvider | undefined; run?: Runnable | undefined; section?: boolean | undefined }
  • changed: type WrapperComponentProvider = (appParameters: Object) => React.ComponentType<any> → type WrapperComponentProvider = (appParameters: Object, appKey?: string) => React.ComponentType<any>
  • changed: type Timespan = { startTime: number; endTime?: number; totalTime?: number; startExtras?: Extras; endExtras?: Extras } → type Timespan = { startTime: number; endTime?: number | undefined; totalTime?: number | undefined; startExtras?: Extras | undefined; endExtras?: Extras | undefined }
  • removed: export * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry'
  • removed: export { HostInstance as PublicInstance } from '../../src/private/types/HostInstance'
  • removed: export { MeasureInWindowOnSuccessCallback } from '../../src/private/types/HostInstance'
  • removed: export { MeasureLayoutOnSuccessCallback } from '../../src/private/types/HostInstance'
  • removed: export { MeasureOnSuccessCallback } from '../../src/private/types/HostInstance'
  • removed: export { NativeMethods as LegacyPublicInstance } from '../../src/private/types/HostInstance'
  • removed: export { PublicRootInstance } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • removed: export { create as createAttributePayload } from '../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload'
  • removed: export { createPublicInstance } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • removed: export { createPublicRootInstance } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • removed: export { createPublicTextInstance } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • removed: export { default as BatchedBridge } from '../BatchedBridge/BatchedBridge'
  • removed: export { default as CustomEvent } from '../../src/private/webapis/dom/events/CustomEvent'
  • removed: export { default as ExceptionsManager } from '../Core/ExceptionsManager'
  • removed: export { default as Platform } from '../Utilities/Platform'
  • removed: export { default as RCTEventEmitter } from '../EventEmitter/RCTEventEmitter'
  • removed: export { default as RawEventEmitter } from '../Core/RawEventEmitter'
  • removed: export { default as ReactFiberErrorDialog } from '../Core/ReactFiberErrorDialog'
  • removed: export { default as TextInputState } from '../Components/TextInput/TextInputState'
  • removed: export { default as UIManager } from '../ReactNative/UIManager'
  • removed: export { default as deepDiffer } from '../Utilities/differ/deepDiffer'
  • removed: export { default as deepFreezeAndThrowOnMutationInDev } from '../Utilities/deepFreezeAndThrowOnMutationInDev'
  • removed: export { default as flattenStyle } from '../StyleSheet/flattenStyle'
  • removed: export { default as legacySendAccessibilityEvent } from '../Components/AccessibilityInfo/legacySendAccessibilityEvent'
  • removed: export { diff as diffAttributePayloads } from '../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload'
  • removed: export { getInternalInstanceHandleFromPublicInstance } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • removed: export { getNativeTagFromPublicInstance } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • removed: export { getNodeFromPublicInstance } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • removed: type PublicTextInstance = ReturnType<createPublicTextInstanceT>
  • added: export * from '../../src/react-private-interface'
  • changed: type AttributeConfiguration = Readonly<{ [propName: string]: AnyAttributeType | void; style?: Readonly<{ [propName: string]: AnyAttributeType }> }> → type AttributeConfiguration = Readonly<{ [propName: string]: AnyAttributeType | void; style?: Readonly<{ [propName: string]: AnyAttributeType }> | undefined }>
  • changed: type AttributeType<T, V> = true | Readonly<{ diff?: (arg1: T, arg2: T) => boolean; process?: (arg1: V) => T }> → type AttributeType<T, V> = true | Readonly<{ diff?: ((arg1: T, arg2: T) => boolean) | undefined; process?: ((arg1: V) => T) | undefined }>
  • changed: type InspectorData = Readonly<{ closestInstance?: unknown; hierarchy: Array<{ name: string | undefined; getInspectorData: InspectorDataGetter }>; selectedIndex: number | undefined;… → type InspectorData = Readonly<{ closestInstance?: unknown | undefined; hierarchy: Array<{ name: string | undefined; getInspectorData: InspectorDataGetter }>; selectedIndex: number…
  • changed: type LayoutAnimationAnimationConfig = Readonly<{ duration?: number; delay?: number; springDamping?: number; initialVelocity?: number; type?: LayoutAnimationType; property?: LayoutAnimationProperty… → type LayoutAnimationAnimationConfig = Readonly<{ duration?: number | undefined; delay?: number | undefined; springDamping?: number | undefined; initialVelocity?: number | undefined; type?: LayoutAn…
  • changed: type LayoutAnimationConfig = Readonly<{ duration: number; create?: LayoutAnimationAnimationConfig; update?: LayoutAnimationAnimationConfig; delete?: LayoutAnimationAnimationConfig }> → type LayoutAnimationConfig = Readonly<{ duration: number; create?: LayoutAnimationAnimationConfig | undefined; update?: LayoutAnimationAnimationConfig | undefined; delete?: LayoutAnimation…
  • changed: type PartialViewConfig = Readonly<{ bubblingEventTypes?: ViewConfig['bubblingEventTypes']; directEventTypes?: ViewConfig['directEventTypes']; supportsRawText?: boolean; uiViewClassName… → type PartialViewConfig = Readonly<{ bubblingEventTypes?: ViewConfig['bubblingEventTypes'] | undefined; directEventTypes?: ViewConfig['directEventTypes'] | undefined; supportsRawText?:…
  • changed: type RenderRootOptions = { onUncaughtError?: (error: unknown, errorInfo: { readonly componentStack?: string | undefined }) => void; onCaughtError?: (error: unknown, errorInfo: { readon… → type RenderRootOptions = { onUncaughtError?: ((error: unknown, errorInfo: { readonly componentStack?: string | undefined }) => void) | undefined; onCaughtError?: ((error: unknown, erro…
  • changed: type TouchedViewDataAtPoint = Readonly<{ pointerY: number; touchedViewTag?: number; frame: Readonly<{ top: number; left: number; width: number; height: number }>; closestPublicInstance?: Pu… → type TouchedViewDataAtPoint = Readonly<{ pointerY: number; touchedViewTag?: number | undefined; frame: Readonly<{ top: number; left: number; width: number; height: number }>; closestPublicI…
  • changed: type ViewConfig = Readonly<{ Commands?: Readonly<{ [commandName: string]: number }>; Constants?: Readonly<{ [name: string]: unknown }>; Manager?: string; NativeProps?: Readonly<… → type ViewConfig = Readonly<{ Commands?: Readonly<{ [commandName: string]: number }> | undefined; Constants?: Readonly<{ [name: string]: unknown }> | undefined; Manager?: string…
  • changed: type ShareAction = { action: 'sharedAction' | 'dismissedAction'; activityType?: string | null } → type ShareAction = { action: 'sharedAction' | 'dismissedAction'; activityType?: string | null | undefined }
  • changed: type ShareContent = { title?: string; url: string; message?: string } | { title?: string; url?: string; message: string } → type ShareContent = { title?: string | undefined; url: string; message?: string | undefined } | { title?: string | undefined; url?: string | undefined; message: string }
  • changed: type ShareOptions = { dialogTitle?: string; excludedActivityTypes?: Array<string>; tintColor?: ColorValue; subject?: string; anchor?: number } → type ShareOptions = { dialogTitle?: string | undefined; excludedActivityTypes?: Array<string> | undefined; tintColor?: ColorValue | undefined; subject?: string | undefined; anchor…
  • changed: type DynamicColorIOSTuple = { light: ColorValue; dark: ColorValue; highContrastLight?: ColorValue; highContrastDark?: ColorValue } → type DynamicColorIOSTuple = { light: ColorValue; dark: ColorValue; highContrastLight?: ColorValue | undefined; highContrastDark?: ColorValue | undefined }
  • changed: type BoxShadowValue = { offsetX: number | string; offsetY: number | string; color?: ____ColorValue_Internal; blurRadius?: number | string; spreadDistance?: number | string; inset?:… → type BoxShadowValue = { offsetX: number | string; offsetY: number | string; color?: ____ColorValue_Internal | undefined; blurRadius?: number | string | undefined; spreadDistance?: n…
  • changed: type DropShadowValue = { offsetX: number | string; offsetY: number | string; standardDeviation?: number | string; color?: ____ColorValue_Internal } → type DropShadowValue = { offsetX: number | string; offsetY: number | string; standardDeviation?: number | string | undefined; color?: ____ColorValue_Internal | undefined }
  • changed: type ____DangerouslyImpreciseStyle_InternalCore = Readonly<Omit<____TextStyle_Internal, keyof { resizeMode?: ImageResizeMode; objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'; tintColor?: ____C… → type ____DangerouslyImpreciseStyle_InternalCore = Readonly<Omit<____TextStyle_Internal, keyof { resizeMode?: ImageResizeMode | undefined; objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none' | unde…
  • changed: type ____ImageStyle_InternalCore = Readonly<Omit<____ViewStyle_Internal, keyof { resizeMode?: ImageResizeMode; objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'; tintColor?: ____C… → type ____ImageStyle_InternalCore = Readonly<Omit<____ViewStyle_Internal, keyof { resizeMode?: ImageResizeMode | undefined; objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | 'none' | unde…
  • changed: type ____ShadowStyle_InternalCore = Readonly<{ shadowColor?: ____ColorValue_Internal; shadowOffset?: Readonly<{ width?: number; height?: number }>; shadowOpacity?: number; shadowRadius?: number }> → type ____ShadowStyle_InternalCore = Readonly<{ shadowColor?: ____ColorValue_Internal | undefined; shadowOffset?: Readonly<{ width?: number | undefined; height?: number | undefined }> | undefined;…
  • changed: type ____ViewStyle_InternalBase = Readonly<{ backfaceVisibility?: 'visible' | 'hidden'; backgroundColor?: ____ColorValue_Internal; borderColor?: ____ColorValue_Internal; borderCurve?: 'circular… → type ____ViewStyle_InternalBase = Readonly<{ backfaceVisibility?: 'visible' | 'hidden' | undefined; backgroundColor?: ____ColorValue_Internal | undefined; borderColor?: ____ColorValue_Internal…
  • added: type TextInstance = HostInstance
  • removed: type TextProps = Readonly<Omit<TextPointerEventProps, keyof TextPropsIOS | keyof TextPropsAndroid | keyof TextBaseProps | keyof AccessibilityProps | keyof {}> & Omit<TextPropsI…
  • added: interface TextProps extends Readonly<Omit<TextPointerEventProps, keyof TextPropsIOS | keyof TextPropsAndroid | keyof TextBaseProps | keyof AccessibilityProps | keyof {}> & Omit<TextPropsIOS, keyof TextPropsAndroid | keyof TextBaseProps | keyof AccessibilityProps | keyof {}> & Omit<TextPropsAndroid, keyof TextBaseProps | keyof AccessibilityProps | keyof {}> & Omit<TextBaseProps, keyof Accessibilit…
  • changed: readonly property DEPRECATED_RCTExport.getConstants?: () => {} → readonly property DEPRECATED_RCTExport.getConstants?: (() => {}) | undefined
  • changed: type KeyEvent = Readonly<{ key: string; code: string; altKey: boolean; ctrlKey: boolean; metaKey: boolean; shiftKey: boolean; repeat?: boolean; isComposing?: boolean }> → type KeyEvent = Readonly<{ key: string; code: string; altKey: boolean; ctrlKey: boolean; metaKey: boolean; shiftKey: boolean; repeat?: boolean | undefined; isComposing?: boole…
  • changed: type NativeTouchEvent = Readonly<{ changedTouches: ReadonlyArray<NativeTouchEvent>; force?: number; identifier: number; locationX: number; locationY: number; pageX: number; pageY: num… → type NativeTouchEvent = Readonly<{ changedTouches: ReadonlyArray<NativeTouchEvent>; force?: number | undefined; identifier: number; locationX: number; locationY: number; pageX: number…
  • removed: export { AppearancePreferences }
  • changed: function addChangeListener(listener: ($$PARAM_0$$: { colorScheme: ColorSchemeName | undefined }) => void): EventSubscription → function addChangeListener(listener: (preferences: AppearancePreferences) => void): EventSubscription
  • changed: function getColorScheme(): null | undefined | ColorSchemeName → function getColorScheme(): ColorSchemeName | null
  • changed: function setColorScheme(colorScheme: ColorSchemeName): void → function setColorScheme(colorScheme: ColorSchemeOverride): void
  • added: export { ColorSchemeName }
  • added: export { ColorSchemeOverride }
  • added: type AppearancePreferences = { colorScheme: ColorSchemeName | null }
  • changed: function useColorScheme(): null | undefined | ColorSchemeName → function useColorScheme(): ColorSchemeName | null
  • removed: export { DrawerLayoutAndroidProps } from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid'
  • removed: export { DrawerSlideEvent } from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid'
  • removed: export { Handle } from './Libraries/Interaction/InteractionManager'
  • removed: export { NativeMethods } from './src/private/types/HostInstance'
  • removed: export { NativeMethodsMixin } from './src/private/types/HostInstance'
  • removed: export { PromiseTask } from './Libraries/Interaction/InteractionManager'
  • removed: export { SimpleTask } from './Libraries/Interaction/InteractionManager'
  • removed: export { default as InteractionManager } from './Libraries/Interaction/InteractionManager'
  • removed: export { default as NativeDialogManagerAndroid } from './Libraries/NativeModules/specs/NativeDialogManagerAndroid'
  • removed: export { default as Touchable } from './Libraries/Components/Touchable/Touchable'
  • added: export { AccessibilityActionInfo } from './Libraries/Components/View/ViewAccessibility'
  • added: export { ActivityIndicatorInstance } from './Libraries/Components/ActivityIndicator/ActivityIndicator'
  • added: export { AssetDestPathResolver } from './src/private/assets/AssetRegistry'
  • added: export { AssetRegistry } from './src/private/assets/AssetRegistry'
  • added: export { ButtonInstance } from './Libraries/Components/Button'
  • added: export { DrawerLayoutAndroidInstance } from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes'
  • added: export { DrawerLayoutAndroidProps } from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes'
  • added: export { DrawerSlideEvent } from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes'
  • added: export { EdgeInsetsProp } from './Libraries/StyleSheet/EdgeInsetsPropType'
  • added: export { FlatListInstance } from './Libraries/Lists/FlatList'
  • added: export { ImageBackgroundInstance } from './Libraries/Image/ImageBackground'
  • added: export { ImageInstance } from './Libraries/Image/ImageTypes.flow'
  • added: export { ImageResizeMode } from './Libraries/Image/ImageResizeMode'
  • added: export { KeyboardAvoidingViewInstance } from './Libraries/Components/Keyboard/KeyboardAvoidingView'
  • added: export { ModalInstance } from './Libraries/Modal/Modal'
  • added: export { PackagerAsset } from './src/private/assets/AssetRegistry'
  • added: export { PressableInstance } from './Libraries/Components/Pressable/Pressable'
  • added: export { ProgressBarAndroidInstance } from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid'
  • added: export { RefreshControlInstance } from './Libraries/Components/RefreshControl/RefreshControl'
  • added: export { SafeAreaViewInstance } from './Libraries/Components/SafeAreaView/SafeAreaView'
  • added: export { ScrollViewInstance } from './Libraries/Components/ScrollView/ScrollView'
  • added: export { SectionListInstance } from './Libraries/Lists/SectionList'
  • added: export { StatusBarInstance } from './Libraries/Components/StatusBar/StatusBar'
  • added: export { SwitchInstance } from './Libraries/Components/Switch/Switch'
  • added: export { TextInputBlurEvent } from './Libraries/Components/TextInput/TextInput'
  • added: export { TextInputInstance } from './Libraries/Components/TextInput/TextInput'
  • added: export { TextInstance } from './Libraries/Text/Text'
  • added: export { TouchableHighlightInstance } from './Libraries/Components/Touchable/TouchableHighlight'
  • added: export { TouchableNativeFeedbackInstance } from './Libraries/Components/Touchable/TouchableNativeFeedback'
  • added: export { TouchableOpacityInstance } from './Libraries/Components/Touchable/TouchableOpacity'
  • added: export { ViewInstance } from './Libraries/Components/View/View'
  • added: export { VirtualizedListInstance } from './Libraries/Lists/VirtualizedList'
  • added: export { VirtualizedSectionListInstance } from './Libraries/Lists/VirtualizedSectionList'
  • added: const AssetRegistry: { registerAsset(asset: PackagerAsset): number; getAssetByID(assetId: number): PackagerAsset }
  • added: type AssetDestPathResolver = 'android' | 'generic'
  • added: type AssetRegistry = typeof AssetRegistry
  • added: type PackagerAsset = Readonly<{ fileSystemLocation: string; httpServerLocation: string; width: number | undefined; height: number | undefined; scales: Array<number>; hash: string;…
  • changed: type VirtualCollectionViewComponent<TLayoutProps extends {}> = <TItem extends Item>(props: Omit<TLayoutProps, keyof { children: (item: TItem, key: string) => React.ReactNode; items: VirtualCollection<TItem>; itemToKey?: ($… → type VirtualCollectionViewComponent<TLayoutProps extends {}> = <TItem extends Item>(props: Omit<TLayoutProps, keyof { children: (item: TItem, key: string) => React.ReactNode; items: VirtualCollection<TItem>; itemToKey?: ((…
  • changed: const $$VirtualColumn: <TItem extends Item>(props: { children: (item: TItem, key: string) => React.ReactNode; items: VirtualCollection<TItem>; itemToKey?: ($$PARAM_0$$: TItem) => str… → const $$VirtualColumn: <TItem extends Item>(props: { children: (item: TItem, key: string) => React.ReactNode; items: VirtualCollection<TItem>; itemToKey?: (($$PARAM_0$$: TItem) => st…
  • changed: const $$VirtualRow: <TItem extends Item>(props: { children: (item: TItem, key: string) => React.ReactNode; items: VirtualCollection<TItem>; itemToKey?: ($$PARAM_0$$: TItem) => str… → const $$VirtualRow: <TItem extends Item>(props: { children: (item: TItem, key: string) => React.ReactNode; items: VirtualCollection<TItem>; itemToKey?: (($$PARAM_0$$: TItem) => st…
  • changed: const _logs: { states?: Array<State> } → const _logs: { states?: Array<State> | undefined }
  • added: default dispatchNativeEvent
  • added: function dispatchNativeEvent(target: EventTarget, type: string, payload: { [$$Key$$: string]: unknown }): void
  • removed: const $$AndroidSwitchNativeComponent: NativeType
  • removed: const Commands: NativeCommands
  • removed: default $$AndroidSwitchNativeComponent
  • removed: type $$AndroidSwitchNativeComponent = typeof $$AndroidSwitchNativeComponent
  • removed: type Commands = typeof Commands
  • removed: const $$ProgressBarAndroidNativeComponent: HostComponent<AndroidProgressBarNativeProps>
  • removed: default $$ProgressBarAndroidNativeComponent
  • removed: type $$ProgressBarAndroidNativeComponent = typeof $$ProgressBarAndroidNativeComponent
  • removed: const $$SwitchNativeComponent: ComponentType
  • removed: const Commands: NativeCommands
  • removed: default $$SwitchNativeComponent
  • removed: type $$SwitchNativeComponent = typeof $$SwitchNativeComponent
  • removed: type Commands = typeof Commands
  • changed: readonly property Spec.getColorScheme: () => ColorSchemeName | undefined → readonly property Spec.getColorScheme: () => ColorSchemeName
  • changed: readonly property Spec.setColorScheme: (colorScheme: ColorSchemeName) => void → readonly property Spec.setColorScheme: (colorScheme: ColorSchemeOverride) => void
  • changed: type AppearancePreferences = { colorScheme?: ColorSchemeName | undefined } → type AppearancePreferences = { colorScheme: ColorSchemeName }
  • changed: type ColorSchemeName = 'light' | 'dark' | 'unspecified' → type ColorSchemeName = 'light' | 'dark'
  • added: type ColorSchemeOverride = 'light' | 'dark' | 'auto' | 'unspecified'
  • changed: type DeviceInfoConstants = { readonly Dimensions: DimensionsPayload; readonly isEdgeToEdge?: boolean; readonly isIPhoneX_deprecated?: boolean } → type DeviceInfoConstants = { readonly Dimensions: DimensionsPayload; readonly isEdgeToEdge?: boolean | undefined; readonly isIPhoneX_deprecated?: boolean | undefined }
  • changed: type DimensionsPayload = { window?: DisplayMetrics; screen?: DisplayMetrics; windowPhysicalPixels?: DisplayMetricsAndroid; screenPhysicalPixels?: DisplayMetricsAndroid } → type DimensionsPayload = { window?: DisplayMetrics | undefined; screen?: DisplayMetrics | undefined; windowPhysicalPixels?: DisplayMetricsAndroid | undefined; screenPhysicalPixels?: Di…
  • removed: const $$NativeDialogManagerAndroid: null | undefined | Spec
  • removed: default $$NativeDialogManagerAndroid
  • removed: interface Spec extends TurboModule
  • removed: readonly property Spec.getConstants: () => { readonly buttonClicked: DialogAction; readonly dismissed: DialogAction; readonly buttonPositive: DialogButtonKey; readonly buttonNegative: DialogButtonKey; readonly buttonNeutral: DialogButtonKey }
  • removed: readonly property Spec.showAlert: (config: DialogOptions, onError: (error: string) => void, onAction: (action: DialogAction, buttonKey?: DialogButtonKey) => void) => void
  • removed: type $$NativeDialogManagerAndroid = typeof $$NativeDialogManagerAndroid
  • removed: type DialogOptions = { title?: string; message?: string; buttonPositive?: string; buttonNegative?: string; buttonNeutral?: string; items?: Array<string>; cancelable?: boolean }
  • changed: readonly property Spec.dismissRedbox?: () => void → readonly property Spec.dismissRedbox?: (() => void) | undefined
  • changed: readonly property Spec.reportException?: (data: ExceptionData) => void → readonly property Spec.reportException?: ((data: ExceptionData) => void) | undefined
  • changed: type StackFrame = { column: number | undefined; file: string | undefined; lineNumber: number | undefined; methodName: string; collapse?: boolean } → type StackFrame = { column: number | undefined; file: string | undefined; lineNumber: number | undefined; methodName: string; collapse?: boolean | undefined }
  • changed: readonly property Spec.blur?: (reactTag: number) => void → readonly property Spec.blur?: ((reactTag: number) => void) | undefined
  • changed: readonly property Spec.focus?: (reactTag: number) => void → readonly property Spec.focus?: ((reactTag: number) => void) | undefined
  • changed: readonly property Spec.getConstantsForViewManager?: (viewManagerName: string) => Object | undefined → readonly property Spec.getConstantsForViewManager?: ((viewManagerName: string) => Object | undefined) | undefined
  • changed: readonly property Spec.getDefaultEventTypes?: () => Array<string> → readonly property Spec.getDefaultEventTypes?: (() => Array<string>) | undefined
  • changed: readonly property Spec.lazilyLoadView?: (name: string) => Object → readonly property Spec.lazilyLoadView?: ((name: string) => Object) | undefined
  • changed: readonly property Spec.sendAccessibilityEvent?: (reactTag: number, eventType: number) => void → readonly property Spec.sendAccessibilityEvent?: ((reactTag: number, eventType: number) => void) | undefined
  • changed: readonly property Spec.setLayoutAnimationEnabledExperimental?: (enabled: boolean) => void → readonly property Spec.setLayoutAnimationEnabledExperimental?: ((enabled: boolean) => void) | undefined
  • changed: type HostComponent<Config extends {}> = (props: Omit<Config, keyof { ref?: React.Ref<HostInstance> }> & { ref?: React.Ref<HostInstance> }) => React.ReactNode → type HostComponent<Config extends {}> = (props: Omit<Config, keyof { ref?: React.Ref<HostInstance> | undefined }> & { ref?: React.Ref<HostInstance> | undefined }) => React.ReactNode
  • removed: interface LegacyHostInstanceMethods
  • removed: method LegacyHostInstanceMethods.blur(): void
  • removed: method LegacyHostInstanceMethods.focus(): void
  • removed: method LegacyHostInstanceMethods.measure(callback: MeasureOnSuccessCallback): void
  • removed: method LegacyHostInstanceMethods.measureInWindow(callback: MeasureInWindowOnSuccessCallback): void
  • removed: method LegacyHostInstanceMethods.measureLayout(relativeToNativeNode: number | HostInstance, onSuccess: MeasureLayoutOnSuccessCallback, onFail?: () => void): void
  • removed: method LegacyHostInstanceMethods.setNativeProps(nativeProps: {}): void
  • removed: type NativeMethods = LegacyHostInstanceMethods
  • removed: type NativeMethodsMixin = LegacyHostInstanceMethods
  • changed: readonly property CustomEventInit.detail?: unknown → readonly property CustomEventInit.detail?: unknown | undefined
  • changed: readonly property EventInit.bubbles?: boolean → readonly property EventInit.bubbles?: boolean | undefined
  • changed: readonly property EventInit.cancelable?: boolean → readonly property EventInit.cancelable?: boolean | undefined
  • changed: readonly property EventInit.composed?: boolean → readonly property EventInit.composed?: boolean | undefined
  • changed: type AddEventListenerOptions = Readonly<Omit<EventListenerOptions, keyof { passive?: boolean; once?: boolean; signal?: AbortSignal }> & { passive?: boolean; once?: boolean; signal?: AbortSig… → type AddEventListenerOptions = Readonly<Omit<EventListenerOptions, keyof { passive?: boolean | undefined; once?: boolean | undefined; signal?: AbortSignal | undefined }> & { passive?: boolea…
  • changed: type EventListenerOptions = Readonly<{ capture?: boolean }> → type EventListenerOptions = Readonly<{ capture?: boolean | undefined }>
  • added: const ReactNativeDocument_public: typeof ReactNativeDocument
  • added: type ReactNativeDocument_public = typeof ReactNativeDocument_public
  • changed: class ReactNativeElement extends ReadOnlyElement implements NativeMethods → class ReactNativeElement extends ReadOnlyElement
  • changed: constructor ReactNativeElement(tag: number, viewConfig: ViewConfig, instanceHandle: InstanceHandle, ownerDocument: ReactNativeDocument) → protected constructor ReactNativeElement()
  • added: const ReactNativeElement_public: typeof ReactNativeElement
  • added: type ReactNativeElement_public = typeof ReactNativeElement_public
  • added: const ReadOnlyCharacterData_public: typeof ReadOnlyCharacterData
  • added: type ReadOnlyCharacterData_public = typeof ReadOnlyCharacterData_public
  • added: const ReadOnlyElement_public: typeof ReadOnlyElement
  • added: type ReadOnlyElement_public = typeof ReadOnlyElement_public
  • changed: constructor ReadOnlyNode(instanceHandle: InstanceHandle, ownerDocument: ReactNativeDocument | null) → protected constructor ReadOnlyNode()
  • added: const ReadOnlyNode_public: typeof ReadOnlyNode
  • added: type ReadOnlyNode_public = typeof ReadOnlyNode_public
  • added: const ReadOnlyText_public: typeof ReadOnlyText
  • added: type ReadOnlyText_public = typeof ReadOnlyText_public
  • changed: readonly property Spec.getElementById?: (nativeNodeReference: unknown, id: string) => unknown → readonly property Spec.getElementById?: ((nativeNodeReference: unknown, id: string) => unknown) | undefined
  • changed: readonly property Spec.linkRootNode?: (rootTag: number, instanceHandle: unknown) => unknown → readonly property Spec.linkRootNode?: ((rootTag: number, instanceHandle: unknown) => unknown) | undefined
  • added: type HTMLCollection_public = typeof HTMLCollection_public
  • added: var HTMLCollection_public: typeof HTMLCollection
  • added: type NodeList_public = typeof NodeList_public
  • added: var NodeList_public: typeof NodeList
  • added: export * as ReactNativeViewConfigRegistry from '../Libraries/Renderer/shims/ReactNativeViewConfigRegistry'
  • added: export { PublicRootInstance } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • added: export { create as createAttributePayload } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload'
  • added: export { createPublicInstance } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • added: export { createPublicRootInstance } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • added: export { createPublicTextInstance } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • added: export { default as BatchedBridge } from '../Libraries/BatchedBridge/BatchedBridge'
  • added: export { default as CustomEvent } from './private/webapis/dom/events/CustomEvent'
  • added: export { default as ExceptionsManager } from '../Libraries/Core/ExceptionsManager'
  • added: export { default as Platform } from '../Libraries/Utilities/Platform'
  • added: export { default as RCTEventEmitter } from '../Libraries/EventEmitter/RCTEventEmitter'
  • added: export { default as RawEventEmitter } from '../Libraries/Core/RawEventEmitter'
  • added: export { default as ReactFiberErrorDialog } from '../Libraries/Core/ReactFiberErrorDialog'
  • added: export { default as TextInputState } from '../Libraries/Components/TextInput/TextInputState'
  • added: export { default as UIManager } from '../Libraries/ReactNative/UIManager'
  • added: export { default as deepDiffer } from '../Libraries/Utilities/differ/deepDiffer'
  • added: export { default as deepFreezeAndThrowOnMutationInDev } from '../Libraries/Utilities/deepFreezeAndThrowOnMutationInDev'
  • added: export { default as dispatchNativeEvent } from './private/renderer/events/dispatchNativeEvent'
  • added: export { default as flattenStyle } from '../Libraries/StyleSheet/flattenStyle'
  • added: export { default as legacySendAccessibilityEvent } from '../Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent'
  • added: export { diff as diffAttributePayloads } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload'
  • added: export { getInternalInstanceHandleFromPublicInstance } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • added: export { getNativeTagFromPublicInstance } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • added: export { getNodeFromPublicInstance } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance'
  • added: type PublicTextInstance = ReturnType<createPublicTextInstanceT>