Page Version History
Track changes to documentation pages with version history. Create named snapshots, compare versions, and restore previous states to maintain document integrity.
Documentation pages in NeoArc support version history, allowing you to create named snapshots and restore previous states. This feature is similar to diagram versioning but optimised for text-heavy content pages.
When to Use Page Versioning
What Gets Versioned
Version snapshots capture the complete page state:
| Component | Versioned |
|---|---|
| Page title and summary | Yes |
| All content blocks | Yes |
| Block order and structure | Yes |
| Authors list | Yes |
| Published status | Yes |
| Target IDs (publishing targets) | Yes |
| Created/modified dates | No (metadata) |
| Version history itself | No (stored separately) |
Creating a Version
Version Metadata
Each version includes:
| Field | Description |
|---|---|
| ID | Unique identifier (UUID) |
| Version Number | Sequential number (1, 2, 3...) |
| Name | User-provided version name |
| Description | Optional notes about the version |
| Timestamp | When the version was created |
| Snapshot | Complete page content at that point |
Viewing Version History
The History panel displays all versions chronologically with the most recent at the top.
Restoring a Version
Storage Format
Page versions are stored directly in the page JSON file:
{
"schemaVersion": "1.0.0",
"id": "page-uuid",
"title": "My Documentation Page",
"content": [...],
"versionHistory": [
{
"id": "version-001",
"version": 1,
"name": "Initial draft",
"description": "First complete draft for review",
"timestamp": "2026-02-01T10:00:00Z",
"snapshot": {
"title": "My Documentation Page",
"content": [...]
}
}
]
}
Lineage Anchoring
Pages can be anchored to a specific version for lineage tracking. This is useful when other documents reference a page and need to link to a stable version rather than the current state.
{
"lineageAnchor": {
"versionId": "version-001"
}
}
Best Practices
| Practice | Reason |
|---|---|
| Version before major changes | Provides easy rollback if changes do not work out |
| Use descriptive names | Makes it easy to identify the right version to restore |
| Include context in descriptions | Future you will thank past you for the context |
| Clean up old versions | Delete obsolete versions to manage file size |
| Version at milestones | Creates clear history aligned with project phases |
Comparison with Diagram Versioning
| Feature | Page Versioning | Diagram Versioning |
|---|---|---|
| Storage format | Full snapshots | Snapshot-based |
| Transitions support | No | Yes |
| File size impact | Higher per version | Lower per version |
| Restore behaviour | Direct replacement | Direct replacement |
| Comparison view | No | Yes |