Changes summary Q4 2022
Jan 31, 2023 by

Jon Samp

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
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
andGlide
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.