> For the complete documentation index, see [llms.txt](https://docs.infraglide.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infraglide.com/visual-canvas-and-pipeline-designer/versioning.md).

# Pipeline Versioning

## Pipeline Versioning

InfraGlide versions pipelines so you can iterate safely, compare changes, and keep Terraform state isolated per version.

***

### Overview

![alt text](/files/B4hqw8Gzapr31ETsYCqw)

***

### What a Version Is

Each saved version preserves:

* Incremental version number (starts at 1)
* Active latest version indicator
* Version lineage history linking parent and child iterations
* Version release notes and change descriptions
* Pinned Terraform CLI and provider plugin versions
* Isolated resource components and network connection snapshot

UI tags such as **DRAFT** and **LATEST** help you see where you are in the lineage. In the version dropdown, the latest version shows a purple **"Latest"** badge. Deployed pipelines may show guidance like **Deployed (vN)** in the component drawer.

There is no separate user-facing "release tag" object. The platform tracks the **active deployed version** for a lineage instead.

***

### Creating and Switching Versions

![alt text](/files/yFRM7lceiGrgzXSCYs6n)

| Action        | Where            |
| ------------- | ---------------- |
| Save in place | Toolbar **Save** |

![alt text](/files/G3froo8XM99MEwRxpphQ)

\| Create a new version | Save menu ▾ → **Save as new version** |

![alt text](/files/c0tEity87B9YxSJOMcBR)

\| Switch versions | **Version dropdown** in the toolbar |

![alt text](/files/geJnyS0NAxmcyVQAJTrk)

\| Exit with strategy | Exit/save dialogs can offer update vs new version | | Deploy strategy | **Deploy Version Strategy dialog** when promoting changes on a deployed line |

Creating a new version typically inherits Terraform CLI and provider plugin pins from the previous version. Changing provider plugin version from the designer often creates a new pipeline version as well.

***

### Deploy Version Strategy Dialog

When you **Save** or **Deploy** a pipeline that is already deployed, InfraGlide shows the **Deploy Version Strategy** dialog:

![alt text](/files/lo5cblvR0A2i6QmGiSvb)

* **Update this version** — apply changes to the currently deployed version's state.
* **Save as new version** — snapshot the current state as a new version before deploying.

This prevents accidentally overwriting a live environment with an untested change. Choose carefully based on whether you want to preserve the previous state for rollback.

***

### Compare Versions

Pipeline menu (⋯) → **Compare versions** opens a structured diff dialog.

* Compares resource components and network connections between any two versions.
* Shows **field-level changes** (added, removed, modified resource configs).
* Focuses on comprehensive field-level diffing between resource configurations.

Use compare before deploying a newer version over a live environment.

***

### State Isolation

Each version maintains isolated state tracking. That means:

* Versions do not share a state file.
* Destroy and apply target the specific version you have open.
* Upgrading versions copies prior live state into the new version when appropriate so Terraform can continue managing existing resources.

See [State File & Backend Management](/terraform-iac-engine/state-management.md).

***

### Deployed vs Draft

| Status       | Meaning                                                 |
| ------------ | ------------------------------------------------------- |
| **Draft**    | Not successfully deployed (or newly created)            |
| **Deployed** | A deployment run has succeeded for this version         |
| **Archived** | An older version superseded by a newer deployed version |

Editing a deployed version may lock configuration until you unlock or save a new version — follow the designer banners. Destroying an archived (non-live) version can be blocked; the UI prompts you to open the live version when required.

***

### Recommended Workflow

1. Iterate on a draft or new version.
2. **Compare versions** against the live version.
3. **Preview** — review the plan dry-run output for unexpected changes.
4. **Deploy** — use the Deploy Version Strategy dialog to choose update or new version.
5. Run **Check drift** after console changes outside InfraGlide.

![alt text](/files/A8xLdmXgy6w9IJfg0ska)

***

### See also

* [Designer Interface Overview](/visual-canvas-and-pipeline-designer/interface-overview.md)
* [Plan, Deploy & Destroy Actions](/deployments-and-execution-history/execution-actions.md)
* [State File & Backend Management](/terraform-iac-engine/state-management.md)


---

# 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 dynamically by asking a question.

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

```
GET https://docs.infraglide.com/visual-canvas-and-pipeline-designer/versioning.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
