Build
Forced updates
Block versions below a minimum and tell customers when a newer release is available.
Set your versions#
Open your product and select Updates & resets. Set any of these:
| Field | What it does |
|---|---|
min_app_version | Older versions fail with update_required (HTTP 426) and can't validate or activate. |
latest_app_version | Older versions still work, and results include update.available = true. |
update_url | Where customers download the new version. Returned in update.url. |
Versions compare like semantic versions (1.10.0 is newer than 1.9.2, and pre-releases sort before their release).
In your app#
Send your version with every call (the SDKs take appVersion / app_version once, when you create the client):
ts
const result = await atlas.license(userKey);
if (result.code === "update_required") {
return showBlockingUpdate(result.message, result.update?.url);
}
if (result.update?.available) {
showUpdateBanner(result.update.latest_version, result.update.url);
}With a minimum set, apps that don't send a version are blocked too, so update every build to send one first. The update fields are part of the signed response, so they can't be stripped by a proxy.