-
-
Notifications
You must be signed in to change notification settings - Fork 357
chore(samples): Upgrade Expo sample to SDK 54 #5587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog. This PR will not appear in the changelog. 🤖 This preview updates automatically when you update the PR. |
|
@sentry review |
Android (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 4604da9+dirty | 366.44 ms | 398.10 ms | 31.66 ms |
| 8ff81c0+dirty | 574.58 ms | 611.44 ms | 36.86 ms |
| 93137d1+dirty | 400.15 ms | 424.74 ms | 24.59 ms |
| 1ef8a04+dirty | 415.16 ms | 415.22 ms | 0.06 ms |
| a31630c+dirty | 408.91 ms | 416.80 ms | 7.89 ms |
| 11ded16+dirty | 317.29 ms | 329.15 ms | 11.86 ms |
| 180638b+dirty | 408.87 ms | 432.04 ms | 23.17 ms |
| 8e653ac+dirty | 360.28 ms | 372.04 ms | 11.76 ms |
| 6416d6c+dirty | 407.30 ms | 422.00 ms | 14.70 ms |
| 161947d+dirty | 393.26 ms | 403.00 ms | 9.74 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 4604da9+dirty | 17.75 MiB | 19.74 MiB | 2.00 MiB |
| 8ff81c0+dirty | 43.75 MiB | 48.05 MiB | 4.29 MiB |
| 93137d1+dirty | 17.75 MiB | 19.70 MiB | 1.95 MiB |
| 1ef8a04+dirty | 43.75 MiB | 48.05 MiB | 4.29 MiB |
| a31630c+dirty | 17.75 MiB | 19.68 MiB | 1.94 MiB |
| 11ded16+dirty | 17.75 MiB | 19.75 MiB | 2.00 MiB |
| 180638b+dirty | 43.75 MiB | 48.08 MiB | 4.33 MiB |
| 8e653ac+dirty | 17.75 MiB | 19.75 MiB | 2.00 MiB |
| 6416d6c+dirty | 43.75 MiB | 48.05 MiB | 4.30 MiB |
| 161947d+dirty | 17.75 MiB | 19.70 MiB | 1.95 MiB |
Android (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 8ff81c0+dirty | 392.47 ms | 431.52 ms | 39.05 ms |
| 1ef8a04+dirty | 450.73 ms | 482.38 ms | 31.65 ms |
| 785ffb1+dirty | 380.65 ms | 451.83 ms | 71.18 ms |
| ba75c7c+dirty | 377.92 ms | 417.74 ms | 39.83 ms |
| 180638b+dirty | 434.46 ms | 470.90 ms | 36.44 ms |
| 8e653ac+dirty | 304.49 ms | 308.84 ms | 4.35 ms |
| 6416d6c+dirty | 469.16 ms | 508.22 ms | 39.06 ms |
| a2bb688+dirty | 371.19 ms | 389.18 ms | 17.99 ms |
| 59d1977+dirty | 366.15 ms | 393.21 ms | 27.06 ms |
| a699d13+dirty | 441.38 ms | 487.27 ms | 45.89 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 8ff81c0+dirty | 43.94 MiB | 48.87 MiB | 4.93 MiB |
| 1ef8a04+dirty | 43.94 MiB | 48.87 MiB | 4.93 MiB |
| 785ffb1+dirty | 7.15 MiB | 8.42 MiB | 1.27 MiB |
| ba75c7c+dirty | 7.15 MiB | 8.42 MiB | 1.27 MiB |
| 180638b+dirty | 43.94 MiB | 48.91 MiB | 4.97 MiB |
| 8e653ac+dirty | 7.15 MiB | 8.46 MiB | 1.31 MiB |
| 6416d6c+dirty | 43.94 MiB | 48.88 MiB | 4.94 MiB |
| a2bb688+dirty | 7.15 MiB | 8.43 MiB | 1.28 MiB |
| 59d1977+dirty | 43.94 MiB | 49.22 MiB | 5.29 MiB |
| a699d13+dirty | 43.94 MiB | 48.88 MiB | 4.94 MiB |
iOS (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 6bd9054+dirty | 1212.20 ms | 1217.89 ms | 5.70 ms |
| d73150f+dirty | 1198.44 ms | 1210.06 ms | 11.62 ms |
| d081295+dirty | 1214.40 ms | 1211.27 ms | -3.13 ms |
| d1fd647+dirty | 1219.35 ms | 1233.18 ms | 13.83 ms |
| ea3e26e+dirty | 1229.13 ms | 1228.46 ms | -0.67 ms |
| 80e4616+dirty | 1221.32 ms | 1225.64 ms | 4.32 ms |
| 955f2eb+dirty | 1235.06 ms | 1253.88 ms | 18.81 ms |
| 5ee3314+dirty | 1215.18 ms | 1207.64 ms | -7.54 ms |
| 70250df+dirty | 1214.51 ms | 1215.04 ms | 0.53 ms |
| 664c66f+dirty | 1215.37 ms | 1221.30 ms | 5.92 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 6bd9054+dirty | 3.41 MiB | 4.67 MiB | 1.25 MiB |
| d73150f+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| d081295+dirty | 3.41 MiB | 4.59 MiB | 1.18 MiB |
| d1fd647+dirty | 2.63 MiB | 3.99 MiB | 1.36 MiB |
| ea3e26e+dirty | 3.41 MiB | 4.58 MiB | 1.17 MiB |
| 80e4616+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| 955f2eb+dirty | 2.63 MiB | 3.98 MiB | 1.35 MiB |
| 5ee3314+dirty | 2.63 MiB | 3.99 MiB | 1.35 MiB |
| 70250df+dirty | 3.44 MiB | 4.59 MiB | 1.15 MiB |
| 664c66f+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
iOS (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 6bd9054+dirty | 1207.02 ms | 1199.27 ms | -7.76 ms |
| d73150f+dirty | 1224.52 ms | 1227.17 ms | 2.65 ms |
| d081295+dirty | 1205.24 ms | 1207.52 ms | 2.28 ms |
| d1fd647+dirty | 1218.16 ms | 1225.82 ms | 7.65 ms |
| ea3e26e+dirty | 1216.61 ms | 1214.15 ms | -2.47 ms |
| 80e4616+dirty | 1206.90 ms | 1205.94 ms | -0.96 ms |
| 955f2eb+dirty | 1225.78 ms | 1239.27 ms | 13.49 ms |
| 5ee3314+dirty | 1234.25 ms | 1235.44 ms | 1.19 ms |
| 70250df+dirty | 1211.96 ms | 1222.31 ms | 10.35 ms |
| 664c66f+dirty | 1195.94 ms | 1194.80 ms | -1.14 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 6bd9054+dirty | 3.41 MiB | 4.67 MiB | 1.25 MiB |
| d73150f+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| d081295+dirty | 3.41 MiB | 4.59 MiB | 1.18 MiB |
| d1fd647+dirty | 3.19 MiB | 4.56 MiB | 1.37 MiB |
| ea3e26e+dirty | 3.41 MiB | 4.58 MiB | 1.17 MiB |
| 80e4616+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
| 955f2eb+dirty | 3.19 MiB | 4.55 MiB | 1.36 MiB |
| 5ee3314+dirty | 3.19 MiB | 4.55 MiB | 1.37 MiB |
| 70250df+dirty | 3.44 MiB | 4.59 MiB | 1.15 MiB |
| 664c66f+dirty | 3.38 MiB | 4.60 MiB | 1.22 MiB |
Updates the Expo sample application to use Expo SDK 54, which includes React Native 0.81.5 and React 19.1. Changes: - Upgrade Expo SDK from 53 to 54 - Upgrade React Native from 0.79.2 to 0.81.5 - Upgrade React from 19.0.0 to 19.1.0 - Update all Expo packages to SDK 54 compatible versions - Fix ExternalLink component for expo-router 6.x compatibility (removed deprecated hrefAttrs) Note: The native ios/android folders are gitignored as they are generated by expo prebuild. For local development in this monorepo, add this to ios/Podfile after running prebuild: ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '..', 'node_modules', 'react-native') This ensures the Sentry SDK detects the correct React Native version (0.81.5) instead of the version in packages/core/node_modules. Resolves #5568 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
0e019b5 to
3c7788c
Compare
Expo SDK 54 upgraded to React Native 0.81, which uses the new Hermes profiling API. In the monorepo, the Sentry SDK's podspec was detecting RN 0.80 (from packages/core/node_modules) instead of 0.81 (from samples/expo/node_modules), causing it to use the old Hermes API which was removed in RN 0.81. Setting REACT_NATIVE_NODE_MODULES_DIR ensures the podspec detects the correct React Native version during CI builds. This only affects the CI build - no changes to the core SDK. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixes high severity vulnerability in tar 7.5.6: - CVE: Arbitrary File Creation/Overwrite via Hardlink Path Traversal Added resolution to force tar@^7.5.7 which includes the security patch. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Expo SDK 54 has larger codebase that causes OutOfMemoryError: Metaspace during lint analysis. Increased Gradle JVM memory settings: - Heap: 4GB (from default 2GB) - Metaspace: 1GB (from default ~256MB) Fixes: OutOfMemoryError during lintVitalAnalyzeRelease task Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
# Conflicts: # samples/expo/package.json
| "form-data": "4.0.4", | ||
| "tar-fs": "^3.1.1" | ||
| "tar-fs": "^3.1.1", | ||
| "tar": "^7.5.7" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was needed because:
- Expo SDK 54 → uses @expo/cli@54.0.22
- @expo/cli@54.0.22 → requires tar: ^7.5.2
- Yarn resolves → tar@7.5.6 (vulnerable) ❌ failed check
4. Our fix → force tar@^7.5.7 (patched)
📢 Type of change
📜 Description
Updates the Expo sample application to use Expo SDK 54, which includes React Native 0.81.5 and React 19.1.
Changes:
💡 Motivation and Context
Fixes #5591
💚 How did you test it?
CI, Manual
📝 Checklist
sendDefaultPIIis enabled🔮 Next steps
#skip-changelog