Logo
NeoArc Studio

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

Major Revisions
Before restructuring or rewriting significant sections
Review Cycles
Before and after stakeholder review feedback
Release Milestones
Capture page state at product releases
Experimental Changes
Before trying alternative content approaches
Compliance Snapshots
Document state for audit requirements
Collaboration Handoffs
Mark state before handing to another author

What Gets Versioned

Version snapshots capture the complete page state:

ComponentVersioned
Page title and summaryYes
All content blocksYes
Block order and structureYes
Authors listYes
Published statusYes
Target IDs (publishing targets)Yes
Created/modified datesNo (metadata)
Version history itselfNo (stored separately)

Creating a Version

Version Metadata

Each version includes:

FieldDescription
IDUnique identifier (UUID)
Version NumberSequential number (1, 2, 3...)
NameUser-provided version name
DescriptionOptional notes about the version
TimestampWhen the version was created
SnapshotComplete 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

PracticeReason
Version before major changesProvides easy rollback if changes do not work out
Use descriptive namesMakes it easy to identify the right version to restore
Include context in descriptionsFuture you will thank past you for the context
Clean up old versionsDelete obsolete versions to manage file size
Version at milestonesCreates clear history aligned with project phases

Comparison with Diagram Versioning

FeaturePage VersioningDiagram Versioning
Storage formatFull snapshotsSnapshot-based
Transitions supportNoYes
File size impactHigher per versionLower per version
Restore behaviourDirect replacementDirect replacement
Comparison viewNoYes