> For the complete documentation index, see [llms.txt](https://docs.ins-pi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ins-pi.com/models/work-in-the-app/editor/versioning.md).

# 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="https://2110136944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOS5XKTz5WlrX4s5rESlH%2Fuploads%2FqLYeN0LYqsgPesHLJied%2FScreenshot%202026-05-05%20at%2014.28.06.png?alt=media&amp;token=cd3d5199-f825-44e4-a349-0488c81547ca" 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.

### Approved and Archived Versions Are Locked

An **Approved** or **Archived** version cannot be edited. It opens in **Presentation mode** only:

* The **Edit** button is hidden in the presenter, on the Home page preview and in the version list.
* Opening an editor link to a locked version redirects to the presenter with a notification.
* To make changes, create a new version from it or move it back to Draft (if your role allows).

<figure><img src="https://2110136944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOS5XKTz5WlrX4s5rESlH%2Fuploads%2Fgit-blob-ff737c009e73757bbc2dbf62f31423c053abe2b4%2Fv26.1-version-locked.png?alt=media" alt=""><figcaption><p>An Approved version in the presenter: no Edit button</p></figcaption></figure>

## 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 the version's name to switch 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. Names are limited to 40 characters and descriptions to 255.
* **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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
