Is expo smart enough to not install OTA update when sdk version changes?

I know one is supposed to make a new build when the SDK version is updated. The doc states that it’s because it depends on new native code.

My question is: if I have an app running, say, SDK 25, and it’s in “version 1.0”, and I have been regularly updating it using OTA updates, what will happen when I update the SDK to 26, change my version to “2.0”, and run exp publish?

Will current installed apps - 1.0, prior to updating the binary build - download the new 2.0 app code that was based on in SDK 26 ?

If it does, what happens to features that now depend on Expo.xxx calls on the newer api version? Can a crash happen?

Or is expo smart enough to not use OTA updates when it detects that the SDK version changed?

OTA updates will get the most recently published JS that:

  1. matches the release channel of your native build and
  2. is for an SDK version the native build supports (with a higher SDK version taking priority over a more recentl publish)

so, yes, you don’t need to worry about breaking apps in the wild when publishing on a newer SDK. You will of course need to rebuild the native code and resubmit to the stores when you start targeting a newer SDK

That’s very comforting to know. Thanks - and congrats for the nice work1

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.