Skip to content

chore(e2e): Update Expo sample to SDK 56#6216

Merged
antonis merged 3 commits into
mainfrom
antonis/expo-sdk-56
May 27, 2026
Merged

chore(e2e): Update Expo sample to SDK 56#6216
antonis merged 3 commits into
mainfrom
antonis/expo-sdk-56

Conversation

@antonis
Copy link
Copy Markdown
Contributor

@antonis antonis commented May 26, 2026

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Updates the Expo sample app from SDK 55 (RN 0.83) to SDK 56 (RN 0.85) to verify the Sentry React Native SDK builds and runs correctly with Expo 56.

Dependency changes:

  • expo 55 → 56, react-native 0.83.2 → 0.85.3, react/react-dom 19.2.0 → 19.2.3
  • All expo-* packages bumped to SDK 56 compatible versions
  • react-native-screens, react-native-gesture-handler, react-native-safe-area-context bumped
  • typescript 5.9 → 6.0.3 (required by Expo 56's tsconfig)
  • Removed react-refresh overrides/resolutions (no longer needed)

Code migration for Expo 56 breaking changes:

  • @react-navigation/nativeexpo-router/react-navigation (expo-router 56 removed React Navigation dependency)
  • Replaced @expo/vector-icons (deprecated in SDK 56) with text-based icons
  • Removed font loading (useFonts/FontAwesome.font) since vector icons were removed
  • Fixed ColorSchemeName type changes in RN 0.85 (now includes 'unspecified')
  • Fixed ColorValue vs string type for tabBarIcon props
  • Fixed DevClient.openMenu now possibly undefined
  • Added type assertions for wrapExpoRouter and imagePicker due to upstream type changes in expo-router 56 and expo-image-picker 56
  • Removed deprecated baseUrl from tsconfig (TS 6 deprecation)

💡 Motivation and Context

Closes #6212

Expo SDK 56 was released on May 21, 2026 with React Native 0.85. This PR updates the Expo sample to verify the SDK doesn't break with the new Expo version.

Note: Two as any type assertions were needed due to upstream type changes in expo-router 56 (ImperativeRouter vs ExpoRouter) and expo-image-picker 56 (fileName: string | null | undefined vs string | undefined). These should be addressed in the SDK types separately.

💚 How did you test it?

  • TypeScript compilation passes (tsc --noEmit)
  • Linting passes (oxlint — 0 warnings, 0 errors)
  • Expo web export succeeds (expo export --platform web)
  • iOS prebuild succeeds (expo prebuild --platform ios)
  • Android prebuild succeeds (expo prebuild --platform android)
  • App runs on Android emulator (verified React version mismatch fix)

📝 Checklist

  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing
  • No breaking changes

🔮 Next steps

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • chore(e2e): Update Expo sample to SDK 56 by antonis in #6216
  • chore(deps): bump getsentry/craft from 2.26.5 to 2.26.6 by dependabot in #6213
  • chore(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.26.5 to 2.26.6 by dependabot in #6214
  • chore(deps): bump github/codeql-action from 4.35.5 to 4.36.0 by dependabot in #6215
  • fix(ios): Return NO from requiresMainQueueSetup by antonis in #6202
  • fix(tracing): Bound TTID/TTFD to prevent inflated transactions by antonis in #6210
  • feat(core): Add disableAutoUpload option to Expo plugin by antonis in #6195
  • chore(deps): Remove unused @sentry/types dependency by antonis in #6207
  • Correct route and dynamic param extraction for Expo Router (Correct route and dynamic param extraction for Expo Router #6157) by alwx in #6197
  • chore(deps): update CLI to v3.4.3 by github-actions in #6205
  • chore(deps): update Cocoa SDK to v9.14.0 by github-actions in #6204
  • chore(deps): update Maestro to v2.6.0 by github-actions in #6198
  • chore(deps): bump js-cookie from 3.0.5 to 3.0.7 by dependabot in #6203
  • chore(deps): bump @tootallnate/once from 2.0.0 to 2.0.1 by dependabot in #6206
  • chore(deps): update Sentry Android Gradle Plugin to v6.8.1 by github-actions in #6196
  • feat(core): Expose pauseAppHangTracking and resumeAppHangTracking APIs by antonis in #6192

🤖 This preview updates automatically when you update the PR.

@antonis antonis added the ready-to-merge Triggers the full CI test suite label May 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3826.04 ms 1209.94 ms -2616.10 ms
Size 5.15 MiB 6.69 MiB 1.53 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5569641+dirty 3839.22 ms 1231.30 ms -2607.91 ms
7ac3378+dirty 1213.37 ms 1218.15 ms 4.78 ms
9210ae6+dirty 3815.93 ms 1214.14 ms -2601.79 ms
a3265b6+dirty 3826.31 ms 1207.87 ms -2618.44 ms
4953e94+dirty 1212.06 ms 1214.83 ms 2.77 ms
d2eadf8+dirty 3842.42 ms 1228.91 ms -2613.50 ms
4e0ba9c+dirty 3839.22 ms 1221.06 ms -2618.16 ms
ef27341+dirty 3856.13 ms 1231.42 ms -2624.71 ms
c151573+dirty 3841.06 ms 1232.13 ms -2608.93 ms
5748023+dirty 3840.49 ms 1227.43 ms -2613.05 ms

App size

Revision Plain With Sentry Diff
5569641+dirty 5.15 MiB 6.67 MiB 1.51 MiB
7ac3378+dirty 3.38 MiB 4.76 MiB 1.38 MiB
9210ae6+dirty 5.15 MiB 6.68 MiB 1.53 MiB
a3265b6+dirty 5.15 MiB 6.68 MiB 1.53 MiB
4953e94+dirty 3.38 MiB 4.73 MiB 1.35 MiB
d2eadf8+dirty 5.15 MiB 6.67 MiB 1.51 MiB
4e0ba9c+dirty 5.15 MiB 6.67 MiB 1.51 MiB
ef27341+dirty 5.15 MiB 6.68 MiB 1.53 MiB
c151573+dirty 5.15 MiB 6.68 MiB 1.53 MiB
5748023+dirty 5.15 MiB 6.68 MiB 1.53 MiB

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 507.90 ms 541.76 ms 33.86 ms
Size 48.30 MiB 53.58 MiB 5.28 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
ca9d079+dirty 411.29 ms 455.12 ms 43.83 ms
5c1e987+dirty 423.52 ms 471.64 ms 48.12 ms
b0d3373+dirty 557.66 ms 579.42 ms 21.76 ms
3d377b5+dirty 406.18 ms 453.52 ms 47.34 ms
23598c3+dirty 414.12 ms 426.24 ms 12.12 ms
7d8c8bd+dirty 417.45 ms 462.10 ms 44.65 ms
7ac3378+dirty 404.78 ms 439.84 ms 35.06 ms
0b5120f+dirty 503.22 ms 538.60 ms 35.38 ms
9210ae6+dirty 475.41 ms 525.24 ms 49.84 ms
4966363+dirty 400.04 ms 431.08 ms 31.04 ms

App size

Revision Plain With Sentry Diff
ca9d079+dirty 48.30 MiB 53.58 MiB 5.28 MiB
5c1e987+dirty 43.75 MiB 48.08 MiB 4.33 MiB
b0d3373+dirty 48.30 MiB 53.58 MiB 5.28 MiB
3d377b5+dirty 43.75 MiB 48.14 MiB 4.39 MiB
23598c3+dirty 43.75 MiB 48.16 MiB 4.41 MiB
7d8c8bd+dirty 48.30 MiB 53.54 MiB 5.23 MiB
7ac3378+dirty 43.75 MiB 48.13 MiB 4.37 MiB
0b5120f+dirty 48.30 MiB 53.58 MiB 5.28 MiB
9210ae6+dirty 48.30 MiB 53.54 MiB 5.23 MiB
4966363+dirty 48.30 MiB 53.54 MiB 5.24 MiB

@antonis antonis marked this pull request as ready for review May 26, 2026 09:20
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b408b54. Configure here.

Comment thread samples/expo/app/_layout.tsx
Comment thread samples/expo/app/_layout.tsx
antonis and others added 2 commits May 26, 2026 11:25
- Replace SpaceMono with platform monospace font since font loading was
  removed with @expo/vector-icons
- Remove unnecessary ready state gate and fix splash screen hiding to
  run after first render commit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 428.43 ms 462.65 ms 34.22 ms
Size 48.30 MiB 53.58 MiB 5.28 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
ca9d079+dirty 460.67 ms 512.54 ms 51.87 ms
b0d3373+dirty 412.17 ms 452.84 ms 40.67 ms
23598c3+dirty 371.92 ms 420.65 ms 48.74 ms
7d8c8bd+dirty 406.06 ms 460.88 ms 54.81 ms
0b5120f+dirty 413.75 ms 468.86 ms 55.11 ms
100ce80+dirty 463.28 ms 532.10 ms 68.82 ms
9210ae6+dirty 444.14 ms 459.80 ms 15.66 ms
bc0d8cf+dirty 407.66 ms 461.35 ms 53.69 ms
4966363+dirty 415.67 ms 448.60 ms 32.93 ms
5748023+dirty 413.71 ms 468.71 ms 54.99 ms

App size

Revision Plain With Sentry Diff
ca9d079+dirty 48.30 MiB 53.58 MiB 5.28 MiB
b0d3373+dirty 48.30 MiB 53.58 MiB 5.28 MiB
23598c3+dirty 43.94 MiB 49.02 MiB 5.08 MiB
7d8c8bd+dirty 48.30 MiB 53.54 MiB 5.23 MiB
0b5120f+dirty 48.30 MiB 53.58 MiB 5.28 MiB
100ce80+dirty 48.30 MiB 53.46 MiB 5.15 MiB
9210ae6+dirty 48.30 MiB 53.54 MiB 5.23 MiB
bc0d8cf+dirty 48.30 MiB 53.48 MiB 5.18 MiB
4966363+dirty 48.30 MiB 53.54 MiB 5.24 MiB
5748023+dirty 48.30 MiB 53.54 MiB 5.23 MiB

@github-actions
Copy link
Copy Markdown
Contributor

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3851.73 ms 1218.48 ms -2633.25 ms
Size 5.15 MiB 6.69 MiB 1.53 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
5569641+dirty 3824.35 ms 1210.78 ms -2613.57 ms
7ac3378+dirty 1202.35 ms 1198.31 ms -4.04 ms
9210ae6+dirty 3834.11 ms 1216.64 ms -2617.47 ms
a3265b6+dirty 3844.26 ms 1235.60 ms -2608.66 ms
4953e94+dirty 1217.41 ms 1223.53 ms 6.12 ms
d2eadf8+dirty 3841.53 ms 1216.15 ms -2625.39 ms
4e0ba9c+dirty 3856.39 ms 1234.44 ms -2621.95 ms
ef27341+dirty 3835.20 ms 1212.23 ms -2622.97 ms
c151573+dirty 3835.64 ms 1216.10 ms -2619.53 ms
5748023+dirty 3844.74 ms 1225.49 ms -2619.26 ms

App size

Revision Plain With Sentry Diff
5569641+dirty 5.15 MiB 6.67 MiB 1.51 MiB
7ac3378+dirty 3.38 MiB 4.76 MiB 1.38 MiB
9210ae6+dirty 5.15 MiB 6.68 MiB 1.53 MiB
a3265b6+dirty 5.15 MiB 6.68 MiB 1.53 MiB
4953e94+dirty 3.38 MiB 4.73 MiB 1.35 MiB
d2eadf8+dirty 5.15 MiB 6.67 MiB 1.51 MiB
4e0ba9c+dirty 5.15 MiB 6.67 MiB 1.51 MiB
ef27341+dirty 5.15 MiB 6.68 MiB 1.53 MiB
c151573+dirty 5.15 MiB 6.68 MiB 1.53 MiB
5748023+dirty 5.15 MiB 6.68 MiB 1.53 MiB

Copy link
Copy Markdown
Collaborator

@lucas-zimerman lucas-zimerman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@antonis antonis merged commit 47477b8 into main May 27, 2026
83 checks passed
@antonis antonis deleted the antonis/expo-sdk-56 branch May 27, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Expo SDK 56

2 participants