Why upgrades are necessary
To enable new capabilities and ensure compatibility with our mobile app, you need to upgrade your a0 project periodically. Our mobile app only supports the latest version of a0 so you need to update inorder to test your app.Runtime version and Expo SDK
a0 projects are built on top of Expo. In a0, you’ll see a setting called runtime version, which is based on the Expo SDK version. When we upgrade a0 versions, the runtime version (and underlying Expo SDK version) in your project is also upgraded. The runtime version determines which Expo APIs, modules, and features are available to your app. The latest a0 version uses Expo SDK 54 as of 11/18/25.Understanding runtime versions
Each runtime version includes:- Core Expo modules: Camera, Location, Notifications, and other built-in capabilities
- React Native version: The underlying React Native framework version
- Native module support: Compatibility with native iOS and Android modules
- API availability: Which Expo APIs you can use in your project
How runtime version upgrades work
When you upgrade your a0 project:- Runtime version updates: Your project’s runtime version is upgraded to match the latest supported version
- Package versions change: All Expo-related packages are updated to versions compatible with the new runtime version
- React Native may update: The underlying React Native version may change to match the Expo SDK requirements
- Native modules update: Native iOS and Android modules are updated to work with the new runtime version
When to upgrade
The preview on the website will prompt you when it’s time to upgrade your project. You won’t be able to create new builds without upgrading to the latest version of a0.How to upgrade
Upgrade from the UI prompt
When an upgrade is available, you’ll see a prompt in the UI. Simply follow the on-screen instructions to upgrade your project.The upgrade prompt will appear automatically when a new version is available and your project needs to be updated.
Upgrade from Build Settings
You can also manually upgrade your runtime version from the Build Settings tab:- Navigate to your project’s Build Settings tab
- Find the Runtime version section
- Select the latest available runtime version
- Save your changes
You can only switch between the runtime version that was the latest when your project was created and the latest version. Intermediate runtime versions are not available for selection.
Over-the-air updates
Over-the-air (OTA) updates allow you to push code changes to your app without requiring users to download a new version from the app store. However, there’s an important limitation to understand.OTA update limitations
Over-the-air updates only work within the same runtime version that your app was built on. This means:- Code changes: You can push JavaScript and asset updates via OTA within the same runtime version
- Version upgrades: You cannot upgrade the runtime version using OTA updates
- New builds required: To get all users on the latest runtime version, you must release a new build to the App Store or Play Store
OTA updates are great for quick bug fixes and feature updates, but they cannot change the underlying runtime version.
When to release a new build
You’ll need to create and release a new build to app stores when:- You’ve upgraded your project to a new runtime version
- You change your projects build settings like App Icon or permissions,
Why your app might be different after upgrading
If you notice changes in your app’s functionality after upgrading, this is expected behavior. When we upgrade versions, the runtime version and the versions of packages in your app change, which can introduce changes in functionality. The runtime version upgrade is a significant part of this process, as it updates the core framework your app runs on, including React Native and all Expo modules.Package version updates often include bug fixes, performance improvements, and new features that enhance your app’s capabilities.