New updates and improvements to Expo and EAS.

Changes summary Q1 2023

App.js conf teaser

Want to find out what we've been up to in 2023? Tune in to our app.js conference keynote in exactly one week to hear all our updates directly from Charlie Cheever, James Ide, Jon Samp, Evan Bacon, Kudo Chien and Cedric van Putten.

Check out the conference live stream on the Software Mansion Youtube channel May 10-12!

Changes summary Q4 2022

Build time reduced by 40%

M1 workers on EAS Build

M1 workers for iOS builds are now generally available. On a simple yet non-trivial app, build times for the exact same codebase improved from ~15 minutes 30 seconds to ~9 minutes just by switching from Intel to M1 workers. That’s a ~40% reduction in build times!

We’ve seen a similar effect on other projects, but every app is different and you’ll just have to try it for yourself to find out.

You can opt in to M1 workers today in a matter of seconds by adding the resourceClass field in your eas.json.

EAS Build improvements

We also released a collection of features to improve the experience of working with builds:

  • eas build:resign allows you to swap the ad hoc provisioning profile of an existing build without re-running the full build. This means you can add a teammate's device to your ad hoc provisioning profile and re-generate the internal distribution build in about a minute.
  • eas build:run downloads a simulator build from EAS' servers and runs it directly on your simulator/emulator. This makes testing your app a snap.
  • You can now sign up for email notifications for build and submission successes and failures through your account settings.
  • You can now view the code changes associated with a build or update by connecting your GitHub repository to your Expo app. After connecting your repository, click the commit hash on a build/update details page to view the commit on GitHub.
  • Updated the ”Running E2E tests on EAS Build” guide to include information about how to run E2E tests for Android apps, which is now possible on EAS Build. The guide demonstrates integration with Detox, but you can adapt it to any tool you like — such as Maestro.
  • Manage your secrets with Doppler with their new guide.

Expo Router V1 release candidate

With the new Expo Router V1 release candidate, screens are automatically generated by creating files in your project.

You can focus on building the content of your screens rather than wrestling with all the boilerplate required to compose screens together. Take advantage of basic routes, layout routes, dynamic routes, group routes, and shared routes that work universally out of the box.

Get started with the expo-router docs.

Expo Image V1 beta

Expo image rendering avif, heic, webp, svg, png, jpeg files

expo-image is designed for speed, and it brings modern image formats to your universal apps.

  • Supports AVIF, WebP, SVG, APNG, HEIC, and ICO. (JPEG, PNG, and GIF too, of course!)
  • Disk and memory caching using the battle tested and performant libraries SDWebImage and Glide under the hood.
  • Supports blurhash, a compact representation of a placeholder for an image.
  • Smoothly transitions between images when the sources change (this is configurable).
  • Runs on Android, iOS, and web.

Get started with the expo-image docs.

EAS Update code signing

We added end-to-end security to EAS Update with code signing. This feature adds an extra layer of security and eliminates an entire class of man-in-the-middle attacks. Learn more.