General 2,665 installs

upgrading-expo

by expo/skills

Guidelines for upgrading Expo SDK versions and fixing dependency issues

Skill content

Structured guidance for upgrading Expo SDK versions and resolving dependency conflicts.

- Provides step-by-step upgrade process including diagnostics, cache clearing, and prebuild workflows for native changes

- Covers breaking changes across SDK 53–55, including React 19 migration, New Architecture defaults, React Compiler setup, and native module updates (tabs, audio, video)

- Includes deprecation map for packages like expo-av, expo-permissions, and AsyncStorage with replacement recommendations

- Offers housekeeping checklist: removing implicit dependencies, cleaning config files, reviewing exclusions and patches, and Metro configuration cleanup

References

- ./references/react-19.md -- SDK +54: React 19 changes (useContext → use, Context.Provider → Context, forwardRef removal)

- ./references/new-architecture.md -- SDK +53: New Architecture migration guide

- ./references/react-compiler.md -- SDK +54: React Compiler setup and migration guide

- ./references/native-tabs.md -- SDK +55: Native tabs changes (Icon/Label/Badge now accessed via NativeTabs.Trigger.*)

- ./references/expo-av-to-audio.md -- SDK +55: Migrate audio playback and recording from expo-av to expo-audio

- ./references/expo-av-to-video.md -- SDK +55: Migrate video playback from expo-av to expo-video

- ./references/react-navigation-to-expo-router.md -- SDK +56: Migrate @react-navigation/* imports to expo-router entry points (codemod + manual mapping)

Beta/Preview Releases

Beta versions use .preview suffix (e.g., 55.0.0-preview.2), published under @next tag.

Check if latest is beta: https://exp.host/--/api/v2/versions (look for -preview in expoVersion)

npx expo install expo@next --fix  # install beta