Supporting platforms that are dropped by the SDK


SDK 31 dropped support for iOS 9 and Android 4.4. If I understand correctly, then if I had users on iOS 9 using an app I built with SDK 30, and then today I release a new build using SDK 31, those users will be unable to upgrade – but they’ll still be able to use the SDK 30 version indefinitely.

If that’s correct, then is there any way I can continue supporting both versions of the app? For example let’s say a new feature was added to SDK 31 that I want to make use of. If I do that, then presumably the next time the users stuck on the SDK 30 version of my app download the latest bundle, they’ll end up with a broken app because their SDK lacks the feature I’m using.

My initial thought was that maybe I’ll use a unique slug for each SDK version, so then users on SDK 30 will download bundles for slug “myapp-30”, and then when I’m ready to release a build using SDK 31 I’ll clone the directory and switch the slug to “myapp-31”. The ios/bundleidentifier and android/package values would always stay “com.example.myapp”, it’s just the slug that would be changing.

Will something like that work, or will changing the slug for an app already published in the app stores cause problems?


Hey @rickparrish,

When you publish, your Expo app will check if the update SDK version is compatible with that of the app’s manifest. If it is not, it will not download the update. So in your instance, if a user is running a SDK30 version and you publish a SDK31 update, they will not be affected. Here is a flow chart that helps explain the process of how rolling out updates works:



Good to hear SDK30 users won’t download a version published for SDK31. Is the reverse true as well, so for example if I fix a bug in the SDK31 version, can I go back and publish a fix for the SDK30 version (assuming I kept a separate copy of the code for the SDK30 version) without causing the SDK31 users to download it?

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