Skip to content

[Snyk] Security upgrade react-native from 0.64.1 to 0.69.12 - #9

Open
Kieranties wants to merge 1 commit into
mainfrom
snyk-fix-4a169ece9f990089c0c2ef1bf292419a
Open

Kieranties wants to merge 1 commit into
mainfrom
snyk-fix-4a169ece9f990089c0c2ef1bf292419a

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-SHELLQUOTE-17457810
  828  

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.69.12 is a significant undertaking that spans multiple major releases and introduces substantial breaking changes. This is not a simple version bump and will require careful migration of native projects, dependencies, and JavaScript code.

Key Breaking Changes & Required Actions:

  • React 18 Support (v0.69+): React Native 0.69 is the first version to support React 18, which introduces concurrent features. While React 18 is enabled by default, many of its benefits are only available when you migrate to the New Architecture (TurboModules and Fabric renderer).
  • New Architecture (v0.68+): Version 0.68 introduced opt-in support for the New Architecture (Fabric Renderer and TurboModules), which replaces the legacy bridge. This upgrade is a major step toward adopting it. Third-party libraries must be compatible, and custom native modules may need to be rewritten.
  • Build Tooling & Environment Changes:
    • Node.js: Version 0.68+ requires Node.js >= 14.
    • JDK: Version 0.68+ requires JDK 11 for Android builds.
    • Android Gradle Plugin (AGP): AGP is upgraded multiple times, reaching 7.x in v0.68+.
    • iOS SDK: Support for iOS SDK 11.0 is dropped in v0.69; version 12.4+ is now required.
  • API Removals and Deprecations:
    • ViewPropTypes: Removed in v0.69. Many older libraries that still reference it will break and must be updated or replaced.
    • DatePickerAndroid: Removed in v0.67. Use a community package instead.
    • Picker and PickerIOS: Removed in v0.66. Use @react-native-picker/picker.
    • React Native CLI: The CLI was bumped to v8.0 in v0.69, removing link and unlink commands in favor of autolinking.

Recommendation: This upgrade should be treated as a major project migration. Do not attempt to upgrade all versions at once. Use the official React Native Upgrade Helper tool to apply changes incrementally, one version at a time (e.g., 0.64 → 0.65, then 0.65 → 0.66). Pay close attention to the diffs for native project files (build.gradle, Podfile, etc.) and update third-party dependencies to versions compatible with the target React Native version. Thorough testing on both iOS and Android is critical after each step.

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

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