Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

expo-dev-menu

expo2.1mMIT6.0.25TypeScript support: included

Expo/React Native module with the developer menu.

expo, react-native, dev-menu, dev, menu

readme

expo sdk

Expo

Expo SDK version Chat or ask a question License: MIT Downloads

Try Expo in the Browser  •  Read the Documentation  •  Learn more on our blog  •  Request a feature

Follow us on

Expo on X   Expo on GitHub   Expo on Reddit   Expo on LinkedIn   Expo on LinkedIn

Introduction

Expo is an open-source platform for making universal native apps that run on Android, iOS, and the web. It includes a universal runtime and libraries that let you build native apps by writing React and JavaScript.

This repository includes the Expo SDK, Modules API, Go app, CLI, Router, documentation, and various other supporting tools. Expo Application Services (EAS) is a platform of hosted services that are deeply integrated with Expo open source tools. EAS helps you build, ship, and iterate on your app as an individual or a team.

Read the Expo Community Guidelines before interacting in the repository. Thank you for helping keep the Expo community open and welcoming!

Table of contents

📚 Documentation

Learn about building and deploying universal apps in our official docs!

🗺 Project Layout

  • packages All the source code for Expo modules, if you want to edit a library or just see how it works this is where you'll find it.
  • apps This is where you can find Expo projects which are linked to the development modules. You'll do most of your testing in here.
  • apps/expo-go This is where you can find the source code for Expo Go.
  • apps/expo-go/ios/Exponent.xcworkspace is the Xcode workspace. When developing iOS, always open this instead of Exponent.xcodeproj because the workspace also loads the CocoaPods dependencies.
  • docs The source code for https://docs.expo.dev
  • templates The template projects you get when you run npx create-expo-app
  • react-native-lab This is our fork of react-native used to build Expo Go.
  • guides In-depth tutorials for advanced topics like contributing to the client.
  • tools contain build and configuration tools.
  • template-files contains templates for files that require private keys. They are populated using the keys in template-files/keys.json.
  • template-files/ios/dependencies.json specifies the CocoaPods dependencies of the app.

🏅 Badges

Let everyone know your app can be run instantly in the Expo Go app!

runs with Expo Go

runs with Expo Go

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-000.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

👏 Contributing

If you like Expo and want to help make it better then check out our contributing guide! Check out the CLI package to work on the Expo CLI.

❓ FAQ

If you have questions about Expo and want answers, then check out our Frequently Asked Questions!

If you still have questions you can ask them on our Discord and Forums or X @expo.

💙 The Team

Curious about who makes Expo? Here are our team members!

License

The Expo source code is made available under the MIT license. Some of the dependencies are licensed differently, with the BSD license, for example.

Star the Expo repo on GitHub to support the project

changelog

Changelog

Unpublished

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

💡 Others

6.0.25 — 2025-04-03

This version does not introduce any user-facing changes.

6.0.24 — 2025-04-03

This version does not introduce any user-facing changes.

6.0.23 — 2025-04-01

🐛 Bug fixes

6.0.22 — 2025-03-31

This version does not introduce any user-facing changes.

6.0.21 — 2025-03-13

🐛 Bug fixes

  • Fixed compilation error (could not build module 'ReactCodegen') on iOS. (#35473 by @lukmccall)

6.0.20 — 2025-03-11

🐛 Bug fixes

6.0.19 — 2025-02-06

This version does not introduce any user-facing changes.

6.0.18 — 2025-01-20

💡 Others

6.0.17 — 2025-01-19

🎉 New features

6.0.16 — 2025-01-10

This version does not introduce any user-facing changes.

6.0.15 — 2024-12-30

🐛 Bug fixes

  • Fixed performance monitor does not show on iOS. (#33855 by @kudo)

6.0.14 — 2024-12-10

This version does not introduce any user-facing changes.

6.0.13 — 2024-11-29

💡 Others

  • Fixed compatibility for React Native 0.77. (#33277 by @kudo)

6.0.12 — 2024-11-22

This version does not introduce any user-facing changes.

6.0.11 — 2024-11-22

💡 Others

  • Introduced ReactNativeFeatureFlags compat to fix React Native 0.77 breaking changes. (#33077 by @kudo)

6.0.10 — 2024-11-15

🐛 Bug fixes

  • [iOS] Fixed issue where UIWindow was called on off the main thread. (#29559 by @hakonk)

6.0.9 — 2024-11-14

This version does not introduce any user-facing changes.

6.0.8 — 2024-11-11

This version does not introduce any user-facing changes.

6.0.7 — 2024-11-07

🐛 Bug fixes

  • [Android] Fixed mutiple reload when pressing r in CLI on react-native old architecture mode. (#32532 by @kudo)

6.0.6 — 2024-11-04

💡 Others

6.0.5 — 2024-10-29

This version does not introduce any user-facing changes.

6.0.4 — 2024-10-29

💡 Others

6.0.3 — 2024-10-25

🐛 Bug fixes

  • [iOS] Fix build failure on 0.76 with use frameworks. (#32341 by @matinzd)

💡 Others

  • Skipped internal bundles from debugging targets. (#32322 by @kudo)

6.0.2 — 2024-10-24

🎉 New features

6.0.1 — 2024-10-22

This version does not introduce any user-facing changes.

6.0.0 — 2024-10-22

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

  • [Android] Fix disableOnboarding=1 wasn't working when using the dev-client. (#29697 by @lukmccall)
  • [macOS] Don't hide the dev menu when hovering the window with the mouse. (#30066 by @343max)
  • Use expo-updates as source of truth for runtime version in dev client (#31453 by @wschurman)

💡 Others

  • Removed expo_patch_react_imports! and align more stardard react-native project layout. (#31700 by @kudo)
  • Removed deprecated code for SDK 49. (#31740 by @kudo)
  • Remove unused semver dependency. (#32063 by @kitten)
  • Fixed broken unit tests since React Native 0.76 bump. (#32210 by @kudo)

📚 3rd party library updates

5.0.21 - 2024-08-23

This version does not introduce any user-facing changes.

5.0.20 - 2024-08-21

🐛 Bug fixes

  • [iOS] Fix build error on 0.75 because of missing headers. (#31100 by @alanjhughes)
  • [Android] Fix a crash on android when calling setSystemGestureExclusionRects on apis below 29. (#31114 by @alanjhughes)

5.0.17 - 2024-07-29

🐛 Bug fixes

  • Fixed the "Connect to Metro to develop JavaScript" banner lingering on iOS. (#30663 by @kudo)

5.0.16 - 2024-07-03

📚 3rd party library updates

5.0.15 - 2024-06-06

This version does not introduce any user-facing changes.

5.0.14 — 2024-05-09

🐛 Bug fixes

  • Fixed build errors with use_frameworks on iOS. (#28702 by @kudo)

5.0.13 — 2024-05-08

🐛 Bug fixes

5.0.12 — 2024-05-04

🐛 Bug fixes

5.0.11 — 2024-05-03

🐛 Bug fixes

  • Fixed java.lang.IllegalStateException: DevMenu isn't available in release builds when running dev-menu on Android release builds. (#28607 by @kudo)
  • Fixed JS Debugger not detecting correct engine in new arch on iOS. (#28606 by @gabrieldonadel)

5.0.10 — 2024-05-02

🐛 Bug fixes

  • Fixed some dev menu items like "Reload" that are not functional. (#28578 by @kudo)
  • Fixed DevMenu showing up before the app is loaded when using the new architecture. (#28589 by @gabrieldonadel)

💡 Others

5.0.9 — 2024-05-01

This version does not introduce any user-facing changes.

5.0.8 — 2024-04-29

This version does not introduce any user-facing changes.

5.0.7 — 2024-04-25

🐛 Bug fixes

5.0.6 — 2024-04-25

🐛 Bug fixes

5.0.5 — 2024-04-24

🐛 Bug fixes

  • Fixed "Missing transform.routerRoot option in Metro bundling request" error when loading the bundle. (#28428 by @kudo)

5.0.4 — 2024-04-24

🐛 Bug fixes

5.0.3 — 2024-04-23

This version does not introduce any user-facing changes.

5.0.2 — 2024-04-22

This version does not introduce any user-facing changes.

5.0.1 — 2024-04-19

🎉 New features

  • Added bridgeless mode support on Android. (#28162 by @kudo)

5.0.0 — 2024-04-18

🛠 Breaking changes

  • Removed configurable enableAutoSetup support. (#28031 by @kudo)

🎉 New features

🐛 Bug fixes

💡 Others

  • Remove classic updates SDK version. (#26061 by @wschurman)
  • Allow registerDevMenuItems in non-dev bundles. (#26955 by @wschurman)
  • Fixed breaking changes from React Native 0.74.0-rc.3. Also dropped support for React Native 0.73 and lower. (#27573, #28031 by @kudo)
  • [iOS] Added bridgeless support on ExpoReactDelegate. (#27601 by @kudo)
  • Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)

📚 3rd party library updates

4.5.8 - 2024-03-20

📚 3rd party library updates

4.5.7 - 2024-03-13

🐛 Bug fixes

  • Fixed libhermes.so loading error when the app running on JSC jsEngine. (#27507 by @kudo)

4.5.6 - 2024-02-16

📚 3rd party library updates

4.5.5 - 2024-01-24

💡 Others

4.5.4 - 2024-01-18

This version does not introduce any user-facing changes.

4.5.3 - 2024-01-10

💡 Others

  • Replace deprecated com.facebook.react:react-native:+ Android dependency with com.facebook.react:react-android. (#26237 by @kudo)

4.5.2 - 2023-12-19

🎉 New features

4.5.1 — 2023-12-12

🐛 Bug fixes

4.5.0 — 2023-12-12

🎉 New features

🐛 Bug fixes

  • [iOS] Fix Unable to find module for ExpoModulesCore.ViewModuleWrapper. (#25813 by @lukmccall)

💡 Others

  • Bump C++ compiler setting to C++20. (#25548 by @kudo)

4.4.0 — 2023-11-14

🛠 Breaking changes

💡 Others

  • Remove deprecated REACT_NATIVE_OVERRIDE_VERSION for React Native nightly testing. (#25151 by @kudo)
  • Removed backward compatible code for deprecated SDKs. (#25154 by @kudo)

4.3.0 — 2023-10-17

🛠 Breaking changes

🐛 Bug fixes

💡 Others

  • Drop support for configuring SDK 44 and below with Prebuild. (#24504 by @EvanBacon)

3.2.1 — 2023-09-25

This version does not introduce any user-facing changes.

4.2.1 — 2023-09-18

💡 Others

3.2.0 — 2023-09-15

🎉 New features

4.2.0 — 2023-09-15

🎉 New features

🐛 Bug fixes

  • Fixed task ':expo-dev-menu:packageReleaseAssets' uses this output of task ':expo-dev-menu:copyAssets' without declaring an explicit or implicit dependency on Android. (#24393 by @lukmccall)

4.1.0 — 2023-09-04

🎉 New features

💡 Others

  • Migrate to Expo CLI. (#23806 by @EvanBacon)
  • Use dedicated requireOptionalNativeModule instead of try-catching requireNativeModule. (#24262 by @tsapeta)

4.0.0 — 2023-08-02

This version does not introduce any user-facing changes.

3.1.9 — 2023-07-26

This version does not introduce any user-facing changes.

3.1.8 - 2023-07-12

💡 Others

3.1.7 - 2023-07-10

🐛 Bug fixes

  • Fixed release build runtime crashes when there is import 'expo-dev-client' in JavaScript entry file. (#23413 by @kudo)

3.1.6 - 2023-07-04

This version does not introduce any user-facing changes.

3.1.5 - 2023-06-30

🐛 Bug fixes

  • Fixed the Cannot read property 'addDevMenuCallbacks' of null error when registering custom menu item on iOS. (#23219 by @kudo)
  • Fixed iOS build errors in use_frameworks! mode. (#23218 by @kudo)
  • Added support for React Native 0.72.1. (#23262 by @kudo)

3.1.4 — 2023-06-28

This version does not introduce any user-facing changes.

3.1.3 — 2023-06-27

💡 Others

3.1.2 — 2023-06-23

🐛 Bug fixes

  • Fixed compatibility issue with react-native-reanimated on iOS. (#23057 by @kudo)

3.1.1 — 2023-06-22

This version does not introduce any user-facing changes.

3.1.0 — 2023-06-21

📚 3rd party library updates

🎉 New features

🐛 Bug fixes

  • Fixed react-native nighlies 0.73.0-nightly-20230515-066f0b76d build errors on Android. (#22503 by @kudo)
  • Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)

💡 Others

  • Update onboarding text to be more concise and clear, and fix compat with large text accessibiltiy settings. (#22712 by @brentvatne)
  • Bump babel-plugin-module-resolver dev dependency. (#22871 by @EvanBacon)

3.0.0 — 2023-05-08

🛠 Breaking changes

  • Update iOS and Android entry points to support custom entry files (changed index to .expo/.virtual-metro-entry). This requires all projects to use expo/metro-config as the base config. (#21643 by @EvanBacon)

🐛 Bug fixes

  • Fixed reload crash when expo-dev-menu is turned off. (#21279 by @jayshah123)
  • Fix JS entry file in development builds. (#21984 by @gabrieldonadel)
  • Update the start script to dynamically locate the packager IP from any network interface. (#21977 by @gabrieldonadel)
  • [iOS] Fix assert in requestOverlayMetricsIfNeeded failing when the device is rotated to landscape orientation. (#22598 by @behenate)

💡 Others

⚠️ Notices

📚 3rd party library updates

2.2.0 - 2023-04-13

🎉 New features

  • Added experimental react-devtools integration. (#21462 by @kudo)

2.1.4 - 2023-03-20

🐛 Bug fixes

  • Change arg in gradle .execute() call to null to inherit env variables from user's env (#21712 by @phoenixiguess)

2.1.2 — 2023-02-17

🐛 Bug fixes

  • Fixed 'jsc/JSCRuntime.h' file not found when using JSC on iOS. (#21246 by @lukmccall)

2.1.1 — 2023-02-09

This version does not introduce any user-facing changes.

2.1.0 — 2023-02-03

🐛 Bug fixes

💡 Others

  • On Android bump compileSdkVersion and targetSdkVersion to 33. (#20721 by @lukmccall)

2.0.2 - 2022-11-21

🐛 Bug fixes

  • Fixed RCTStatusBarManager module requires that the UIViewControllerBasedStatusBarAppearance to be false on iOS. (#20104 by @lukmccall)
  • Fixed writing 'r' into text input reloading the app on iOS. (#20107 by @lukmccall)

2.0.1 - 2022-11-08

🐛 Bug fixes

  • Fixed build errors when testing on React Native nightly builds. (#19369 by @kudo, #19805 by @kudo)
  • Fixed Android java.lang.AssertionError: TurboModules are enabled, but mTurboModuleRegistry hasn't been set. error when running on new architecture mode. (#19931 by @kudo)

2.0.0 — 2022-10-27

🛠 Breaking changes

  • Bumped iOS deployment target to 13.0 and deprecated support for iOS 12. (#18873 by @tsapeta)

💡 Others

  • [plugin] Migrate import from @expo/config-plugins to expo/config-plugins and @expo/config-types to expo/config. (#18855 by @brentvatne)
  • Locked layoutDirection to LTR to prevent incorrect rendering when used together with a RTL enabled app. (#19634 by @aleqsio)

⚠️ Notices

  • Added support for React Native 0.70.x. (#19261 by @kudo)

1.3.1 — 2022-10-11

🐛 Bug fixes

  • Fix compilation error when the compileSdkVersion is set to 33. (#19271 by @lukmccall)
  • Fixed the Local dev tools menu doesn't work for Hermes. (#19301 by @kudo)

1.3.0 — 2022-09-16

💡 Others

1.2.1 — 2022-08-16

🐛 Bug fixes

  • Fixes PanGestureHandler does not get active when it has a simultaneousHandler on iOS. (#18657 by @lukmccall)

1.2.0 — 2022-08-11

🎉 New features

🐛 Bug fixes

  • Fix the duplicated DevMenuRNGestureHandlerStateManager.h output file compilation error on iOS. (#18562 by @lukmccall)

1.1.1 — 2022-07-20

🐛 Bug fixes

  • Fixed compatibility with the react-native-reanimated on iOS. (#18306 by @lukmccall)

1.1.0 — 2022-07-18

🎉 New features

1.0.1 — 2022-07-14

🐛 Bug fixes

1.0.0 — 2022-06-09

🐛 Bug fixes

  • Fixed the singleton RCTBridge.currentBridge instance value be override by expo-dev-menu bridge instance on iOS. (#17780 by @kudo)

0.11.0 — 2022-06-07

🎉 New features

  • Add JS API to register buttons in dev menu. (#17528 by @ajsmth)

🐛 Bug fixes

  • Update dev settings when initial props change. (#17663 by @esamelson)
  • Fix copy on onboarding screen re: location of "Send Keyboard Input to Device" in system menu. (#17767 by @esamelson)
  • Restore JavaScript inspector menu item. (#17762 by @lukmccall)
  • Restore the ability to open React Native dev menu. (#17762 by @lukmccall)

0.10.7 — 2022-05-19

This version does not introduce any user-facing changes.

0.10.6 — 2022-05-06

🐛 Bug fixes

  • Fix dev menu will reload the application when open for the first time while using Hermes. (#17377 by @lukmccall)

0.10.5 — 2022-05-05

🐛 Bug fixes

  • Fix unresolved reference: loadFonts in the release build on Android. (#17241 by @lukmccall)
  • Fix remote debugging crashing the application on iOS. (#17248 by @lukmccall)
  • Fix crashes when the app was launched from a deep link and the react-native-reanimated were installed on Android. (#17282 by @lukmccall)

0.10.4 — 2022-04-26

🐛 Bug fixes

  • Fix error on summoning dev-menu first time, that leads to the application freeze. (#17215 by @lukmccall)

0.10.3 — 2022-04-25

This version does not introduce any user-facing changes.

0.10.2 — 2022-04-21

This version does not introduce any user-facing changes.

0.10.1 — 2022-04-21

This version does not introduce any user-facing changes.

0.10.0 — 2022-04-20

🎉 New features

🐛 Bug fixes

💡 Others

  • Move unrelated dev-menu functions into dev-launcher. (#16124 by @ajsmth)
  • Simplify dev-launcher / dev-menu relationship on iOS. (#16067 by @ajsmth)
  • Simplify dev-launcher / dev-menu relationship on Android. (#16228 by @ajsmth)

⚠️ Notices

  • On Android bump compileSdkVersion to 31, targetSdkVersion to 31 and Java version to 11. (#16941 by @bbarthec)

0.9.3 — 2022-02-01

🐛 Bug fixes

  • Fix Plugin with id 'maven' not found build error from Android Gradle 7. (#16080 by @kudo)

0.9.2 — 2022-01-18

This version does not introduce any user-facing changes.

0.9.1 — 2022-01-17

🐛 Bug fixes

0.9.0 — 2021-12-22

🎉 New features

💡 Others

0.8.6 — 2021-12-03

This version does not introduce any user-facing changes.

0.8.5 — 2021-12-03

🐛 Bug fixes

  • Fix hermes inspector opening wrong target. (#14684 by @kudo)
  • Fix Gradle error when running Gradle from outside of the project directory. (#15109 by @kudo)
  • Fix Project is using deprecated .expo.* file extensions. (#15070 by @lukmccall)
  • Fix shake gesture sometimes brings two menus on Android. (#15406 by @lukmccall)

0.8.4 — 2021-10-21

This version does not introduce any user-facing changes.

0.8.3 — 2021-10-15

🐛 Bug fixes

  • Fix hermes inspector opening wrong target. (#14684 by @kudo)

0.8.2 — 2021-10-07

🛠 Breaking changes

  • Changed the reload key command to r instead of Cmd + r on iOS. (#14590 by @lukmccall)

🐛 Bug fixes

  • Fix building errors from use_frameworks! in Podfile. (#14523 by @kudo)

💡 Others

0.8.1 — 2021-09-03

🐛 Bug fixes

  • Add missing override to release DevMenuManager.

0.8.0 — 2021-09-02

🎉 New features

🐛 Bug fixes

  • Fix only fullscreen opaque activities can request orientation. (#14066 by @lukmccall)
  • Fix keyboard commands getting ignored after dev menu is shown. (#14266 by @fson)

0.7.7 — 2021-08-06

🐛 Bug fixes

0.7.6 — 2021-08-04

This version does not introduce any user-facing changes.

0.7.5 — 2021-07-08

🐛 Bug fixes

0.7.4 — 2021-06-30

🐛 Bug fixes

0.7.3 — 2021-06-28

🐛 Bug fixes

  • Fixed WebSocket handlers weren't registered properly on iOS. (#13403 by @lukmccall)
  • Fix crash from inspector request failures. (#13393 by @kudo)

0.7.2 — 2021-06-24

🐛 Bug fixes

  • [plugin] Use Node module resolution to find package paths for Podfile (#13382 by @fson)

0.7.0 — 2021-06-10

This version does not introduce any user-facing changes.

0.6.0 — 2021-06-08

🎉 New features

🐛 Bug fixes

0.5.2 — 2021-05-20

💡 Others

  • Build Android code using Java 8 to fix Android instrumented test build error. (#12939 by @kudo)

0.5.1 — 2021-05-12

🐛 Bug fixes

0.5.0 — 2021-05-11

🎉 New features

🐛 Bug fixes

0.4.1 — 2021-03-30

🐛 Bug fixes

0.4.0 — 2021-03-24

🎉 New features

🐛 Bug fixes

  • Remove peerDependencies and unimodulePeerDependencies from Expo modules. (#11980 by @brentvatne)

0.3.1 — 2021-02-03

This version does not introduce any user-facing changes.

0.3.0 — 2021-02-01

🎉 New features

  • Updated Android build configuration to target Android 11 (added support for Android SDK 30). (#11647 by @bbarthec)

0.2.2 — 2021-01-25

This version does not introduce any user-facing changes.

0.2.1 — 2021-01-15

This version does not introduce any user-facing changes.

0.2.0 — 2021-01-15

This version does not introduce any user-facing changes.

0.1.2 — 2020-12-28

This version does not introduce any user-facing changes.

0.1.1 — 2020-12-22

🛠 Breaking changes

0.1.0 — 2020-12-14

This version does not introduce any user-facing changes.

0.0.4 — 2020-12-02

This version does not introduce any user-facing changes.

0.0.3 — 2020-11-10

This version does not introduce any user-facing changes.

0.0.2 — 2020-09-25

This version does not introduce any user-facing changes.

0.0.1 — 2020-08-27

🎉 New features