Skip to content

Upgrade to Expo SDK 56 / React Native 0.85 - #30

Open
vaughankg wants to merge 5 commits into
mainfrom
vg--expo-56
Open

Upgrade to Expo SDK 56 / React Native 0.85#30
vaughankg wants to merge 5 commits into
mainfrom
vg--expo-56

Conversation

@vaughankg

Copy link
Copy Markdown
Contributor

Second hop of the bit-by-bit SDK upgrade, stacked on #29 (SDK 55) — retarget to main once #29 merges.

Changes

  • expo peer ^55 → ^56; react-native peer admits 0.85.x
  • Dev tooling → SDK 56 (expo, react-native, expo-module-scripts)
  • import type fix for verbatimModuleSyntax (expo-module-scripts 56)
  • podspec iOS deployment floor 15.1 → 16.4 — required by ExpoModulesCore 56 (the one genuine native change; harmless, quip-mobile targets iOS 18)
  • Example app → SDK 56; version 4.0.0 → 5.0.0 (major: drops SDK 55 support)

Notes

  • Native scan: only the podspec floor bump needed; Swift/Kotlin use the stable Expo Modules API (no RN header/TurboModule changes).
  • Verified: build, eslint, prettier pass. (Repo ships no test files — pre-existing.)
  • Consumed by quip-mobile via #vg--expo-56 while the upgrade is in flight.

🤖 Generated with Claude Code

vaughankg and others added 3 commits July 22, 2026 12:57
- Bump `expo` peerDependency ^54 -> ^55 (fixes expo-doctor failure on
  SDK 55 in consuming apps such as quip-mobile); react/react-native
  peers remain "*" (already admit RN 0.83.x).
- Bump module version 3.0.1 -> 4.0.0 (major: drops SDK 54 support).
- Align root devDependencies to SDK 55: expo ~55.0.28,
  react-native 0.83.6, @types/react ~19.2.10.
- Upgrade example app to SDK 55 via `expo install --fix`: expo ~55.0.28,
  react 19.2.0, react-native 0.83.6, expo-document-picker ~55.0.15,
  expo-file-system ~55.0.24; fix stale expo-font override 14.0.11 -> 55.0.8.
- Remove app.json fields no longer in the SDK 55 schema (newArchEnabled,
  android.edgeToEdgeEnabled) — both are now always-on defaults.
  Example expo-doctor now 17/17.

No native (iOS/Android) code changes required: the module uses the Expo
Modules API and the RN-independent Nordic DFU libraries directly.
# Conflicts:
#	example/package-lock.json
#	example/package.json
#	package-lock.json
#	package.json
Stacks on vg--expo-55 (SDK 55 hop). Makes the module compatible with
Expo SDK 56 / RN 0.85.3 / React 19.2.3.

- Bump `expo` peerDependency ^55 -> ^56 (fixes expo-doctor on SDK 56 in
  consuming apps such as quip-mobile); react/react-native peers stay "*"
  (already admit RN 0.85.x).
- Bump module version 4.0.0 -> 5.0.0 (major: raising the expo peer to ^56
  drops SDK 55 support).
- Align root devDependencies to SDK 56: expo ~56.0.16, react-native 0.85.3,
  expo-module-scripts ^5.0.8 -> ^56.0.3 (now SDK-aligned versioning).
  eslint-config-expo left at ~10.0.0 (not part of the SDK toolchain bump;
  lint passes).
- src: expo-module-scripts 56 enables verbatimModuleSyntax; convert the
  ExpoNordicDfu.types import to `import type`. Rebuild build/ output.
- Upgrade example app to SDK 56 via `expo install --fix`: expo ^56.0.16,
  react 19.2.3, react-native 0.85.3, expo-document-picker ~56.0.4,
  expo-file-system ~56.0.8, react-native-safe-area-context ~5.7.0,
  typescript ~6.0.3; move stale expo-font override 55.0.8 -> 56.0.7;
  bump example version 4.0.0 -> 5.0.0.
- Remove app.json `splash` (dropped from the SDK 56 config schema; splash
  now belongs to the expo-splash-screen plugin). Example expo-doctor 17/17.

Native: ExpoModulesCore 56 raised its iOS deployment floor to 16.4, so
bump the podspec `s.platform` 15.1 -> 16.4 to match the hard dependency
(quip-mobile targets iOS 18.0, so no consumer impact). No other iOS/Android
changes required: the module uses the Expo Modules API and the
RN-independent Nordic DFU libraries; no TurboModule/Codegen specs exist;
android build.gradle keeps `com.facebook.react:react-native:+` (resolves to
the app's RN) and safeExtGet SDK fallbacks (overridden by the app).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vaughankg
vaughankg requested a review from a team as a code owner July 24, 2026 01:34
@Jetbo
Jetbo marked this pull request as draft July 24, 2026 16:39
@vaughankg
vaughankg marked this pull request as ready for review July 31, 2026 15:12
Base automatically changed from vg--expo-55 to main August 10, 2026 20:31
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.

1 participant