# What changed in react-native-screens

> 210 changes in react-native-screens 4 from its official release notes, upgrade guides and advisories: 28 breaking, 75 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/react-native-screens/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## react-native-screens 4

### Breaking changes

- Opaque headers no longer minimize on scroll. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Prevents use of the ViewInstance type. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- In Android Stack v4, consume*Inset props now default to true. (4.26.1) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.1)
- Native Stack v5 header items support menus, press handlers, and toggling items with managed flow; their label and key fields were renamed to title and id. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The minimum supported React Native version is now 0.84, so projects using older versions are no longer supported. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- This version supports React Native 0.84 and later. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.2), [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.1), [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The web SafeAreaView export changes from a default export to a named export. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The controlledBottomTabs option was removed. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The controlNavigationStateInJS option was removed. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The Tabs API no longer accepts the freezeContents prop. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The library no longer supports the legacy architecture and will most likely fail to build when used with it. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The Tabs event onTabChange was renamed to onTabSelected; update event handlers to use the new name. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The Tabs API no longer accepts the placeholder prop. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- A minimum required React Native version is now defined in peerDependencies, affecting which React Native versions satisfy the package dependency. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The Tabs key was renamed from tabKey to screenKey; update code using the old name. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Tabs scrollEdgeEffects moved from TabsScreen to ScrollViewMarker, and iOS now forwards the setting to the inner screen in modals. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- TabsAccessory was renamed to TabsBottomAccessory; update references to the renamed component. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Stack v5 on Android can prevent native dismiss support. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- The experimental name maxLifecycleState is changed to activityMode. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- The experimental component is renamed to StackHost. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Experimental tabs-related components are exported under the Tabs object, dropping the Bottom* prefix. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Changes the default bottom tabs implementation to managed. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Removes the long-deprecated native-stack v5 code from the repository. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Drops support for React Native 0.79 starting with this release. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- This property has moved to the menu button item. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- The header items API renames label to title. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- Android native code and dependencies related to props deprecated by edge-to-edge enforcement were removed. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- An experimental submodule is available, and SafeAreaView has moved there from /private. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)

### New APIs and options

- Tabs.Host gains prominentScreenKey on iOS 27+ so a chosen tab stays visible when the tab bar minimizes. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- ScreenStackItem gains unstable_safeAreaEdges, letting a screen override the insets applied on iOS 26+. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Adds a Tabs prop backed by UISearchTab. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Adds custom drawable or symbol tab-bar icons with per-slot coloring, per-tab sizing, indicator sizing, and an iOS fallback. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Adds a Tabs prop to control whether hiding the tab bar is animated. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Adds a Tabs prop to choose between a sidebar and tab bar on iOS 27. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Adds a visibilityPriority prop to Stack v4 header items on iOS. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Exposes the tab item testID as viewIdResourceName. (4.28.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.28.0)
- Adds basic view commands for the iOS Stack v5 header menu. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Android Stack v5 supports sending multiple updates via a view command. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Introduces the experimental iOS ScrollToTopGuard component. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Adds subtitle support to UIMenu header button submenus in Stack v4 on iOS. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- The Tabs actionOrigin type adds the programmatic-native variant. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- iOS Tabs adds the bottomAccessoryHidden prop. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Nested container integration introduces Container and ContainerItem across Android and iOS Stack and Tabs. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Android Stack v4 adds disable*InsetApplication props. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone FormSheet adds support for fitToContents on iOS and Android. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- An experimental standalone FormSheet native component is available on Android and iOS. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet adds lifecycle events. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone Android FormSheet adds support for fractional detents. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The Android Native Stack v5 adds support for header scroll flags. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet can be configured with an initial detent index. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Native Stack v5 menuItems add keepsMenuPresented. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet adds support for largestUndimmedDetentIndex. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Android Native Stack v5 supports menuTitle (headerTitle) in submenus. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet adds support for nativeContainerStyle. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet emits an event when its detent changes. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet adds an event for prevented native dismissal. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet adds the preferredCornerRadius prop. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone FormSheet adds support for controlling grabber visibility. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet adds support for expanding when scrolled to the edge. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The standalone iOS FormSheet adds support for preventing native dismissal. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Android Native Stack v5 exposes showAsAction for toolbar menu items. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Split adds a colorScheme prop. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- TabSelectionPreventedEvent is re-exported from the package root. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Native Stack v5 adds toolbar menu items, including icons, tinting, text props, groups, nested menus, and disabled items. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Android Stack v5 adds basic header support, including header configuration, custom subviews, and a customizable back button. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Tabs now support preventNativeSelection. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Tabs on Android and iOS partially implement RFC-1028. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- An experimental ScrollViewMarker component is available. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Tabs on Android now support selectedIcon. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- iOS Stack v4 now allows customization of the header background color. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Android Stack v4 adds a prop for opting out of applying an inset to the header. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Tabs on Android now support state-driven appearance. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Tabs on Android add a prop to configure whether the tab bar respects IME insets. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The Tabs operation model adds TabSelectionRejectedEvent and supports rejecting stale state updates. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- A usesStableTabsApi compatibility flag was added for the Tabs API. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Menu icons now support imageSource. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- An opt-out flag is available for interactions during transitions on iOS 26. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- The Split API adds a show(column) command. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- Menu icons now support templateSource. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- The Split API adds the topColumnForCollapsing prop. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- Added a skeleton native implementation for Stack v5. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Added iOS support for xcassets. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Adds accessibilityLabel to BottomTabsScreen. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Adds testId to BottomTabsScreen for identifying it in tests. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Adds accessibilityLabel to Item. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Adds testId to Item for identifying it in tests. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Tabs now allow styling the full tabs background color. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Adds bottomAccessory support for native tabs on iOS. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Adds primaryBackgroundStyle support to iOS SplitView. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Adds the snapshotAfterUpdates property to RNSScreenView. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Adds special effects support for bottom tabs on Android. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Adds an option to change the number of SplitView columns dynamically on iOS. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Adds support for synchronous state updates on Fabric for native stack, behind a feature flag. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Adds a prop to hide the tab bar on iOS and Android. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Adds an experimental prop to override user interface style for iOS Stack and Tabs. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- Header bar button items now have a type. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- The systemDefault option was added to the iOS SearchBar autoCapitalize prop. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- autoFocus was added to the Android Fabric SearchBar spec. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Support was added for glassy form sheets on iOS 26. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- An experimental safe area component is available for iOS and Android, handling native headers, bottom tabs, and other safe area cases. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- iOS headers now support UIBarButtonItem items. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Support was added for scroll edge effects. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Support was added for UITabBarController.Mode for the iPad sidebar feature. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)

### Behavior and default changes

- Migrates the iOS Tabs implementation to the UITab API on iOS 26.1 and later. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Changes the default value from the string 'true' to the boolean true. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Removes the explicit React Native peer dependency version from package configuration to improve dependency compatibility. (4.26.1) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.1)
- Tabs integrate with ScrollViewMarker for special effects on iOS and Android. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- The Tabs API is now stable, so developers can use it without treating it as experimental. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Android FormSheet coordinates animations from different sources and prioritizes keyboard animation over content resize animation. (4.25.1) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0), [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.1)
- Tabs on iOS and Android now handle colorScheme for dark mode. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- iOS Tabs add proper support for moreNavigationController; its behavior is also decoupled from navigation state. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Bottom tabs now have native RTL support on iOS and Android. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- The iOS Stack v5 implementation was aligned with RFC 753. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- This iOS Stack v4 option is enabled by default. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- Android Stack v5 allows nested containers to be popped via JS. (4.23.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.23.0)
- The default ScreenStackHeaderSubview type on Android is LEFT. (4.23.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.23.0)
- Nested Stack v5 uses the parent container's childFragmentManager. (4.22.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.22.0)
- Stack v5 allows native navigation in nested stacks. (4.22.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.22.0)
- Added handling for preloading screens in Stack v5 on Android. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Android formSheet now supports dynamic content size when fitToContents is selected, and fixes height changes and Y translation when overflowing the screen. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- iOS SafeAreaView uses synchronous state updates. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- The bottom tabs icons API was refactored, changing how developers configure tab icons. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- Support was added for interactiveContentPopGesture on iOS 26. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- The hideNavigationBar prop can use native behavior. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- The obscureBackground prop can use native behavior. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- SplitView updates are synchronous. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- The approach for loading external sources for Android tab icons was updated. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)

### Tooling

- The package's types now support TypeScript's exactOptionalPropertyTypes option. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)

### Fixes and other changes

- Applies async-loaded icons to tabs that overflow into More on the UITab path. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Prevents legacy and tabs containers on Android from delaying child pressed state. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Updates header subview positions after navigation bar layout on iOS 26+. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Uses the native screen origin as the shadow tree offset. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- On iOS 26+, screens are laid out under an opaque navigation bar and inset through the safe area instead of using UIKit's extended-layout frame. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Filters UIKit's didSelectTab: for programmatic selection while More is active. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Fixes broken published types for the tabs host and screen. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Prevents user selection of UISearchTab from being dropped on mount transactions. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- On iOS 27+, useHeaderHeight reports the visible height of the bar while it is minimized. (4.30.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.30.0)
- Enforces consistent width for the bottom accessory. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Skips header updates for a screen detached from its stack. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Sends the dismiss event to JavaScript when the pop animation ends. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Hides the Edit button in the sidebar when using the UITab API. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Skips form sheet scroll view frame correction after a screen is invalidated and prevents resizing a recycled scroll view. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Makes Android fragment restoration R8-safe. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Allows touches to pass through the strip left behind by a hidden tab bar. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Prevents a crash in setupFabric during instance teardown. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Removes orphaned fragments when ScreenContainer detaches. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Prevents the tab bar hidden animation from running on first render. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Restores touch coordinates after covered screens rotate. (4.29.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.29.0)
- Uses ViewIdGenerator rather than sequential IDs to identify tab MenuItems. (4.28.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.28.0)
- Prevents adding preloaded and dismissed fragments when popping from an opaque to a translucent screen in Stack v4. (4.28.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.28.0)
- Fixes a use-after-free involving RNSScreenRemovalListener registered as a mounting override delegate. (4.28.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.28.0)
- Appends a transition filler for SwipeRefreshLayout in Stack v4+. (4.28.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.28.0)
- Handles forceLayout so the tab bar is properly laid out after a configuration change. (4.28.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.28.0)
- Android Stack no longer adds a top inset to measured header height when the inset is disabled. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Fixes an Android crash when a header is updated during screen removal. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Stack v4 on iOS falls back to inheriting orientation when it is not defined on the screen. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Adds support for React Native 0.87 and fixes an iOS runtime crash. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Re-layouts the tab bar after an asynchronous icon load to prevent label truncation on iOS 26. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Prevents swapping a view controller's view during a transition. (4.27.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.27.0)
- Fixes transition finalization to prevent screens from unmounting during fast navigation in Stack v5 on Android. (4.26.2) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.2)
- Fixes a potential Android crash with container state restoration in Tabs. (4.26.2) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.2)
- Fixes ShadowState inside SplitView columns after a transition on iOS. (4.26.1) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.1)
- The standalone iOS FormSheet emits onDismiss when dismissal is initiated from JavaScript. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- Touch handling for Pressables in transparent iOS headers is fixed. (4.26.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.26.0)
- On Android, the shadow update includes keyboard translationY. (4.25.2) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.2)
- On Android, appearance updates are triggered when the user selects a tab. (4.25.2) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.2)
- Animations coming from different sources are synchronized. (4.25.1) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.1)
- Tabs now handle reattachment to the window. (4.25.1) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.1)
- On iOS Stack v4, tapping a formSheet backdrop now calls the usePreventRemove callback. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- On iOS Stack v4, the usePreventRemove callback is now called when tapping a formSheet backdrop. (4.25.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.25.0)
- Applies a workaround for controlling insets on Android BottomSheetBehavior. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- Fixes keyboard navigation focus for form sheets on Android Stack v4. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- Fixes the lifecycle of the prevent native dismiss callback on Android Stack v5. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- On iOS Tabs, the scroll view behavior override is deferred until props are set. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- The Transition API now works with Stack v5 on Android. (4.24.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0)
- On Android, the keyboard is dismissed when a FormSheet BottomSheet is presented. (4.23.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.23.0)
- iOS now respects all screen orientations on iPad. (4.22.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.22.0)
- Stack v5 updates its stack model after a native pop. (4.22.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.22.0)
- Fixes updateSelectedTab removing fragments it does not own. (4.22.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.22.0)
- Added compression resistance to iOS Stack button items. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixed a Fabric Android crash when sending a key event to open the dev menu. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixed Android FormSheet constraint calculations based on screen size. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Accounted for the initial translationY in the default Android FormSheet animation. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixed FullWindowOverlay not mounting when fullScreenModal is presented. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixed possible Mac Catalyst build issues caused by implicit conversions. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixed modal content flicker during the enter transition on iPad. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Removed code that disabled interaction for modals. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixed Screens reattaching incorrectly when swiping back quickly on iOS. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Requests a layout pass after loading an image from source in iOS Tabs. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixed tvOS compilation in split-view. (4.21.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0)
- Fixes an iOS Stack issue where a centered header subview was not visible or was misaligned. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Fixes library typing for React 19. (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Fixes an ill-formed program caused by using static_assert(false). (4.20.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.20.0)
- Restores gestureResponseDistance support on iOS 26. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- ScreenStackItem now considers the default value for headerConfig.hidden. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- ScreenStackItem now considers the default value for stackPresentation. (4.19.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.19.0)
- iOS menu items now accept multiple attributes. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- Prevents freezing from unmounting native components. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- Tab title font configuration now uses the default UITabBarItem title font as its base. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- Fixes tabBarTintColor behavior on iPadOS. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- Fixes handling of variable icons in header items. (4.18.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.18.0)
- Fixes a build error in release mode caused by imageLoader being undefined. (4.17.1) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.1)
- Content pop with horizontal scrolling is fixed. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- iOS 26 Stack v4 content rendering under UINavigationBar is fixed. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- The fullScreenSwipeEnabled prop is available again on iOS. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Defaults for obscureBackground and hideNavigationBar are now consistent in iOS Stack v4. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Defaults for obscureBackground and hideNavigationBar are now consistent in iOS Stack v4. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Custom screen swipe transitions are fixed. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Canceling search on Android is fixed. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
- Dismissing transparent modals no longer has a delay. (4.17.0) — [release notes](https://github.com/software-mansion/react-native-screens/releases/tag/4.17.0)
