build(deps): Bump expo react native and deps to expo 55#13576
Conversation
|
Nice it's definitely faster to start this from scratch than to build on top of the other PR. I will close the old one |
98b4a7f to
c75eb3e
Compare
🎉 Beta Versions Generated (commit:
|
🎉 Beta Versions Generated (commit:
|
|
WOOW 🔥 who would have guessed that we will get here some day 😄 |
| <dict> | ||
| <key>AppIdentifierPrefix</key> | ||
| <string>$(AppIdentifierPrefix)</string> | ||
| <key>CADisableMinimumFrameDurationOnPhone</key> |
…and react-native to version 0.83.6 with corresponding patches
- upgraded @react-native-google-signin/google-signin from 15.0.0 to 16.1.2 - upgraded @rnmapbox/maps from 10.1.44 to 10.3.0 - upgraded @stripe/stripe-react-native from 0.50.3 to 0.63.0 - added @types/react-test-renderer@19.1.0 - removed babel-preset-expo@14.0.0 and updated to ~55.0.21 - updated peer dependencies for @rnmapbox/maps and @stripe/stripe-react-native - removed unused dependencies from yarn.lock
5cb45bc to
4ac2da1
Compare
- Bump @rnmapbox/maps from 10.3.0 to 10.3.1 - Update expo and related packages to latest patch versions: - expo: 55.0.24 - expo-build-properties: 55.0.14 - expo-navigation-bar: 55.0.13 - expo-updates: 55.0.22 - Upgrade react-native-image-crop-picker from 0.51.0 to 0.51.1 - Update @expo/cli from 55.0.29 to 55.0.30 - Update @expo/config and @expo/config-plugins to latest minor versions
🎉 Beta Versions Generated (commit:
|
|
@gkartalis please let me know when I can review this 👀 |
araujobarret
left a comment
There was a problem hiding this comment.
Looks solid, thanks for addressing it! 💪
Left minor comments only
| android.useAndroidX=true | ||
| # Automatically convert third-party libraries to use AndroidX | ||
| android.enableJetifier=true | ||
| android.enableJetifier=false |
There was a problem hiding this comment.
Does that mean we don't have any lib using something < AndroidX? 😄
MounirDhahri
left a comment
There was a problem hiding this comment.
Awesome - thanks for doing this
|
@gkartalis could you please confirm that you can build the app with the latest Xcode I believe it's succeding on older version (just like on CI) |
This is a really common case for latest xcode versions, 26.5 was released 9 days ago - the react native repo will probably address this issue at some point but most of us are not using this version cause it is pretty new so I would downgrade for now |
|
Yes, I agree with that. I actually also couldn’t build the current main when I was on 26.4 because of fmt issues and this upgrade fixes it for me. It sucks though that we will need a patch to be able to build with xcode 26.5 or we need to use a lower version. i like to upgrade to test the app on latest iOS and quite often I need to also upgrade Xcode for that. Anyway this is not a blocker and I think we can already merge this |
c7414d8


This PR resolves PHIRE-3069
Description
Bumps Expo SDK 54 → 55 and React Native 0.81.5 → 0.83.6, plus the surrounding ecosystem and native toolchain.
Non-standard changes (beyond what
expo upgrade/ RN upgrade helper produces)These are the manual interventions worth flagging for reviewers — none of them come out of the upgrade helpers, they were hand-rolled for specific issues we hit:
android/settings.gradle—jcenter()compatibility shim. Gradle 9 removedjcenter()entirely, but several transitivenode_modulesstill reference it. Rather than patching each one, agradle.beforeProjectshim redefinesjcenter()to point athttps://jcenter.bintray.com/.scripts/utils/clean— wipeapp/.cxxandapp/build/generatedbeforegradlew clean. Under RN New Arch, the CMake regenerate step runs during Gradle configuration and references codegen dirs thatcleanitself is about to delete, so the script was failing without this pre-step.2.22.0). Even on the latest version,@segment/analytics-react-nativestill instantiates a legacyReactNativeHost, which is gone under New Arch in 0.83. Patch keeps it working until segmentio/analytics-react-native#1146 lands.MainApplication.kt— manual migration toExpoReactHostFactory.getDefaultReactHost. Helper doesn't migrate this because we had a customArtsyNativePackage()registered via the oldReactNativeHostWrapper+DefaultReactNativeHostpath; redone by hand.android/app/build.gradle—getRuntimeVersion()now readsapp.jsondirectly viaJsonSlurperinstead of shelling out tonode ../../scripts/deploys/expo-updates/get-runtime-version.js. Faster Gradle config + one less Node dependency in the Android build.tsconfig.json— added"types": ["jest"]. RN 0.83's bundled types pulled in globals that conflicted with our test setup; this scopes type roots to just Jest.src/app/Scenes/Map/Components/PinsShapeLayer.tsx—onPresstyped asany.@rnmapbox/maps10.3.0 stopped re-exportingOnPressEventfrom itslib/typescript/src/types/OnPressEventpath; left a// TODOuntil upstream re-exposes it.Info.plisttweaks. AddedCADisableMinimumFrameDurationOnPhone=true(enables ProMotion 120Hz) and removedUIDesignRequiresCompatibility(legacy iOS 26 liquid-glass opt-out — not needed on RN 0.83).com.android.support:support-core-utils:24.2.1fromandroid/app/build.gradle— it was a pre-AndroidX holdover..circleci/config.ymlwas bumped (node_modules v29→v30, gems v13→v14, pods v31→v32, ios_build v30→v31, android_build v16→v17, ios_native v20→v21, android_native v20→v21).setup-android-environment,setup-ios-environment,setup-javascript-environmentcomposite actions.HACKS.md— removed the expo-updates patch note (upstream fixed), added the Segment patch note.Updated dependencies (for visibility)
Runtime
expoexpo-build-propertiesexpo-navigation-barexpo-updatesreactreact-nativereact-native-gesture-handlerreact-native-screensreact-native-safe-area-contextreact-native-svgreact-native-webviewreact-native-worklets@react-native-community/netinfo@react-native-google-signin/google-signin@rnmapbox/maps@segment/analytics-react-native@stripe/stripe-react-nativeDev / tooling
@react-native/babel-preset@react-native/eslint-config@react-native/metro-config@react-native/typescript-config@babel/core@types/reactreact-domreact-test-renderertypescriptbabel-preset-expometro-configNative toolchain
enableJetifierjcenter()Follow ups
PR Checklist
To the reviewers 👀
Changelog updates
Changelog updates
Cross-platform user-facing changes
iOS user-facing changes
Android user-facing changes
Dev changes
Need help with something? Have a look at our docs, or get in touch with us.