Skip to content

[Snyk] Security upgrade react-native from 0.48.4 to 0.69.12 - #21

Open
MHxGH-ServiceAccount wants to merge 1 commit into
masterfrom
snyk-fix-f9a0a8636d851042400d23b368cee5d1
Open

MHxGH-ServiceAccount wants to merge 1 commit into
masterfrom
snyk-fix-f9a0a8636d851042400d23b368cee5d1

Conversation

@MHxGH-ServiceAccount

@MHxGH-ServiceAccount MHxGH-ServiceAccount commented Mar 6, 2026

Copy link
Copy Markdown

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the yarn dependencies of this project.

Snyk changed the following file(s):

  • examples/SafariViewExample/package.json

Note for zero-installs users

If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the .yarn/cache/ directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.

⚠️ Warning
Failed to update the yarn.lock, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue Score
high severity Symlink Attack
SNYK-JS-TAR-15416075
  151  

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Symlink Attack


Note

Medium Risk
Large react-native version jump in the example app may introduce build/runtime incompatibilities and likely requires related dependency/lockfile updates not included in this PR.

Overview
Updates the SafariViewExample example app to use react-native 0.69.12 (from 0.48.4) to address a reported dependency vulnerability.

Written by Cursor Bugbot for commit 8fb8ee3. This will update automatically on new commits. Configure here.

@MHxGH-ServiceAccount

Copy link
Copy Markdown
Author

Merge Risk: High

Upgrading from react-native version 0.48.4 to 0.69.12 is a massive undertaking that spans over 20 major versions and several years of development. This is not a simple dependency bump; it is a fundamental migration involving multiple architectural shifts. A direct in-place upgrade is highly discouraged and likely to fail.

Key Architectural Breaking Changes:

  • AndroidX Migration (v0.60+): React Native migrated from the Android Support Library to AndroidX. All native dependencies and custom native code must also be migrated, as they cannot be used side-by-side. Tools like jetifier can help, but this is a major breaking change for the Android ecosystem.
  • Autolinking (v0.60+): The react-native link command was replaced by automatic linking for native modules, which relies on CocoaPods for iOS and Gradle for Android. Projects must be migrated away from manual linking, and dependencies must support the new system.
  • "Lean Core" Initiative (v0.60+): Many components and APIs (WebView, NetInfo, Geolocation, AsyncStorage) were removed from the core library and extracted into separate community-managed packages. Your code must be updated to import and depend on these new packages directly.
  • The New Architecture (Opt-in v0.68+, Default in future): This is a complete redesign of React Native's internals, replacing the asynchronous "Bridge" with a synchronous JavaScript Interface (JSI). This enables major performance improvements but requires libraries to be updated to support the new "Fabric" rendering system and "TurboModules". While optional in 0.69, many libraries are now built with the new architecture in mind.
  • React 18 Support (v0.69+): Version 0.69 is the first to support React 18, introducing concurrent features. This can cause breaking changes in how components render and manage state, and some older libraries may have compatibility issues.

Recommendation:

Due to the scale of these changes, the recommended approach is to create a new project using the target React Native version (0.69.12) and incrementally migrate your application source code, assets, and dependencies. This avoids the complexity of a multi-version in-place upgrade.

Use the React Native Upgrade Helper web tool to see a file-by-file comparison between your starting and target versions. This will provide a detailed checklist of configuration changes, but it will not handle the logic or dependency migrations automatically.

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

@MHxGH-ServiceAccount

MHxGH-ServiceAccount commented Mar 6, 2026

Copy link
Copy Markdown
Author

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@cursor cursor 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.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

"dependencies": {
"react": "16.0.0-alpha.12",
"react-native": "0.48.4",
"react-native": "0.69.12",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Incompatible React version kept with react-native upgrade

High Severity

react-native 0.69.12 requires react 18.0.0 as a peer dependency, but react is still pinned to 16.0.0-alpha.12. This version mismatch will cause peer dependency errors during install and likely runtime failures, since React Native 0.69 relies on React 18 APIs and internals that don't exist in React 16.

Fix in Cursor Fix in Web

"dependencies": {
"react": "16.0.0-alpha.12",
"react-native": "0.48.4",
"react-native": "0.69.12",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Start script references removed local-cli path

High Severity

The start script references node_modules/react-native/local-cli/cli.js, but the local-cli directory was removed from react-native in version 0.69. The CLI was moved to the @react-native-community/cli package, so this script will fail with a "module not found" error. The script needs updating to work with the new CLI structure.

Fix in Cursor Fix in Web

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.

2 participants