Skip to content

[Snyk] Security upgrade react-native from 0.64.1 to 0.74.0#10

Open
Kieranties wants to merge 1 commit into
mainfrom
snyk-fix-1927797c67bd65f5cefb2de9e50ba807
Open

[Snyk] Security upgrade react-native from 0.64.1 to 0.74.0#10
Kieranties wants to merge 1 commit into
mainfrom
snyk-fix-1927797c67bd65f5cefb2de9e50ba807

Conversation

@Kieranties

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):

  • package.json
  • yarn.lock

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.

Vulnerabilities that will be fixed with an upgrade:

Issue Score
high severity Inefficient Algorithmic Complexity
SNYK-JS-BRACEEXPANSION-17706650
  721  

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:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

@Kieranties

Copy link
Copy Markdown
Author

Merge Risk: High

Upgrading from React Native 0.64.1 to 0.74.0 is a massive undertaking that spans 10 minor versions and includes fundamental architectural changes. This is a major migration project that will require significant effort and careful planning.

Key Breaking Changes and Migration Pillars:

  • The New Architecture (Fabric & TurboModules): The most significant change is the rollout of the New Architecture. Support was introduced as an opt-in with version 0.68 and becomes the default for new projects in 0.74. This new architecture replaces the legacy Bridge with the JavaScript Interface (JSI), fundamentally changing how the JavaScript and Native layers communicate. Migrating will require enabling the new architecture and ensuring all native modules and UI components are compatible.

  • API & Component Removals: Several long-deprecated components and APIs have been removed from the core library. You will need to migrate to community-maintained packages:

    • PropTypes: Completely removed in 0.74. Code must be migrated to use a type system like TypeScript.
    • AsyncStorage & MaskedViewIOS: Removed in 0.71.
    • Picker & PickerIOS: Removed in 0.66.
    • DatePickerAndroid: Removed in 0.67.
  • Environment and Tooling Upgrades: The required development environment has changed significantly:

    • Node.js: Version 0.68 and later require at least Node.js 14.
    • Android: The minimum SDK has been raised to 23 (Android 6.0) in 0.74. The target SDK was updated to 31 in 0.68, which also enforced the use of JDK 11 and Gradle 7+.
    • TypeScript: Starting with 0.71, TypeScript is the default for new projects, and type definitions are now bundled with React Native, making the @types/react-native package obsolete.
  • Layout and Styling Changes:

    • Yoga 3.0: Introduced in 0.74, this new version of the layout engine makes styling more predictable but may cause subtle changes to existing layouts.
    • Flexbox gap: Support for gap, rowGap, and columnGap was added in 0.71, which may simplify layouts but could conflict with existing margin-based workarounds.

Recommendation: Do not attempt this upgrade in a single step. Use the official React Native Upgrade Helper to generate a diff between each consecutive version (e.g., 0.64 → 0.65, 0.65 → 0.66, and so on). Address the breaking changes for each version incrementally. This will be a complex and time-consuming process that requires thorough testing at each stage.

Source: React Native Upgrade Helper, React Native Release Notes

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

Copilot AI review requested due to automatic review settings July 2, 2026 23:29

Copilot AI 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.

Pull request overview

This PR is a Snyk-generated security upgrade that bumps the app’s React Native dependency from 0.64.1 to 0.74.0 and updates the lockfile accordingly, aiming to remediate a transitive dependency vulnerability.

Changes:

  • Updated react-native dependency version to 0.74.0.
  • Regenerated yarn.lock to reflect the new React Native dependency graph.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.

File Description
package.json Bumps react-native from 0.64.1 to 0.74.0.
yarn.lock Updates resolved dependency tree for the React Native upgrade.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package.json
Comment on lines 16 to 18
"react": "17.0.1",
"react-native": "0.64.1",
"react-native": "0.74.0",
"react-native-get-random-values": "^1.7.1",
Comment thread package.json
Comment on lines 16 to 18
"react": "17.0.1",
"react-native": "0.64.1",
"react-native": "0.74.0",
"react-native-get-random-values": "^1.7.1",
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.

3 participants