# Versions

Source: https://modulify.ai/docs/editor/versions

Automatic snapshots of your whole site, and what restoring one does.

Modulify snapshots your whole site as you work. There is no save button, no naming a version and no diff view. The history exists so you can go back, and going back is the only thing you do with it.

## Open the history

The Versions tab lives behind **More** in the tab strip. Click **More**, then **Versions** in the list on the left.

Before anything has been recorded, the panel reads `No versions` with `Versions appear here as your site changes.` If the history cannot be loaded you get `Could not load versions` and `Refresh the page to try again.`

## What creates a version

A snapshot is taken automatically when:

- a chat message finishes and it changed files
- you publish and there were unsaved changes to save first
- a batch of inline text edits is applied
- you restore an older version

A chat message that changed nothing does not create one.

## Read an entry

Each row reads `v12 by Sam`, where the number counts up from the oldest snapshot, followed by a badge, the time it was taken, and the first seven characters of its commit.

The badge is **Restore** for a version created by restoring, and **Automatic** for everything else. The list loads ten at a time and fetches more as you scroll.

## Restore a version

Open the three dots menu on a row and choose **Restore**.

Restoring puts every file back to how it was at that point, then reloads the preview against them. It also does two things that are easy to miss:

- **The chat transcript is deleted for everyone in the project.** The conversation does not survive a restore.
- **Anything queued in chat is thrown away unsent.**

Because of that you are asked to confirm whenever there is something to lose. If messages are queued the dialog reads **Restore this version?** and warns that restoring erases the chat transcript for everyone. If AI is generating right now, it reads **Stop AI and restore this version?**, the button says **Stop and restore**, and it stops the job and discards the changes it had not finished. With nothing queued and nothing running, the restore happens straight away.

When it lands you get a **Version restored** toast. Everyone else in the project sees the restore happen too.

Restoring does not publish. Your live site keeps serving whatever you published last until you publish again.

## Next

- [Publish a site](/docs/publish/publish-a-site) pushes a restored state live.
- [Site chat](/docs/build/site-chat) explains the transcript that a restore clears.