> ## Documentation Index
> Fetch the complete documentation index at: https://vlyai-1c28d863.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Version history

> Every change in vly produces a revision. View, compare, roll back, or branch from any point in time.

Every successful prompt or hand-edit produces a **revision** in version history. Revisions are immutable, named, and instantly recoverable. Treat them like Git commits — but without the friction.

## Anatomy of a revision

Each revision records:

* The **prompt** (or "manual edit" for Code mode changes).
* The **agent** that ran it (Claude Code, Codex, Gemini CLI, or "manual").
* The **plan** (if Plan mode was used).
* The **diff** of files changed.
* The **build result** (success or fail).
* A **named label** (auto-generated; you can override).

## The timeline view

Open **History** from the project sidebar. You'll see:

```
✓ #142  Add settings page                             you, 2m ago    Claude Code
✓ #141  Fix date picker bug                           you, 8m ago    OpenAI Codex
✓ #140  Add billing system                            you, 1h ago    Plan + Claude Code
✓ #139  Tweak hero color                              you, 1h ago    visual edit
✓ #138  Add Convex schema for tasks                   you, 3h ago    Claude Code
…
```

Each row is a revision. Click to inspect.

## Common operations

<CardGroup cols={2}>
  <Card title="Inspect a revision" icon="eye">
    Click any row. See the prompt, the plan, the file diff, and a "Preview at this revision" button.
  </Card>

  <Card title="Roll back" icon="undo">
    Click "Restore this revision". The project's current state becomes that revision; the rolled-back changes become a new revision (so the undo is itself recoverable).
  </Card>

  <Card title="Compare revisions" icon="git-compare">
    Pick two revisions, see the diff between them. Useful for understanding "what changed in the last hour."
  </Card>

  <Card title="Branch from a revision" icon="git-branch">
    Click "Branch from here". Creates a new branch at that point so you can experiment without affecting main.
  </Card>

  <Card title="Rename a revision" icon="text-cursor-input">
    Click the auto-generated label and rename. Useful for marking milestones ("v1 release", "before billing rewrite").
  </Card>

  <Card title="Tag a revision" icon="tag">
    Add tags ("stable", "demo-ready"). Easier to find later than scrolling timestamps.
  </Card>
</CardGroup>

## Schema changes and rollbacks

Important caveat: **rolling back code does not undo schema migrations**. If revision #140 added a `priority` field to `tasks`, rolling back to #139 leaves the field in the database — the new code path that uses it is gone, but the field stays.

For most cases this is fine (the field becomes orphaned but harmless). For destructive schema changes (renaming tables, dropping fields with data), rollback requires a separate cleanup mutation. vly will warn you when a rollback is "schema-incompatible" and explain what to do.

## Limits

| Plan | Revisions kept | Backup retention |
| - | - | - |
| Free | 30 days | 7 days |
| Pro | Unlimited | 30 days |
| Business | Unlimited | 90 days |
| Enterprise | Unlimited | 1 year |

After the retention window, older revisions are archived (still inspectable, but rolling back may take longer).

## Related

<CardGroup cols={3}>
  <Card title="Branching" icon="git-branch" href="/building/branching">
    Experiment safely from any revision.
  </Card>

  <Card title="Undo / redo" icon="undo" href="/building/undo-redo">
    The keyboard-driven sibling.
  </Card>

  <Card title="GitHub integration" icon="github" href="/integrations/github">
    Sync revisions to a Git repo.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.