> For the complete documentation index, see [llms.txt](https://docs.overflowcms.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overflowcms.com/editor-guide/version-history.md).

# Version History

Every item's create, save, publish, unpublish, and revert is tracked automatically — who changed what, and when — with a one-click revert back to any earlier point. Collection field-schema edits (renaming, adding, or removing a field) get their own, separate history for the same reason. Nothing has to be turned on; it's on by default for every plan, differing only in how far back it goes — see Retention by plan below.

### Item history

Open any item and scroll to the **History** card below the editor. Every save, publish, unpublish, and revert on that item shows up here as its own timestamped entry, newest first, with who made the change:

![The History card on an item editor, showing a real Published/Saved/Published/Saved timeline](https://overflowcms.com/images/docs-screenshots/version-history-timeline.png)

{% hint style="info" %}
A **Save** event is written on every autosave, but saves from the same person within a 5-minute window collapse into a single entry instead of one row per keystroke — the timestamp just moves forward. Publish, unpublish, and revert always get their own entry, since those are the checkpoints worth a durable marker.
{% endhint %}

### Reading a diff

Click **View** on any entry to see exactly what changed in that version, field by field:

![The version-detail dialog, showing a GitHub-style red/green inline diff on the Title field and "Unchanged" on every other field](https://overflowcms.com/images/docs-screenshots/version-history-diff.png)

Text fields (text, rich text, options) diff inline, GitHub-style — removed words struck through on red, added words on green, everything else left plain. Fields that didn't change are labeled **Unchanged**; fields with non-text values (images, numbers, dates, booleans) show a plain before/after instead of a word diff.

{% hint style="info" %}
The very first tracked version of an item that already existed before version history shipped has nothing earlier to compare against — that entry shows its saved values plainly instead of falsely marking every field as newly added. Every version after that diffs normally.
{% endhint %}

### Reverting

Every version has two revert options:

* **Revert to draft** — restores that version's data into your working draft. It stays a draft; nothing goes live until you hit **Publish** yourself. This is the default for a reason: a revert previews before it ships.
* **Revert & publish** — restores the version and publishes it in the same step, for when you already know that's what you want live.

Either way, reverting itself is logged as a new **Reverted** entry — it doesn't rewrite history, it adds to it, so the version you moved away from is still right there if you change your mind again.

### Collection field-schema history

Field-schema changes — renaming a field, adding or removing one, changing its type — get their own **History** card on the collection's **Fields** tab (see [Collections & Fields](/editor-guide/collections-and-fields.md)), separate from item content history. The timeline, diff, and revert mechanics are the same.

{% hint style="warning" %}
Reverting a field schema is riskier than reverting one item: existing items keep their raw saved values, but any field that isn't in the reverted snapshot won't show in the editor until it's re-added — the data isn't deleted, just hidden. Admin+ role is required to revert a schema for exactly this reason.
{% endhint %}

### Retention by plan

|                 | Starter | Pro       | SEO Engine |
| --------------- | ------- | --------- | ---------- |
| Version history | 30 days | Unlimited | Unlimited  |

A nightly sweep prunes item and collection versions older than your plan's window — always keeping at least the most recent version of each item and collection, so you're never left with zero history right at the cutoff. See [Plans & Billing](/plans-and-billing.md) for the full plan comparison.

Related pages: [Publishing Workflow](/editor-guide/publishing-workflow.md) covers the draft/published/scheduled states that version history sits alongside; [Collections & Fields](/editor-guide/collections-and-fields.md) covers the field editor whose changes show up in the schema history above.


---

# 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.overflowcms.com/editor-guide/version-history.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.
