Skip to content

chore(deps): upgrade to React Native 0.86#4996

Draft
adrcotfas wants to merge 2 commits into
mainfrom
@adrcotfas/chore_rn86
Draft

chore(deps): upgrade to React Native 0.86#4996
adrcotfas wants to merge 2 commits into
mainfrom
@adrcotfas/chore_rn86

Conversation

@adrcotfas

Copy link
Copy Markdown
Collaborator

Bump react-native and the @react-native/* presets to 0.86.0. React stays at 19.2.3 and there are no native template changes between 0.85.3 and 0.86.0.

Bump react-native-reanimated to 4.4.1 and react-native-worklets to 0.9.2 for RN 0.86 support. In the example, bump react-native-gesture-handler to 2.32.0 (RN 0.86 removed the legacy renderer shim that 2.31.x imported) and align the Expo SDK 56 packages to their latest patch versions.

Motivation

RN 0.86 comes with PlatformColor and alpha support for Pressable. We need this to fully comply with the MD3 specs.

Test plan

lint, typescript and tests pass

Bump react-native and the @react-native/* presets to 0.86.0. React stays at 19.2.3 and there are no native template changes between 0.85.3 and 0.86.0.

Bump react-native-reanimated to 4.4.1 and react-native-worklets to 0.9.2 for RN 0.86 support. In the example, bump react-native-gesture-handler to 2.32.0 (RN 0.86 removed the legacy renderer shim that 2.31.x imported) and align the Expo SDK 56 packages to their latest patch versions.
@adrcotfas adrcotfas requested a review from satya164 June 12, 2026 09:07
@satya164

Copy link
Copy Markdown
Member

Expo usually only supports specific React Native versions. They can be deeply coupled due to how autolinking works, metro works etc. So we can't bump React Native independently unless Expo mentions that they support the version. Otherwise, we'd be testing with an unsupported setup.

If you run npx expo-doctor@latest, it'll show the incompatibilities.

reanimated 4.x and worklets ship "type": "module" builds with extensionless relative imports, which webpack 5 rejects under its fully-specified ESM rule and breaks the docs build. Disable fullySpecified for just those two packages so their .web.js variants resolve.
@adrcotfas

Copy link
Copy Markdown
Collaborator Author

npx expo-doctor@latest

Output is:

⚠️ Minor version mismatches
package                       expected  found   
react-native                  0.85.3    0.86.0  
react-native-gesture-handler  ~2.31.1   2.32.0  
react-native-reanimated       4.3.1     4.4.1   
react-native-worklets         0.8.3     0.9.2

The bump is so we can proceed with the PlatformColor + alpha for ripples.

Expo 57.0.0 is currently in canary and I can see that the example app works fine.
How do you recommend to proceed? Wait until full compatibility? Only bump in the root package.json?

@satya164

Copy link
Copy Markdown
Member

@adrcotfas if canary works fine then lets update to it

@adrcotfas adrcotfas marked this pull request as draft June 12, 2026 11:34
@adrcotfas

Copy link
Copy Markdown
Collaborator Author

Expo 57 canary seems to target RN 0.85.3 so we'll have to wait on this. The iOS app is broken with the current changes - Android works fine.

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