Skip to content

[Snyk] Upgrade react-native-screens from 4.18.0 to 4.19.0#34

Merged
chirag127 merged 1 commit into
mainfrom
snyk-upgrade-7ee63588587cdbf98d8b5adfcb8f0e6f
Jan 14, 2026
Merged

[Snyk] Upgrade react-native-screens from 4.18.0 to 4.19.0#34
chirag127 merged 1 commit into
mainfrom
snyk-upgrade-7ee63588587cdbf98d8b5adfcb8f0e6f

Conversation

@chirag127

Copy link
Copy Markdown
Owner

snyk-top-banner

Snyk has created this PR to upgrade react-native-screens from 4.18.0 to 4.19.0.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


  • The recommended version is 55 versions ahead of your current version.

  • The recommended version was released 22 days ago.

Release notes
Package name: react-native-screens
  • 4.19.0 - 2025-12-15

    What's Changed

    Minor release. It comes with many improvements & bug fixes. Notably:

    1. bottomAccessory support for native tabs on iOS,
    2. special effects support for tabs on Android,
    3. support for synchronous state updates (behind a feature flag),
    4. quite few more.

    ⚠️ This release also removes long-deprecated native-stack v5 code from the repository.

    See the full change set below 👇🏻

    Improvements

    • feat: Remove native-stack v5 from screens repo by @ kmichalikk in #3433
    • feat(iOS, Tabs): add bottomAccessory support by @ kligarski in #3288
    • feat(Android, Tabs): Add special effects to bottom tabs on Android by @ Ubax in #3337
    • feat(iOS, SplitView): Add support for primaryBackgroundStyle prop by @ t0maboro in #3320
    • feat(Stack): Add support for synchronous state updates on fabric for native stack by @ t0maboro in #3282
    • feat(iOS, SafeAreaView): use synchronous state updates by @ kligarski in #3335
    • feat(iOS, SplitView): Add an option for changing number of columns dynamically by @ t0maboro in #3339
    • feat(iOS, SplitView): Migrate to new invalidate method by @ t0maboro in #3364
    • feat(iOS, Tabs): add prop to hide the tab bar by @ kligarski in #3343
    • fix(iOS, Stack): handle icon rendering modes for bar button items by @ kligarski in #3347
    • feat(Android, Tabs): add prop to hide the tab bar by @ kligarski in #3344
    • feat: Bring back gestureResponseDistance on iOS 26 by @ kmichalikk in #3353
    • feat(iOS, Stack): Add controller invalidating to new stack impl by @ t0maboro in #3219
    • feat: add snapshotAfterUpdates property to RNSScreenView by @ bartlomiejbloniarz in #3296
    • feat(iOS, Stack, Tabs, experimental): add prop to override user interface style by @ kligarski in #3342
    • fix(Android, Stack): Moving formsheet above keyboard by @ t0maboro in #3248
    • chore: Update installation steps in docs by @ t0maboro in #3391
    • feat(iOS): add missing features to bar button items by @ Ubax in #3396
    • feat(Tabs): special effects refactor by @ kligarski in #3440
    • chore: bump FabricExample & lib to react-native@0.83 by @ t0maboro in #3456
    • refactor: Remove codegen-related deep imports by @ t0maboro in #3458

    Bug fixes

    • fix(iOS, SplitView): Track visible columns from delegate by @ t0maboro in #3319
    • fix(iOS): Verify that ScrollView gesture hasn't begun when triggering pan gesture by @ kmichalikk in #3271
    • fix(iOS, SplitView): Remove tracking presentation layer in favor of sync state update by @ t0maboro in #3285
    • fix(iOS, Tabs): fix problems with dynamically changing title, icon, systemItem by @ kligarski in #3333
    • fix(iOS, FormSheet): Always use absolute positioning by @ t0maboro in #3351
    • fix(Android, Stack): Make MountingCoordinator vector access thread safe by @ t0maboro in #3363
    • fix(iOS, Stack): Prevent overriding invalidate callback on Fabric by @ t0maboro in #3359
    • fix: RCTViewComponentViewProtocol -> RCTComponentViewProtocol by @ t0maboro in #3365
    • fix(iOS, FullWindowOverlay): Show overlay when app returns from background by @ t0maboro in #3369
    • fix(iOS): load header items icons synchronously when feasible by @ johankasperi in #3355
    • fix(JS, Stack): consider default value for stackPresentation and headerConfig.hidden in ScreenStackItem by @ kligarski in #3374
    • fix(iOS, FullWindowOverlay): Move show logic to didMoveToWindow by @ t0maboro in #3379
    • fix(Android, Stack): Fix flex-end positioning in formSheet by @ t0maboro in #3346
    • fix: circular import in src/types.tsx by @ kligarski in #3394
    • fix: Disable interactions on minimal required subroot by @ kmichalikk in #3311
    • fix(Android, SAV+Tabs+Stack v4): fix CustomToolbar's insets handling to use insets received from ancestor views by @ kligarski in #3240
    • fix(iOS): fix header height in modal, add TestHeaderHeight by @ kligarski in #3393
    • fix(Android, Stack): Fix FormSheet - SafeAreaView integration by @ t0maboro in #3336
    • fix(Android, Tabs): Fix tabs icons loading in release mode by @ t0maboro in #3413
    • fix(Android, Stack): incorrect header height values by @ kligarski in #3402
    • fix(iOS, Tabs): remove incorrect warning on none environment in Bottom Accessory by @ kligarski in #3416
    • fix(iOS): Distinguish horizontal and vertical scroll in gesture failure requirements by @ kmichalikk in #3420
    • fix(Android): layout shift on orientation change by @ kmichalikk in #3295
    • fix(iOS, Tabs): tab screen height when tabs are rendered dynamically by @ kligarski in #3425
    • fix(iOS, Stack): delay setting navigation bar visibility to mitigate bar button bug on iOS 26 by @ kligarski in #3422
    • fix(Android, Stack): Constraint FormSheet height by top inset by @ t0maboro in #3404
    • fix(SplitView, Android & Web): move split view warnings to components by @ Ubax in #3431
    • fix(examples): Stop triggering CPU intensive tasks in top level scope in example apps by @ kkafar in #3432
    • chore: fix imports in bottom accessory by @ kligarski in #3439
    • fix(iOS, FormSheet): Add fallback for searching ScrollView which is inside SAV by @ t0maboro in #3479
    • fix(Android, FormSheet): Fix pressables with TextInput for Fabric by @ t0maboro in #3435
    • fix(JS, stack): Fix push fail after 3rd screen in JS stack by @ kmichalikk in #3450
    • fix(Android, Stack, Fabric): Fix jumping content in nested stack for Fabric by @ t0maboro in #3442
    • fix(iOS, Tabs): overrideScrollViewContentInsetAdjustmentBehavior in managed tabs by @ kligarski in #3441
    • fix(iOS, Stack, Fabric): Pressable hitSlop in header subviews on Fabric by @ kligarski in #3446
    • fix(iOS 26, Stack): center view inside bar button item by @ kligarski in #3449
    • fix(iOS, Tabs): bottom accessory opacity on appearance change by @ kligarski in #3467
    • fix(iOS, FormSheet): Allow handling dynamic content size in FormSheet since 0.82 with synchronous updates enabled by @ t0maboro in #3454
    • fix(iOS, Stack): Fix enum conversion for landscape right by @ t0maboro in #3474
    • fix(Android): crash on hot reload when FabricUIManagerBinding is null by @ kimchi-developer in #3475

    Misc

    • chore: Add a note about the known issue with blur for SplitView by @ t0maboro in #3330
    • chore: Add BottomTabsOrientationTest by @ kmichalikk in #3338
    • chore: Bump material components version by @ kmichalikk in #3455
    • chore: Remove doubled "when" from types.tsx and GUIDE_FOR_LIBRARY_AUTHORS by @ kmichalikk in #3341
    • refactor(iOS, SplitView): Remove old workaround for navigation headers by @ t0maboro in #3349
    • test: Refactor Test3212, add option to set config from scroll view screen by @ kmichalikk in #3284
    • chore: Upgrade RN to 0.82.1 by @ t0maboro in #3360
    • chore: Upgrade react-navigation to 3d1e4effe by @ t0maboro in #3361
    • chore(e2e): detox config general cleanup and ios management by @ KrzysztofWojnar in #3412
    • chore: restore react-navigation submodule to 7.x branch by @ kligarski in #3370
    • chore: bump @ react-native-community/cli to 20.0.0 by @ kligarski in #3373
    • refactor(iOS): extract common image loading code to separate class by @ kligarski in #3371
    • chore: Bump detox by @ t0maboro in #3380
    • chore(iOS): Add multi-scene support for example apps by @ t0maboro in #3375
    • chore(deps): bump @ react-native-community/cli from 5.0.1 to 20.0.0 by @ dependabot[bot] in #3376
    • chore(iOS): bump min deployment target to 15.1 for example apps by @ kligarski in #3383
    • chore(Android): remove outdated versioned code by @ kligarski in #3382
    • chore: remove not necessary workaround for ScrollView from RN 76 by @ WoLewicki in #2350
    • chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /docs by @ dependabot[bot] in #3406
    • refactor(Android, Stack): Extract detents to separate class by @ t0maboro in #3409
    • chore: update docs for scrollEdgeEffects, blurEffect and scrollEdgeEffects interaction by @ kligarski in #3407
    • chore: change default bottom tabs implementation to managed by @ kligarski in #3408
    • chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /Example by @ dependabot[bot] in #3423
    • chore(deps): bump node-forge from 1.3.1 to 1.3.2 in /docs by @ dependabot[bot] in #3428
    • chore(deps): bump n...

Snyk has created this PR to upgrade react-native-screens from 4.18.0 to 4.19.0.

See this package in npm:
react-native-screens

See this project in Snyk:
https://app.snyk.io/org/chirag127/project/4c20a98f-d4af-4651-bd1c-01c83de1eee7?utm_source=github&utm_medium=referral&page=upgrade-pr
@continue

continue Bot commented Jan 6, 2026

Copy link
Copy Markdown

All Green - Keep your PRs mergeable

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts


Unsubscribe from All Green comments

@coderabbitai

coderabbitai Bot commented Jan 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Ignore keyword(s) in the title.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello @chirag127, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the react-native-screens dependency from version 4.18.0 to 4.19.0. This upgrade introduces significant enhancements to navigation components, including new features for iOS and Android tabs, improved SplitView functionality, and experimental support for synchronous state updates. Additionally, it resolves a wide array of bugs related to UI rendering, gesture interactions, and component behavior across both platforms, aiming to improve overall stability and user experience.

Highlights

  • Dependency Upgrade: The react-native-screens package has been upgraded from version 4.18.0 to 4.19.0, incorporating numerous improvements and bug fixes.
  • New Features: Introduced bottomAccessory support for native tabs on iOS, special effects for tabs on Android, and experimental support for synchronous state updates.
  • Platform-Specific Enhancements: Added various features for iOS SplitView (e.g., primaryBackgroundStyle, dynamic column changes) and Stack components, alongside general improvements for bar button items and gesture handling.
  • Bug Fixes: Addressed a wide range of issues across both iOS and Android, including fixes for FormSheet positioning, FullWindowOverlay visibility, header height calculations, and thread safety in MountingCoordinator.
  • Codebase Refinements: Removed long-deprecated native-stack v5 code from the repository and performed refactoring for codegen-related imports and image loading.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@qodo-code-review

Copy link
Copy Markdown

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: build_and_test

Failed stage: Setup Expo CLI and Install Expo Packages [❌]

Failed test name: ""

Failure summary:

The action failed during the step Run npm install -g expo-cli@51 because npm could not find the
requested package version.
- npm returned ETARGET / notarget: No matching version found for
expo-cli@51 (log lines 152-155).
- This indicates the workflow is attempting to install a
non-existent/unpublished version of expo-cli (51), causing the command to exit with code 1 (line
157).

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

137:  shell: /usr/bin/bash -e {0}
138:  env:
139:  NODE_VERSION: 20
140:  EXPO_VERSION: 51
141:  ##[endgroup]
142:  added 1 package, and audited 2 packages in 738ms
143:  found 0 vulnerabilities
144:  ##[group]Run npm install -g expo-cli@51
145:  �[36;1mnpm install -g expo-cli@51�[0m
146:  �[36;1mnpx expo install�[0m
147:  shell: /usr/bin/bash -e {0}
148:  env:
149:  NODE_VERSION: 20
150:  EXPO_VERSION: 51
151:  ##[endgroup]
152:  npm error code ETARGET
153:  npm error notarget No matching version found for expo-cli@51.
154:  npm error notarget In most cases you or one of your dependencies are requesting
155:  npm error notarget a package version that doesn't exist.
156:  npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2026-01-06T07_18_32_515Z-debug-0.log
157:  ##[error]Process completed with exit code 1.
158:  Post job cleanup.

@openhands-ai

openhands-ai Bot commented Jan 6, 2026

Copy link
Copy Markdown

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • CI Workflow

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #34 at branch `snyk-upgrade-7ee63588587cdbf98d8b5adfcb8f0e6f`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedreact-native-screens@​4.18.0 ⏵ 4.19.099100100100100

View full report

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request, generated by Snyk, upgrades react-native-screens from version 4.18.0 to 4.19.0. While the upgrade itself is beneficial, I've identified an inconsistency in the package-lock.json file. The version specifier for react-native-screens was changed to ^, which contradicts the ~ specifier used in package.json and for many other dependencies. I've added a specific comment with a suggested fix to maintain versioning consistency.

"react-native-reanimated": "~3.19.3",
"react-native-safe-area-context": "4.12.0",
"react-native-screens": "~4.18.0",
"react-native-screens": "^4.19.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The version specifier for react-native-screens has been changed to ^, which is inconsistent with the ~4.19.0 specified in package.json. Most other expo and react-native related packages in this project use the ~ specifier to restrict updates to patch versions. To maintain consistency and prevent unexpected minor version updates, this should be changed back to use ~.

Suggested change
"react-native-screens": "^4.19.0",
"react-native-screens": "~4.19.0",

@chirag127 chirag127 merged commit 7717838 into main Jan 14, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants