Version History
Automatic Version History
Strayfiles automatically saves a version snapshot every time you save a note with changes. If the content is unchanged, no new version is created. View previous versions, compare changes, and restore if needed.
How It Works
Every save creates a new version:
Version 1: "Initial content" (MacBook, Dec 9 10:00)
Version 2: "Added introduction" (MacBook, Dec 9 10:15)
Version 3: "Fixed typos" (iMac, Dec 9 11:30)
Version 4: "Added conclusion" (MacBook, Dec 9 14:00)
Each version stores:
- Full content at that point in time
- Version number (sequential)
- Device that made the change
- Timestamp
Viewing Version History
- Open a note
- Click the history icon or use keyboard shortcut
- See list of versions (newest first)
- Click any version to preview
Version Details
Each version shows:
| Field | Description |
|---|---|
| Version | Sequential number (1, 2, 3…) |
| Device | Which device made this change |
| Date | When the change was saved |
| Size | Content length |
Comparing Versions
Select two versions to see a diff:
- Old content that was removed
+ New content that was added
Unchanged lines shown normally
The diff view shows:
- Lines added (green/+)
- Lines removed (red/-)
- Unchanged context
- Addition/deletion counts
Restoring a Version
To restore a previous version:
- Open version history
- Find the version you want
- Click “Restore”
- Confirmation prompt
- New version created with old content
Restoring creates a new version - the old content becomes the newest version, preserving full history.
Auto-Pruning
To prevent unbounded growth, Strayfiles keeps the most recent versions:
- Default: 50 versions per note
- Oldest versions pruned when limit exceeded
- Pruning happens after each save
For most notes, 50 versions covers months of editing history.
Device Attribution
Version history tracks which device made each change:
v4: MacBook Pro "Added API documentation"
v3: iPhone "Quick fix from mobile"
v2: MacBook Pro "Restructured sections"
v1: MacBook Pro "Initial draft"
This helps debug sync issues and understand edit history.
Git Backend
Git backends do not support Strayfiles version history. If you use Git sync, rely on Git’s own history (git log, git diff) for version tracking.
Version History Without Git
Even without Git, you get full version history:
- Works with Redb backend (default local storage)
- Local snapshots stored in
~/.strayfiles/versions/{note_id}/{version_number}.md - Synced via Stray Cloud
- Not available for Git, Memory, or WASM backends
Tips
Before major edits: Make a small save first to create a checkpoint.
Accidental overwrites: Version history lets you recover from “oops I pasted over everything.”
Reviewing changes: Use diff view to see exactly what changed between versions.
Mobile edits: Device attribution helps track changes made from different devices.
Limitations
- Binary files (images) not versioned
- Version content is full snapshots (not incremental)
- Very large notes use more storage per version