Logo

dev-resources.site

for different kinds of informations.

Expo SDK 40 beta is now available

Published at
12/1/2020
Categories
Author
Expo Team
Categories
1 categories in total
open
Expo SDK 40 beta is now available

Learn about the changes, how to try it out, and how to give feedback.

As promised, our first-ever beta SDK release is now available! The beta period will last approximately one week, and it is an opportunity for developers to ensure that the new release does not introduce any regressions for their particular system and app configurations.

SDK 40 beta includes React Native 0.63, the same version as SDK 39. The full release notes won't be available until the final release, but you can browse the changes in the expo/expo CHANGELOG to learn more about the scope of the release and any breaking changes.

A few changes to be aware of

  • AppLoading has been removed from the expo package. If you use it, you should expo install expo-app-loading and import AppLoading from its own package (possibly before first running your app with SDK 40 if you'd like to head off an error screen). Import it using import AppLoading from 'expo-app-loading'.
  • If you use React Navigation and react-native-screens, you will want to update to React Navigation v5 or silence the related warning from react-native-screens.
  • If you use background location features on Android, you will need to manually add "ACCESS_BACKGROUND_LOCATION" to the list of permissions in android.permissions in your app configuration file (app.json or app.config.js) if you haven't done so already. Background location is now an opt-in permission on Android (#10989).
  • @expo/vector-icons has been updated to track the latest icon sets from [email protected] (the previously tracked version was 6.6.0). Updated icon sets: MaterialCommunityIcons to 5.3.45, MaterialIcons to 4.0.0, FontAwesome 5 to 5.13.0, and Feather to 4.28.0.

How to try out the beta release

You will be able to opt in to using the SDK 40 beta by setting the EXPO_BETA environment variable to 1 (or some truthy value).

On macOS and Linux, you can set this per command with EXPO_BETA=1 expo <command>. On Windows, you can do the same with cross-env: npx cross-env EXPO_BETA=1 expo <command>. Below we have listed in the commands in their more concise form.

  • Install the latest version of expo-cli:
  • Initialize a new project with SDK 40 beta:
    • EXPO_BETA=1 expo init
  • Upgrade an existing project:
    • EXPO_BETA=1 expo upgrade
  • Install the latest Expo client app for iOS:
    • To your simulator: EXPO_BETA=1 expo client:install:ios outside of an Expo project or inside of an SDK 40 project
    • To your physical device: use this TestFlight open beta link.
  • Install the latest Expo client app for Android:
    • EXPO_BETA=1 expo client:install:android outside of an Expo project or inside of an SDK 40 project.
  • Other commands will work as expected without the EXPO_BETA environment variable, including build:{android,ios}.
  • Use the beta release on Snack by adding a query parameter:
  • Read the documentation by selecting it from the version selector in the API reference section (or clicking here).

Screenshot of Expo API documentation version picker

How to report issues

  • Create an issue on https://github.com/expo/expo/issues and be sure to fill out the template.
  • Figuring out the underlying causes of issues is super helpful.
  • Let us know that you are using the SDK 40 beta so we can prioritize the issue.

Thank you for helping us with testing the release, we look forward to shipping it soon! πŸš€

Featured ones: