# Upgrade an app's engine

An app uses a pinned engine version. Redeploying does not silently replace that pin with the newest engine. Use **Upgrade engine** when Strive offers an upgrade for the app's runtime template.

## Preview an upgrade

1. Open **Versions** and inspect the **Engine** section.
2. If **Upgrade engine** appears, choose it.
3. Wait for the preview report. Opening the dialog previews the change without applying it.
4. Review the current and proposed engine, whether a definition migration applies, and whether the running environment will be redeployed.
5. Confirm the upgrade only when that report matches your intent.

**Engine up to date** means the reported pin already matches the current available template engine. If no upgrade state is shown, do not infer that an upgrade was applied or that compatibility has been confirmed.

## Inspect the final outcome

The final report distinguishes a completed upgrade from a pin applied whose redeployment failed. In the latter case, the selected engine changed but the app is not successfully serving on it; inspect the failure and start or redeploy after resolving the problem.

An upgrade can be refused if the app's pin is locked, the app is being deleted, or a required migration cannot be performed. Read the in-dialog error. Reopening and retrying cannot bypass an unsupported definition or an administrative pin policy.

## Engine compatibility matters

Features such as containers, themes, portable custom components, or cross-app sources require corresponding runner support. Strive rejects an unsupported definition rather than rendering it incorrectly. Upgrade when you need the supported capability, then recheck the app's actual behavior and data sources.

Engine upgrades, definition restores, template changes, and release activation serve different purposes. An engine upgrade updates the app's runtime pin; it does not recreate the app from a new template or roll back its data. Immutable releases retain their own captured renderer and configuration. See [Releases](/docs/apps/releases) and [Definition versions](/docs/apps/definition-versions).
