npm react-native-screens 4.14.0
4.14

latest releases: 4.17.0-nightly-20250904-5abbab390, 4.16.0, 4.16.0-nightly-20250903-4d2d41726...
23 days ago

What's Changed

Minor release, bringing:

  • support for RN 0.81,
  • dropping support for RN up to 0.79 (exclusive, i.e. 0.79 is still supported),
  • tons of bug fixes & improvements for experimental bottom tabs implementation,
  • tons of bug fixes & improvements for experimental split view implementation,
  • series of bug fixes covering native-stack behaviour on upcoming iOS 26,
  • a lot more 👇🏻

🟢 Improvements

  • feat(Android, Tabs): pass material theme using context wrapper & update the layout flow by @maciekstosio in #3015
  • feat(Android,Tabs): support activity indicator by @maciekstosio in #3016
  • feat(Android, Tabs): support badge in bottom navigation by @maciekstosio in #3017
  • feat(Android, Tabs): Align styles with material design guidelines by @maciekstosio in #3026
  • feat(Android, Tabs): support ripple color in bottom navigation by @maciekstosio in #3027
  • feat(iOS, SplitView): Add API for organizing columns by @t0maboro in #3003
  • feat(iOS, SplitView): Add event emitter by @t0maboro in #3005
  • feat(iOS, SplitView) Add support for displayModeButtonVisibility prop by @t0maboro in #3010
  • feat(iOS, SplitView): Add support for setting column widths by @t0maboro in #3022
  • feat(Android, Tabs): support visiblity mode in bottom navigation by @maciekstosio in #3028
  • feat(iOS, Tabs): add support for tabBarMinimizeBehavior by @kligarski in #3011
  • feat(iOS, Paper, Tabs): add support for tabBarBlurEffect by @kligarski in #3033
  • fix(iOS, SplitView): Fix SplitViewHostController initialization by @t0maboro in #3054
  • feat(Android, Tabs): Allow to disable active indicator by @maciekstosio in #3053
  • feat(iOS, Paper, Tabs): add support for tabBarMinimizeBehavior on Paper by @kligarski in #3056
  • feat(iOS, SplitView): Add support for fraction for columns widths by @t0maboro in #3043
  • feat(iOS, Tabs): add support for default blur effect value by @kligarski in #3036
  • feat(iOS, Paper, Tabs): export overrideScrollViewContentInsetAdjustmentBehavior, add dynamic changes warning by @kligarski in #3044
  • feat(iOS, Tabs): enable scrollToTop for screens other than root when popToRoot is disabled by @kligarski in #3061
  • feat(iOS, SplitView) Add OnDisplayModeWillChange event by @t0maboro in #3064
  • chore(iOS, Tabs): add prop docs by @kligarski in #3048
  • feat(iOS, Tabs): Expose RNSTabBarController by @t0maboro in #3076
  • fix(Android,Tabs): allow for nesting tabs inside v4 stack by @kkafar in #3084
  • feat(iOS): add an option to prevent dismissal of external modals by @Ubax in #2994
  • docs(Tabs): add tabBarItemBadgeBackgroundColor prop docs for Android by @kligarski in #3094
  • feat(BottomTabs): Add freezeContents prop by @kmichalikk in #3115
  • feat: add support for react-native 0.81 by @kligarski in #3114
  • fix(iOS): Glitching back navigations on iOS 26 by @kmichalikk in #3093
  • fix(iOS, Tabs): Fix more controller handling by @Ubax in #3108

🐞 Bug fixes

  • fix(iOS): provide missing symbols when building w/o Gamma project enabled by @kkafar in #3032
  • fix(iOS, Paper, Tabs): fix badge value on iOS Paper by @kligarski in #3038
  • fix(iOS, Tabs): add temporary workaround to avoid UIScrollEdgeEffect glitch on iOS 26 by @kligarski in #3013
  • fix(iOS, Gestures): Ignore inactive preloaded screens in gestureRecognizer by @kmichalikk in #3045
  • fix(iOS, SplitView): Update showSecondaryToggleButton dynamically by @t0maboro in #3047
  • fix(Android, Tabs): add missing paper annotations by @maciekstosio in #3060
  • fix(iOS, SplitView): Add flag for invalidating preferredDisplayMode by @t0maboro in #3051
  • fix(web): Add web version stubs for native components by @kmichalikk in #3069
  • fix: Remove newly added logs from user land by @theisgroenbech in #3068
  • fix(Android): Differentiate between new and preloaded screens in ScreenStack by @kmichalikk in #3062
  • fix(web): Move BottomTabs.web to bottom-tabs directory by @kmichalikk in #3075
  • fix(iOS, Tabs): fix condition for applying text attributes in Appearance Coordinator by @kligarski in #3081
  • fix(iOS, SplitView): Break the retain cycle between component and controller for SplitViewScreen by @t0maboro in #3083
  • fix(iOS, Tabs): Break retain cycle for bottom tabs screen by @t0maboro in #3085
  • fix(iOS, Stack v4): fix missing search bar on root screen on iOS 26 by @kligarski in #3098
  • fix(Android, Tabs): JS focus change fix by @Ubax in #3091
  • fix(Android,Paper): fix codegened interface for RNSSearchBarManagerDelegate by @kkafar in #3126

🔢 Misc

  • chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /FabricExample by @dependabot[bot] in #3021
  • chore(deps): bump RN to 0.80.1 in lib & apps by @kkafar in #3035
  • chore(CI): Remove clang-format by @kmichalikk in #3046
  • refactor(Android): rewrite tab update logic by @kkafar in #3055
  • refactor(Android,Tabs): reuse existing menu items on menu appearance update by @kkafar in #3057
  • feat(iOS, SplitView): Add examples for SplitView integration with other native components by @t0maboro in #3059
  • refactor(iOS, SplitView): Add preferred prefix to some props by @t0maboro in #3039
  • chore(iOS, SplitView): Add internal documentation for SplitView by @t0maboro in #3042
  • chore(iOS, SplitView): Export types and add documentation coverage by @t0maboro in #3034
  • refactor(iOS, SplitView): Merge functions responsible for appearance update by @t0maboro in #3065
  • feat(Example): Fix sorting for multiple tests with same issue number by @kmichalikk in #3067
  • chore(Android, Tabs): document props for android by @maciekstosio in #3070
  • chore(Android, Tabs): extract appearance to separate classes by @maciekstosio in #3071
  • fix(iOS, Tabs): fix typo in Appearance Coordinator by @kligarski in #3080
  • chore(Lint): Run swift lint on macos runner, split jobs between runners, remove formatting step by @kmichalikk in #3088
  • chore(iOS): Add compilation flag for gamma sources by @t0maboro in #3103
  • chore(iOS): Rename RNSUIBarButtonItem to RNSBackBarButtonItem by @kmichalikk in #3119
  • fix(example): Make react-freeze work in BottomTabs by @kmichalikk in #3116
  • chore: add bottomTabsDebugLog & react-native-screens/private module by @Ubax in #3123
  • refactor(Android): fix lambda implicit param name shadowing in TabsHost by @kkafar in #3125
  • chore(readme): update readme with information on supported RN versions by @kkafar in #3127
  • release: 4.14.0 by @kkafar in #3129

New Contributors

Full Changelog: 4.13.0...4.14

Don't miss a new react-native-screens release

NewReleases is sending notifications on new releases.