Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 3, 2025

This PR contains the following updates:

Package Change Age Confidence
react-native-screens ~4.4.0 -> ~4.18.0 age confidence

Release Notes

software-mansion/react-native-screens (react-native-screens)

v4.18.0

Compare Source

Minor release with important changes in bottom tabs icons API, recently added header items API and few more.

What's Changed

🟢 Improvements / Changes
🐞 Bug fixes
🔢 Misc

Full Changelog: software-mansion/react-native-screens@4.17.1...4.18.0

v4.17.1

Compare Source

Patch release with fix for failing iOS build in release mode.

What's Changed

  • fix(iOS): build error in release mode - imageLoader not defined by @​kkafar in #​3300

Full Changelog: software-mansion/react-native-screens@4.17.0...4.17.1

v4.17.0

Compare Source

Minor release including:

  • 👉🏻 Important patches for iOS 26 behaviour
  • 👉🏻 New API for specifying native header items on iOS by @​johankasperi,
  • 👉🏻 New experimental safe area component handling native header / bottom tabs, etc.,
  • 👉🏻 Support for UIScrollEdgeEffect,
  • 👉🏻 Support for "glassy" form sheets on iOS 26,
  • 👉🏻 Many other important patches & improvements.

See the full list of PRs below 👇🏻

What's Changed

🟢 Improvements
🐞 Bug fixes
🔢 Misc

New Contributors

Full Changelog: software-mansion/react-native-screens@4.15...4.17.0

v4.16.0

Compare Source

This release introduces support for dark mode in Bottom Tabs on Android, new search bar placements and search bar integration with the toolbar on iOS 26.

[!CAUTION]

In this release, library installation steps for Android have been modified - please refer to the "Installation" section of README and this PR for more details.

[!IMPORTANT]

In order to align our library with native iOS 26 behavior, we've decided to change default placement value in RNSSearchBar to 'automatic'. This change will make it easier for users to adopt the new integrated search bar on iOS 26.
Additionally, we've fixed the default value for hideWhenScrolling prop in new architecture to match the old architecture and native UIKit behavior.

What's Changed

🟢 Improvements
🐞 Bug fixes
  • fix(Android): add custom fragment factory & modify library installation steps to prevent on-restoration crashes by @​Skalakid in #​3089
🔢 Misc

New Contributors

Full Changelog: software-mansion/react-native-screens@4.15.4...4.16.0

v4.15.4

Compare Source

Patch version fixing a bug on iOS with back button title disappearing when stack was used in bottom tabs.

What's Changed

  • fix(iOS, Stack v4 + Tabs): back button title disappearing when nested in tab by @​kligarski in #​3166

Full Changelog: software-mansion/react-native-screens@4.15.3...4.15.4

v4.15.3

Compare Source

Patch version fixing bugs related to systemItem on iOS Bottom Tabs.

What's Changed

Full Changelog: software-mansion/react-native-screens@4.15.2...4.15.3

v4.15.2

Compare Source

Patch version downgrading Coil library to resolve Android build issues on RN 0.79 #​3157

What's Changed

Full Changelog: software-mansion/react-native-screens@4.15.1...4.15.2

v4.15.1

Compare Source

Patch version with fixing imports for backward compatibility #​3153

What's Changed

Full Changelog: software-mansion/react-native-screens@4.15...4.15.1

v4.15.0

Compare Source

v4.14.1

Compare Source

Patch version with fixing possible runtime crash on web #​3132.

What's Changed

Full Changelog: software-mansion/react-native-screens@4.14...4.14.1

v4.14.0

Compare Source

v4.13.1

Compare Source

Patch version with #​3032 fixing possible runtime crash on iOS.

v4.13.0

Compare Source

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 to UIOffsetMake (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 to tabKey (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 from BaseEventEmitter (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 & add controlledBottomTabs 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: software-mansion/react-native-screens@4.12.0...4.13.0

v4.12.0

Compare Source

What's Changed

Minor release with few fixes & internal refactors.

🟢 Improvements
  • feat: add support for screenId prop allowing for native screen recognition by @​kkafar in #​2967
🐞 Bug fixes
🔢 Misc

Full Changelog: software-mansion/react-native-screens@4.10.0...4.12.0

v4.11.1

Compare Source

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

Full Changelog: software-mansion/react-native-screens@4.11.0...4.11.1

v4.11.0

Compare Source

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 for FullWindowOverlay 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 with headerTranslucent: 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 enable configuration-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(Fabr

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@sourcery-ai
Copy link

sourcery-ai bot commented Feb 3, 2025

Reviewer's Guide by Sourcery

This pull request updates the react-native-screens dependency from version ~4.4.0 to ~4.6.0. This update includes several bug fixes and improvements, particularly around pressables in headers, FullWindowOverlay, and Android draw ordering.

Class diagram showing updated react-native-screens dependency

classDiagram
    class PackageJson {
        dependencies
        +updateDependency()
    }
    class ReactNativeScreens {
        version: ~4.6.0
        +handlePressables()
        +manageFullWindowOverlay()
        +handleDrawOrdering()
    }
    PackageJson --> ReactNativeScreens: depends on
    note for ReactNativeScreens "Updated from ~4.4.0 to ~4.6.0"
Loading

State diagram for react-native-screens update changes

stateDiagram-v2
    [*] --> PressablesFix: Fix pressables in headers
    PressablesFix --> FullWindowOverlayFix: Fix FullWindowOverlay position
    FullWindowOverlayFix --> DrawOrderingFix: Fix draw ordering
    DrawOrderingFix --> [*]
    note right of PressablesFix: Improved header interaction
    note right of FullWindowOverlayFix: Fixed iOS Fabric scenarios
    note right of DrawOrderingFix: Fixed transparent modal & stack
Loading

File-Level Changes

Change Details Files
Updated react-native-screens dependency.
  • Updated react-native-screens from ~4.4.0 to ~4.6.0 in package.json.
  • Updated react-native-screens from 4.4.0 to 4.6.0 in pnpm-lock.yaml.
pnpm-lock.yaml
package.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on
    an issue to generate a plan of action for it.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have skipped reviewing this pull request. It seems to have been created by a bot (hey, renovate[bot]!). We assume it knows what it's doing!

@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch 2 times, most recently from dd935e8 to 96f5128 Compare February 4, 2025 10:15
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.6.0 Update dependency react-native-screens to ~4.7.0 Feb 19, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch 2 times, most recently from c663b55 to 466619e Compare February 20, 2025 23:41
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.7.0 Update dependency react-native-screens to ~4.8.0 Feb 20, 2025
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.8.0 Update dependency react-native-screens to ~4.9.0 Feb 22, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 466619e to 1387475 Compare February 22, 2025 07:59
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 1387475 to 02941ce Compare March 29, 2025 11:14
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.9.0 Update dependency react-native-screens to ~4.10.0 Mar 29, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 02941ce to fb3ce8c Compare May 31, 2025 12:00
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.10.0 Update dependency react-native-screens to ~4.11.0 May 31, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from fb3ce8c to 3ba1cf3 Compare July 20, 2025 16:02
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.11.0 Update dependency react-native-screens to ~4.13.0 Jul 20, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 3ba1cf3 to 65a0c6a Compare August 13, 2025 23:36
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.13.0 Update dependency react-native-screens to ~4.14.0 Aug 13, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 65a0c6a to 0ffe864 Compare August 16, 2025 00:09
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 0ffe864 to 135a555 Compare August 23, 2025 06:49
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.14.0 Update dependency react-native-screens to ~4.15.0 Aug 23, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 135a555 to d7f48e3 Compare September 1, 2025 01:47
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.15.0 Update dependency react-native-screens to ~4.16.0 Sep 5, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from d7f48e3 to 95bcee0 Compare September 5, 2025 07:42
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 95bcee0 to 014c250 Compare October 16, 2025 03:58
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.16.0 Update dependency react-native-screens to ~4.17.0 Oct 16, 2025
@renovate renovate bot force-pushed the renovate/react-native-screens-4.x branch from 014c250 to a28d41d Compare October 23, 2025 08:17
@renovate renovate bot changed the title Update dependency react-native-screens to ~4.17.0 Update dependency react-native-screens to ~4.18.0 Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants