# App definition versions

Every save in the app builder preserves the previous definition in version history. Versions record the app design and its declared data sources, layout, events, and metadata. They are separate from live data, document revisions, template versions, and immutable published releases.

## Inspect history

Open **Versions** in the app workspace. Each entry shows its version number, author provenance, change note when present, and time. **Manual**, **AI agent**, and **Unknown** labels explain how the snapshot was attributed. Use **Load more** to inspect additional entries, up to the history view's available limit.

An app without a stored definition has no definition-version history. For an editable app with no prior saves, save an edit in the builder to begin its history.

## Compare with the live definition

1. Find the snapshot you want to inspect.
2. Choose **Diff vs live**.
3. Review added, removed, and modified ids in each collection, plus order changes and app or schema changes.

The comparison is against the current live definition, not necessarily the immediately following version. A snapshot can be identical to live even though it has a different history entry.

## Restore

1. Compare the target snapshot first.
2. Choose **Restore** and read the confirmation.
3. Confirm to replace the live definition with that snapshot.
4. Open the builder or app to inspect the restored result.

Strive first preserves the current state as a new version, so you can restore back. The current live version cannot be restored to itself, and another restore or delete in progress blocks conflicting actions.

Restoring a definition does not roll back workflow data, connection credentials, document revisions, parameter values, or an active immutable release. If your goal is to change the shared release, select the appropriate release separately. Old references in a restored definition still need valid workflows, outputs, and a compatible engine.

See [Releases](/docs/apps/releases), [Engine upgrades](/docs/apps/engine-upgrades), and [Save conflicts](/docs/builder/saving-and-conflicts).
