> ## Documentation Index
> Fetch the complete documentation index at: https://docs.feedal.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Saving and versioning

> How autosave, manual save, draft, and published versions work in the Studio.

Feedal separates two distinct concepts that are easy to confuse: **saving** (persisting your in-progress edits) and **publishing** (creating a version that respondents can fill out). Understanding the difference prevents data loss and keeps your live form stable while you experiment.

***

## The draft

Every form has exactly one **draft** — a mutable, private working copy of the form graph. The draft is never seen by respondents. It is what you edit in the Studio.

* The draft exists from the moment a form is created.
* Saving the draft does **not** affect the live form.
* The draft always reflects your most recent edits.

***

## Autosave

The Studio automatically saves the draft every **15 seconds** while you are working. The save status indicator in the top bar always reflects the current state:

| Status                | Meaning                                              |
| --------------------- | ---------------------------------------------------- |
| **All changes saved** | The draft is fully persisted                         |
| **Unsaved changes**   | Edits exist that have not been saved yet             |
| **Saving…**           | An autosave or manual save is in progress            |
| **Save failed**       | The save request failed — hover for the error detail |

<Warning>
  If you close or reload the browser tab while the status shows "Unsaved
  changes", Feedal will warn you before navigating away. However, autosave
  intervals are 15 seconds — use **Cmd/Ctrl + S** to save immediately before
  closing.
</Warning>

***

## Manual save

Press **Cmd + S** (Mac) or **Ctrl + S** (Windows/Linux) at any time to save the draft immediately. The **Save** button in the top bar does the same thing and is disabled when there are no unsaved changes.

***

## Publishing

Publishing creates an **immutable published version** — a permanent snapshot of the graph at the moment you clicked Publish. Once published, that version never changes.

```mermaid theme={null}
graph LR
    Draft["Draft\n(mutable, private)"]
    Publish["Publish"]
    V1["Version 1\n(immutable, live)"]
    Draft2["Draft continues\n(independent)"]

    Draft -->|edit| Draft
    Draft --> Publish
    Publish --> V1
    Publish --> Draft2
```

**What happens when you publish:**

1. Feedal validates the graph (entry node set, fallback end node set, no orphan nodes, etc.).
2. If validation passes, a new version is created and becomes the live form immediately.
3. The draft continues to exist independently — you can keep editing without affecting the live version.
4. The **Results** button appears in the top bar if it was not visible before.

**If validation fails**, a list of specific errors appears below the Publish button. Fix each issue and publish again.

***

## Versions

Every time you publish, Feedal creates a new version with an incrementing version number (v1, v2, v3, …). Versions are permanent — they cannot be edited or deleted.

| Property                        | Draft            | Published version |
| ------------------------------- | ---------------- | ----------------- |
| **Editable**                    | Yes              | No                |
| **Respondents can fill it out** | No               | Yes               |
| **Visible to you**              | Yes (Studio)     | Yes (Results hub) |
| **Responses attached**          | No               | Yes               |
| **Count per form**              | Always exactly 1 | One per publish   |

<Note>
  When you publish a new version, existing respondents who have an
  **in-progress session** on the previous version are not affected — they
  continue on the old version. Only new visitors see the new version.
</Note>

***

## Version history

The **Version history** tab in the Results hub shows every published version with its publish date, node count, and edge count. Selecting a version shows the responses collected specifically on that version.

***

## Next steps

<CardGroup cols={2}>
  <Card title="Publishing your form" icon="rocket" href="/building-forms/studio/overview">
    Review the Publish button and what validation errors look like.
  </Card>

  <Card title="Keyboard shortcuts" icon="keyboard" href="/building-forms/studio/shortcuts">
    Save with Cmd/Ctrl + S and undo with Cmd/Ctrl + Z.
  </Card>
</CardGroup>
