Version History
Let users see earlier versions of a document or record, compare them, and restore safely without losing current work.
6 states4 edge casesDesktop + Mobile
01The problem
Autosave means every change is kept, so users stop worrying about saving — until they need something they deleted an hour ago. Without version history, autosave turns mistakes permanent. With a poorly designed one, users face hundreds of near-identical snapshots and a restore button that silently throws away everything since.
02When to use
Use when
- Autosaved documents, specs, contracts and templates
- Configuration that can break things when changed: pricing tables, workflows, settings
- Collaborative content where changes by others need review
Avoid when
- Small records where an activity history with before → after values is enough.
- Data that's legally immutable once submitted — show read-only history, no restore.
03Recommended UX
Statecraft recommendation
Group automatic snapshots into meaningful sessions, let users name important versions, show changes as a highlighted diff against the current version, and make restore create a new version rather than deleting anything after it.
04Desktop behaviour
On desktop, history is a mode: the document becomes a read-only preview, with the version list on the right.
Desktop rules
- Version list grouped by day and session, with author avatars and change summaries.
- Named versions shown with their name and pinned to the top.
- Toggle: Show changes against current version.
- Restore and Copy text are the only actions; editing happens after exiting history.
05Mobile behaviour
On mobile, the version list and preview become two steps: choose a version, then view and restore it.
Mobile rules
3 mobile rules are included in Pro.
Statecraft Pro
Unlock the full pattern
Get the complete interaction flow, states, edge cases, mobile rules and implementation prompt.
- Interaction flow · 5 steps
- 3 mobile rules
- 6 states
- 4 edge cases with recommendations
- 4 microcopy comparisons
- Accessibility notes
- Developer notes
- Claude Code / Codex implementation prompt
Edge cases covered in this pattern
- Others are editing
- Partial restore
- Retention limits
- Structural changes