Releases: software-mansion/react-native-screens
4.14
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 https://github.com/software-mansion/react...
4.13.1
4.13.0
This release publishes our alpha versions of implementation of native bottom tabs, native split view (iOS only), and refactor of existing components.
Caution
Please note that these published APIs are experimental, and are mostly meant for downstream navigation library authors, so that they can start working on adoption. These can be used as standalone components however, but keep in mind, that the APIs are not yet stable, and bugs are expected.
Example usage can be found e.g. here.
We're counting on you, as early adopters, to start testing these APIs & give us feedback / ideas how to shape them.
All APIs except bottom tabs, require the library being build with RNS_GAMMA_ENABLED=1
env var set. APIs behind that flag are meant for next major version.
@kkafar: Huge thanks to the whole Screens team @kligarski @t0ms0n00 @maciekstosio @kmichalikk @WoLewicki @kmagiera for the initial work here. Let's keep going 💪🏻
Enjoy!
What's Changed
- release: 4.13.0 (ca2bf1a)
- chore: mark all gamma APIs as experimental (d2b9f3b)
- fix(iOS, Tabs+native-stack): allow for bottom, left, right extended layout edges with native stack header non-translucent (7fc48aa)
- feat(iOS, Tabs): add support for custom images and templates for tab bar item icons (900fa48)
- chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /docs (4835039)
- feat(iOS, SplitView): Add support for showsSecondaryOnlyButton (0119cbc)
- feat(iOS, SplitView): Add support for presentsWithGesture prop (260b3fd)
- feat(iOS, SplitView): Add support for preferredDisplayMode prop (346d86d)
- chore: update react-native-is-edge-to-edge to 1.2.1 (089885d)
- chore(CI): disable e2e workflows temporarily (fee8faf)
- fix(iOS): Replace calls to
UIOffset
ctors with calls toUIOffsetMake
(cdfd149) - chore(CI): add
RNS_GAMMA_ENABLED
env var for TVOS CI (f9f330d) - chore(example): update TVOSExample podfile lock after release & rebase of labs change (1f4493f)
- fix(iOS): Disable
DEFINES_MODULE
for stable app version (w/o gamma project enabled) (125be18) - Bump lockfiles after rebase on main (b2f40f3)
- feat(legacy-arch): basic support for legacy architecture for bottom tabs (29dc088)
- feat(iOS, SplitView): Add support for preferredSplitBehavior prop (24d88f7)
- chore(CI): add Paper CI for main-labs, use RNS_GAMMA_ENABLED=0 (80f6d26)
- fix(iOS, Tabs): bring back badgeValue prop (55d8cb8)
- feat(iOS, Tabs): revert contentInsetAdjustmentBehavior to automatic for ScrollViews (1b6e5c2)
- feat(iOS, SplitView): Adapt SplitView layout integration to iOS 26 requirements (29ae3bd)
- feat(Android, Tabs): check the android scope and package scope for android drawable resources (09f98b3)
- feat(Android,Tabs): Allow fontFamily, fontWeight and fontStyle on android tabs (86279b7)
- feat(Android, Tabs): Handle font size active/inactive (7e6e07e)
- feat(Android,Tabs): add prop for android system drawable (339b0d8)
- fix(Android): add missing setters in view manager interfaces for legacy arch (dd242eb)
- chore(Android): make the library build with legacy architecture (1edf757)
- docs: update contributing guide with instructions for Gamma project (f11364e)
- feat(Android,Tabs): add icon color props (83cf15e)
- feat(Android,Tabs): add item tittle color props (0435c92)
- feat(iOS, SplitView) Setup basic logic for custom ShadowNodes (02e699b)
- feat(iOS, Tabs): add tabBarTintColor (82ab88b)
- feat(iOS, Tabs): add props to control micro interactions (a684d5f)
- feat(iOS, Tabs): add support for scrolling ScrollView to top on repeated tab selection (bd98527)
- feat(iOS, Tabs): add support for popping nested stack to root on repeated tab selection (02eb227)
- chore(CI): add RNS_GAMMA_ENABLED=1 for new arch build tests (2363d98)
- feat(Deploy): automatically increment minor version for nightly build (ccfac22)
- chore(iOS): exclude gamma project files from end-user builds (02d6982)
- chore(iOS): make the library build with legacy architecture (fc9ea1e)
- fix(iOS, Tabs): prevent tab bar animation on initial load (08f4fab)
- chore(iOS, SplitView) Run yarn format for SplitView files (efd9ceb)
- fix(iOS,Stack) Fix StackContainer import error (2cbfb45)
- style(iOS, Android): setup CI workflow for linting (835fbf6)
- feat(Android): add basic support for nesting v4 stack in new bottom-tabs (d62b0a3)
- refactor(Test): move BottomTabsContainer and StackContainer to shared components folder (8ca3d94)
- feat(iOS, SplitView): Basic skeleton for SplitView (987b979)
- feat(iOS): new three-state lifecycle for stack (9fe0a78)
- feat(iOS, Tabs): animate changes to view controllers (33d309f)
- feat(iOS, Tabs): add SFSymbol icons, iconColor and titlePositionAdjustment (ccfa831)
- chore(iOS): Remove empty TARGET_OS_TV block (0af2d81)
- refactor(example): remove alternative ways of using
StackContainer
in example (ecfbb76) - refactor(example): Use regular functions & format the code (2a7b27b)
- refactor(iOS): simplify event emitting code in
RNSStackScreenController
(fe1e40d) - feat(Android): basic support for tab bar background color (a201560)
- feat(iOS): add basic stack management (ed7850a)
- feat(Android): add support for menu item title (84a6d4b)
- fix(iOS,Tabs): fix
title
being errorneously assigned totabKey
(9eb7365) - refactor(Android): structurize updates to tab container & run them on as-needed basis (cfc23ac)
- feat(Android): enable tab switching (14181a6)
- feat(Android): emit
onNativeFocusChange
& react to JS focus change (8316c82) - refactor(Android): make
TabScreenEventEmitter
inherit fromBaseEventEmitter
(118d6e9) - chore(Android): add
BaseEventEmitter
abstract class (32ca419) - feat(Android): add lifecycle events support for bottom navigation view impl (a4af202)
- feat(Android): PoC of tabs for Android (aa75e7c)
- chore(CI): limit e2e runs to main branch only (e128e36)
- chore(FabricExample): temp. remove dependency on reanimated & worklets (c1c06c0)
- fix(iOS): prevent bridging Swift header from being included in umbrella header (e2ea87f)
- feat(iOS, Tabs): add text styling for tab bar item labels (3891ae3)
- feat(iOS, Tabs): set tab bar appearance via screen (33267cf)
- chore(CI): update selected workflows to run or not on
main-labs
(ecc6d3f) - refactor(iOS): hide any C++ symbols from native-public API (cfaba29)
- feat(example): add simple stack implementation for testing (4004887)
- refactor(iOS): migrate RNSStackController to Swift (71bee46)
- refactor(iOS): setup Swift & migrate RNSStackScreenController to Swift (adb6295)
- fix: add missing components to codegen config (85eb766)
- chore: allow for blank issues temporarily (b926d7c)
- feat(iOS,stack): add skeleton code for new stack implementation (b6ec76f)
- chore(example): use summary component in TabContentView (7e5d297)
- chore(example): overhaul example to allow more comfortable feature testing (56157ff)
- feat(bottom-tabs,iOS): change default value for controlledBottomTabs featrue flag to true (3d85d59)
- fix(bottom-tabs,iOS): disable view recycling for the sake of quick reload (d88e555)
- chore(example): add dynamic configuration to
TestBottomTabs
(901383c) - feat: introduce
featureFlags
struct & addcontrolledBottomTabs
flag (8ce2cfa) - feat(bottom-tabs,iOS,experiment): implement JS-only tab change, expose
experimentControlNavigationStateInJS
(2928e28) - feat(bottom-tabs,iOS): allow for custom event handlers on BottomTabsScreen (abbb57a)
- feat(bottom-tabs,iOS): support for placeholder while rendering main tab content (404bb0f)
- fix(bottom-tabs,iOS): regression in JS tab change - wrong signal sent to controller (ac5fcf6)
- refactor(bottom-tabs,iOS): prop renaming (avoid conflicts with UIKit) & workarounds for codegen issues (ebda803)
- feat(bottom-tabs,iOS): throw error on more than single focused tab in debug mode (ea98952)
- feat(bottom-tabs,iOS): add support for title font size (fe01c99)
- feat(bottom-tabs,iOS): add support for title (d5e17be)
- feat(bottom-tabs,iOS): add support for badgeColor (3c4ef70)
- feat(bottom-tabs,iOS): add support for badgeValue (436d430)
- refactor(bottom-tabs,iOS): improve communication architecture between native components & add comments (1870f06)
- feat(bottom-tabs,iOS): add support for freezing tab screens on JS-tab changes (880bea9)
- feat(iOS): PoC of JS tab changing & lifecycle events (d6b782b)
- Add support for blurEffect (bb49e27)
- feat(iOS): native bottom tabs PoC (896c2c6)
Full Changelog: 4.12.0...4.13.0
4.12.0
What's Changed
Minor release with few fixes & internal refactors.
🟢 Improvements
🐞 Bug fixes
- fix(iOS): lack of animation on modal replacement by @kkafar in #2958
- fix: remove javapart ref from cpp nativeproxy by @WoLewicki in #2934
- fix: schedule delayed freeze with
setTimeout
to prevent React infinite loop by @kligarski in #2963 - fix(iOS): handle presenting custom modal when attempting to exit screen with preventNativeDismiss by @kligarski in #2976
🔢 Misc
- docs: add missing information about status bar props by @kligarski in #2953
- test(e2e, Fabric): add e2e tests for issue/PR examples 761..791 by @kligarski in #2957
- refactor(iOS, Fabric): move updateFormSheetPresentationStyle to updateProps by @kligarski in #2952
- chore(iOS): remove unused variables in modal updating function by @kkafar in #2960
- refactor(iOS): simplify code structure in "finish" block in modal update code by @kkafar in #2961
- refactor(Android): migrate from deprecated
MapBuilder
API by @kkafar in #2968 - chore: bump main examples & lib to use
[email protected]
by @kkafar in #2825 - chore: bump main examples & lib to
[email protected]
by @kkafar in #2970 - chore: bump apps to
[email protected]
to fix issues with pods by @kligarski in #2975 - release: 4.12.0 by @kkafar in #2997
Full Changelog: 4.10.0...4.12.0
4.11.1
What's Changed
Small patch release with fix for Android edge-to-edge system insets styling.
🐞 Bug fixes
- fix(Android): remove setting system bar translucent props from JS if in edge to edge by @kligarski in #2949
🔢 Misc
- docs: Bump t-rex to stable with Docusaurus 3.7 by @patrycjakalinska in #2944
Full Changelog: 4.11.0...4.11.1
4.11.0
Minor release focused on fixing bugs, especially with the formSheet
presentation, introduction of pageSheet
presentation on iOS and integration with react-native-edge-to-edge
on Android.
Note
Notable change is that for some time now we publish nightly builds. You can check them out by running yarn install react-native-screens@nightly
.
What's Changed
⚠️ Important
🟢 Improvements
- feat(iOS): add pageSheet presentation for native-stack by @kligarski in #2793
- feat(iOS): add
unstable_accessibilityContainerViewIsModal
prop forFullWindowOverlay
by @kkafar in #2854 - feat(Android,unstable): integration with
react-native-edge-to-edge
by @zoontek in #2464 - feat(iOS): make
fitToContents
sheet height react to dynamic content by @kligarski in #2877 - feat(Android): deprecate status/navigation bar edge to edge related props in native code by @kligarski in #2913
🐞 Bug fixes
- fix(iOS): prevent back button icon from "jumping" during pop animation when display mode minimal is set by @kkafar in #2800
- fix(Android): pressables lose focus on fast movement when
gesture-handler
is present by @kkafar in #2819 - fix(iOS):
useHeaderHeight
does not report correct value after cancelling search by @maciekstosio in #2817 - fix(Android): drawing order for multiple disappearing screens by @kligarski in #2806
- fix(Android,Paper): fix flicker during formsSheet enter transition on slow Android devices - not preloaded formSheet by @kkafar in #2820
- fix(Windows): fix building and crashing issues by @kligarski in #2826
- fix(iOS,Fabric): fix sporadic exiting screen content jump on goBack action by @kkafar in #2838
- fix(iOS,Fabric):
TouchableOpacity
does not work on screens withheaderTranslucent: true
on notchless iOS devices with older OS versions by @kkafar in #2858 - fix(iOS): fix header back button display mode when back title text is custom by @maciekstosio in #2860
- fix:
ScreenStackHeaderSearchBarView
invalid props type by @kkafar in #2881 - fix: use
providers.exec
to enableconfiguration-cache
by @lukmccall in #2903 - fix(Fabric,iOS): header subviews do not support dynamic content changes by @kkafar in #2905
- fix(Fabric,Android): header subviews do not support dynamic content changes by @kkafar in #2910
- fix(iOS): prevent blocking search bar cancel button by detached header subviews by @kkafar in #2912
- fix(Android): fix formSheet sliding from top when it contains input with autofocus by @kligarski in #2909
- fix(CI): publish nightly - incorrect relative paths to scripts & missing build.log by @kkafar in #2891
- fix: remove global ref when invalidating module by @WoLewicki in #2914
- fix(iOS): pressables in header not working when hosting screen has modal presentation by @kkafar in #2915
- fix(iOS): allow to hide the search bar by @kligarski in #2926
- fix(Android): fix formSheet not adjusting for keyboard when it contains input with autofocus by @kligarski in #2911
- fix(iOS): fix detents not changing if sheetInitialDetent > 0 by @kligarski in #2935
- fix(Fabric,iOS): cancel conflicting presses in modals on swipe back gesture by @kkafar in #2943
- [0.80] Do not use ChoreographerCompat by @cortinico in #2878
🔢 Misc
- chore: sort test screens by test number by @kligarski in #2814
- refactor(Android): add
isTranslucent
toScreenFragmentWrapper
& align method naming onScreen
by @kkafar in #2818 - test(e2e,Fabric): add e2e tests for issue/PR examples 42..528 by @kligarski in #2787
- test(Fabric): add e2e test for issue 577 by @kligarski in #2816
- test(Windows): add Windows CI by @kligarski in #2832
- chore(deps): aggregate updates from dependabot by @kkafar in #2833
- chore(deps): aggregate updates from dependabot - another round by @kkafar in #2839
- chore(iOS): add code comment explaining validity of a tag value by @kkafar in #2840
- chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs by @dependabot in #2841
- chore(deps): aggregate updates from dependabot by @kkafar in #2847
- docs: update information in native-stack's README and guide for library authors by @kligarski in #2851
- test(e2e, Fabric): add e2e test for issue/PR example 593 by @kligarski in #2849
- test(e2e, Fabric): add e2e tests for issue/PR examples 619..640 by @kligarski in #2850
- chore(examples): update lock files after release 4.11.0-beta.1 by @kkafar in #2852
- chore(CI): Update node version on CI, bump react-navigation and fix windows pipeline by @maciekstosio in #2853
- chore(iOS, Fabric): add tests for header interactions by @maciekstosio in #2848
- refactor(iOS): remove code unused on iOS >= 15.1 by @kkafar in #2862
- chore: bump react-navigation after changes from #2860 by @maciekstosio in #2866
- refactor(iOS): remove code unused on tvOS & iOS >= 15.1 by @kkafar in #2864
- refactor(iOS): move back item configuration to separate method by @kkafar in #2865
- refactor(iOS): limit scope of
shouldUseCustomBackBarButtonItem
flag by @maciekstosio in #2867 - chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs by @dependabot in #2879
- test(e2e, Fabric): add e2e tests for issue/PR examples 642..645 by @kligarski in #2875
- refactor: move sheet specific helper functions to separate module by @kkafar in #2880
- refactor: fix warning in
SearchBar
code by renaming param by @kkafar in #2882 - refactor: simplify props in
HeaderConfig
asViewProps
already include children by @kkafar in #2883 - refactor(web): cleanup types in ScreenStackHeaderConfig by @kkafar in #2886
- chore(CI): add nightly publish workflow by @kkafar in #2890
- test(e2e, Fabric): add e2e tests for issue/PR examples 648..649 by @kligarski in #2897
- test(e2e, Fabric): add e2e test for issue/PR example 654 by @kligarski in #2898
- chore(deps): bump @babel/helpers from 7.24.7 to 7.27.1 in /docs by @dependabot in #2901
- test(e2e, Fabric): add e2e test for issue/PR example 658 by @kligarski in #2900
- chore(example): allow for styling `PressableWithFeedback by @kkafar in #2906
- chore(iOS): fix XCode symbol discovery for methods surrounded wi...
4.11.0-beta.2
This beta includes mostly tests, refactors & other internal improvements. Beside that it brings 3 important fixes for iOS.
What's Changed
✅ Improvements / support changes
- feat(iOS): add
unstable_accessibilityContainerViewIsModal
prop forFullWindowOverlay
by @kkafar in #2854 - feat(tvOS): bump min. deployment target to 15.1 by @kkafar in #2863
🐞 Bug fixes
- fix(iOS,Fabric): fix sporadic exiting screen content jump on goBack action by @kkafar in #2838
- fix(iOS,Fabric):
TouchableOpacity
does not work on screens withheaderTranslucent: true
on notchless iOS devices with older OS versions by @kkafar in #2858 - fix(iOS): fix header back button display mode when back title text is custom by @maciekstosio in #2860
🔢 Internal changes
- test(Windows): add Windows CI by @kligarski in #2832
- chore(deps): aggregate updates from dependabot by @kkafar in #2833
- chore(deps): aggregate updates from dependabot - another round by @kkafar in #2839
- chore(iOS): add code comment explaining validity of a tag value by @kkafar in #2840
- chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs by @dependabot in #2841
- chore(deps): aggregate updates from dependabot by @kkafar in #2847
- docs: update information in native-stack's README and guide for library authors by @kligarski in #2851
- test(e2e, Fabric): add e2e test for issue/PR example 593 by @kligarski in #2849
- test(e2e, Fabric): add e2e tests for issue/PR examples 619..640 by @kligarski in #2850
- chore(examples): update lock files after release 4.11.0-beta.1 by @kkafar in #2852
- chore(CI): Update node version on CI, bump react-navigation and fix windows pipeline by @maciekstosio in #2853
- chore(iOS, Fabric): add tests for header interactions by @maciekstosio in #2848
- refactor(iOS): remove code unused on iOS >= 15.1 by @kkafar in #2862
- chore: bump react-navigation after changes from #2860 by @maciekstosio in #2866
- refactor(iOS): remove code unused on tvOS & iOS >= 15.1 by @kkafar in #2864
- refactor(iOS): move back item configuration to separate method by @kkafar in #2865
Full Changelog: 4.11.0-beta.1...4.11.0-beta.2
4.11.0-beta.1
What's Changed
🐞 Bug fixes
- fix(Android): drawing order for multiple disappearing screens by @kligarski in #2806
- fix(Android,Paper): fix flicker during formsSheet enter transition on slow Android devices - not preloaded formSheet by @kkafar in #2820
- fix(Windows): fix building and crashing issues by @kligarski in #2826
Full Changelog: 4.11.0-beta.0...4.11.0-beta.1
4.11.0-beta.0
What's Changed
✅ Features
- feat(iOS): add pageSheet presentation for native-stack by @kligarski in #2793
🐞 Bug fixes
- fix(iOS): prevent back button icon from "jumping" during pop animation when display mode minimal is set by @kkafar in #2800
- fix(Android): pressables lose focus on fast movement when
gesture-handler
is present by @kkafar in #2819 - fix(iOS):
useHeaderHeight
does not report correct value after cancelling search by @maciekstosio in #2817
🔢 Misc
- chore: sort test screens by test number by @kligarski in #2814
- refactor(Android): add
isTranslucent
toScreenFragmentWrapper
& align method naming onScreen
by @kkafar in #2818 - test(e2e,Fabric): add e2e tests for issue/PR examples 42..528 by @kligarski in #2787
- test(Fabric): add e2e test for issue 577 by @kligarski in #2816
Full Changelog: 4.10.0...4.11.0-beta.0
4.10.0
Minor release adding support for formSheet
+ ScrollView
+ sticky header layout on iOS (requires specific view hierarchy to work, see: #2747). The release includes also series of important fixes.
There are a lot of big internal changes in this release - we kindly ask you to report any bug issues and especially regressions we didn't catch.
Cheers!
What's Changed
⚠️ Important
Please note that this change only aligns the library with the behaviour of min. supported react-native
version, which is 0.76 (old arch) and 0.77 (new arch). This should not affect your apps unless you're using older react-native
version + custom patches.
🟢 Improvements
🐞 Bug fixes
- fix(Android,Fabric): prevent header subviews from disappearing after hot-reload by @kkafar in #2807
- fix(Android,Fabric): prevent Yoga from stretch-fitting height of header subview by @kkafar in #2811
- fix(Android,Fabric): prevent header subview disappearance when using
setOptions
by @kkafar in #2812 - fix(Android): pressables under sheets dimming view intercept gesture events by @kkafar in #2740
- fix(Android): missing content when using flex for formsheet contents by @kkafar in #2748
- fix(Android): prevent crash by properly managing lifecycle of the dimming view by @kkafar in #2750
- fix(Android): findTitleTextViewInToolbar couldn't find the correct view in certain cases by @herlihalim in #2757
- fix(Android,native-stack): fix check for
sheetAllowedDetents
value & apply appropriate styles by @kkafar in #2762 - fix(Android):
formSheet
not visible when going back frompush
in parent stack by @kkafar in #2767 - fix: FullWindowOverlay not working with dynamic frameworks by @war-in in #2769
- fix: update workaround preventing React Native from hiding frozen screens to work with RN 0.78 by @kligarski in #2778
- fix(Android): adapt header insets when interface orientation changes by @kkafar in #2756
- fix(Android): fix drawing order when dismissing multiple stacked sheets by @kkafar in #2771
- fix(Android,Paper): header config blocks gestures close to the top of the screen by @kkafar in #2781
- fix(Android): keep
formSheet
selected detent index after fragment reattachment by @kkafar in #2782 - fix(Android,Fabric): pressables losing focus on screens with
formSheet
presentation by @kkafar in #2788 - fix(Android):
formSheet
withfitToContents
does not have correct height after goBack by @kkafar in #2789 - fix(Android): implement ReactPointerEventsView to prevent header config from intercepting touches by @kkafar in #2796
- fix(iOS): use prefersPageSizing for modal on iOS 18.0+ by @kligarski in #2797
- fix(Android): fix backward compat with K1 compiler by @kligarski in #2808
🔢 Misc
- chore: add test examples do example app by @kkafar in #2735
- fix(TVOS): update dependencies to fix TVOSExample by @kligarski in #2751
- refactor(Android): kotlinize
ScreenStack.onUpdate
method by @kkafar in #2763 - chore(examples): adjust metro config to allow for easier modify-test loop with react-navigation submodule by @kkafar in #2765
- chore(Android): remove unused NativeDismissalObserver interface by @kkafar in #2768
- chore: remove unnecessary enableFreeze from Example.tsx by @kligarski in #2779
- chore(CI): install reanimated 3.17.1 in
Example
by @kkafar in #2780 - refactor(Android): rename
notifyChildUpdated
->onChildUpdated
by @kkafar in #2783 - chore(CI): run e2e tests on Fabric by @kkafar in #2734
- fix(CI): add missing AVD dependency to Paper Android e2e workflow by @kligarski in #2786
- fix(CI): change order of events in Fabric iOS events e2e test by @kligarski in #2785
- refactor(iOS): cleanup no. 1 in
RNSScreenStackHeaderConfig.updateViewController:withConfig:animated:
by @kkafar in #2798
New Contributors
- @herlihalim made their first contribution in #2757
- @war-in made their first contribution in #2769
Full Changelog: 4.9.1...4.10.0