Update from sdk 28 to 31. (stores sync)

Hi, my app is in production using expo sdk28. I’v already upgraded to sdk31 on my test server, now I’m ready to publish the new version to production. However…

if I publish the newer version , users will get problems because they are still using sdk28.
How can I do this without problems ?

my plan is to do a expo build:xxx --no-publish , upload this new version to the stores (wait the stores to accept the new version) , and then when its ready on the stores, I can do the expo publish.

Is this the right way to do this ? Even doing this , theres a short period where the users will have problems until they upgrade app from the stores.

edit: I just figured that if I do expo build:xxx --no-publish, I’m not building the updated version , so how can I do this update ?

The way Expo, the publishing system, and versions work is this:

The Expo client and standalone apps support multiple SDK versions (ex: 18, 17, 16, 15). When you publish your project, the Expo server saves your project bundle and the “sdkVersion” value in exp.json or app.json. When the Expo client loads your project, the server sends back the latest bundle with the greatest SDK version that your client supports. So if your client supports SDKs 15 through 18 and you’ve published your project with SDK 15 and SDK 16, the server will send back the latest bundle for SDK 16.

So if you had published your project with SDK 16 before but then went back to SDK 15, any client that supports SDK 16 would still receive the old SDK 16 bundle.

Does this mean that if I publish my sdk31 version, users on sdk28 will not receive the update until they download the update from the stores ?

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