# Versioning

Versioning lets you capture snapshots of a board, move them through a review lifecycle, and jump between them as needed. It's how you track "what the board looked like for the October review" separately from "what we're actively editing today."

## The Version Toolbar Button

The versioning control sits in the top editor toolbar. It shows:

* The **name of the active version**
* A **stage badge** (color-coded)
* A **dropdown arrow** that opens the version list

<figure><img src="/files/HuIgTL0zjhsvL6ZWhahJ" alt=""><figcaption></figcaption></figure>

## Stages

Every version has a stage. Badge colors follow the stage lifecycle:

| Stage        | Meaning                                           |
| ------------ | ------------------------------------------------- |
| **Draft**    | Work in progress; default stage for a new version |
| **Review**   | Submitted for review; changes should be minimized |
| **Approved** | Sign-off received                                 |
| **Rejected** | Review rejected; typically precedes a new Draft   |
| **Archived** | Kept for reference but no longer actively used    |

Stages flow in the order: Draft → Review → Approved **or** Rejected → Archived. You change stage from the actions menu on any version row.

## The Version List

Click the version button to open the version list popover. Each row shows:

* Version name
* Last-edited timestamp
* Last-updated-by user
* Fork source (if the version was forked from another)
* A row of action buttons

## Actions

| Action              | What It Does                                                                          |
| ------------------- | ------------------------------------------------------------------------------------- |
| **Add / Create**    | Creates a new version (tooltip: *"Create new version"*). New versions start in Draft. |
| **Restore / Open**  | Click a version row to switch the editor to that version.                             |
| **Change stage**    | Move the version between Draft, Review, Approved, Rejected, Archived.                 |
| **Pin / Unpin**     | Pins a version to the top of the list for easy access.                                |
| **Open in new tab** | Opens the version in a fresh editor tab so you can compare side-by-side.              |
| **Duplicate**       | Makes a copy of the version.                                                          |
| **Delete**          | Removes the version. You cannot delete the active version.                            |

## Permissions

Each action is gated by a board-level policy:

* **Create version** — users with `BoardCreateVersion`
* **Pin version** — `BoardPinVersion`
* **Change stage** — `BoardUpdate`
* **Duplicate version** — `BoardDuplicateVersion`
* **Delete version** — `BoardDeleteVersion`
* **Open in new tab** — `BoardOpenVersionInNewTab`

If you don't have the corresponding permission, the action is hidden or disabled.

## Presenter Mode

In presenter mode (and read-only shared views), the version create, pin, stage-change, and more-menu actions are hidden. You can still switch between existing versions.

## Limits & Gotchas

* **Version names are immutable.** Once created, you can't rename a version — duplicate it with a new name if you need to change it.
* **You can't delete the active version.** Switch to another version first.
* **Stage transitions are constrained to the lifecycle order** — you can't jump straight from Draft to Archived, for example.
* **Fork lineage is visible** — if you duplicated from another version, the source is shown in the list for traceability.

## Related

* [Commit](/models/work-in-the-app/editor/commit.md) — committing changes to a version's data
* [Sharing](/models/work-in-the-app/editor/sharing.md) — sharing specific versions with reviewers


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ins-pi.com/models/work-in-the-app/editor/versioning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
