Spike/RN-85 #32888
Conversation
- Bump react-native to 0.85.0, react to 19.2.3, react-test-renderer to 19.2.3 - Update @react-native/* packages to 0.85.0 (babel-preset, eslint-config, metro-config, typescript-config) - Add @react-native/jest-preset 0.85.0; update jest.config.js preset accordingly - Bump @react-native-community/cli and platform packages to 20.1.0 - Upgrade Gradle wrapper to 9.3.1; remove legacy CLASSPATH-based invocation in gradlew/gradlew.bat - Add gem 'nkf' to ios/Gemfile for Ruby 3.4 compatibility - Add SUPPORTED_PLATFORMS and TARGETED_DEVICE_FAMILY to Xcode Debug/Release configs - Split UISupportedInterfaceOrientations into phone/iPad variants in Info.plist
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
PR template — items to address before "Ready for review"Warnings — informational, address before merging:
See docs/readme/ready-for-review.md for the full Definition of Ready for Review. |
|
Caution MetaMask internal reviewing guidelines:
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
No app source code (app/) was changed. No E2E test infrastructure (tests/) was changed. No controllers, Engine, or core modules were changed. The changes are entirely build infrastructure, iOS/Android project configuration, and documentation. None of these changes affect user-facing flows, navigation, confirmations, accounts, networks, or any other feature area covered by E2E tests. Therefore, no E2E test tags should be selected. Performance Test Selection: |
Description
Draft - Spike for RN.0.85 - No need for a review
Changelog
CHANGELOG entry:
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
High Risk
Major React Native and Metro/Hermes toolchain jump with Gradle 9 and removed RN yarn patch; runtime/build risk from documented native-module and Expo SDK gaps not addressed in this spike alone.
Overview
Draft spike to move from React Native 0.81.5/0.83.x toward 0.85.0, not a production-ready upgrade. The PR is explicitly marked as no review needed.
Dependency & tooling:
react-nativegoes to 0.85.0 (drops the prior 0.83.6 yarn patch), React / react-test-renderer to 19.2.3, and locks@react-native/*(babel-preset, metro-config, eslint-config, typescript-config) plus new@react-native/jest-presetat 0.85.0.@react-native-community/cli(+ platform packages) bumps to 20.1.0.jest.config.jsswitches frompreset: 'react-native'to@react-native/jest-preset(RN 0.85 requirement).Native build: Android Gradle wrapper 8.14.3 → 9.3.1, Gradle wrapper script updates (Windows
-jarinvocation; Cygwin CLASSPATH handling), and a comment tweak for debuggable variants. iOS addsnkfto the Gemfile (Ruby 3.4 / RN template), setsSUPPORTED_PLATFORMS/TARGETED_DEVICE_FAMILYon the main target, and splits iPad vs iPhone orientation keys in Info.plist.Docs: Adds large RN 0.85 upgrade spike/plan write-ups (breaking changes, native-module audit, phased PR ladder, Expo SDK 56 coupling, patch regeneration, blockers like
absoluteFillObject, screens, reanimated, etc.).Not in this diff: No
StyleSheet.absoluteFillObject→absoluteFillcodemod despite docs calling it out; Expo packages inpackage.jsonstill appear on SDK 55 while docs target SDK 56—full upgrade likely needs additional PRs per the included plans.Reviewed by Cursor Bugbot for commit fbf4a4f. Bugbot is set up for automated code reviews on this repo. Configure here.