Time Machine 2.0 - your note as it was, beside the note you are writing
Canonical version: Time Machine 2.0 - your note as it was, beside the note you are writing.
The Time Machine plugin for Obsidian just got its biggest update so far: 2.0.0.
Until now, Time Machine lived in the sidebar. That panel shows what changed, when, and a diff. Reading an old version, comparing it against what you have now, and deciding what to bring back all happened in a strip a few hundred pixels wide.
Version 2.0 adds a second view.
The past view
Run Time Machine: Compare versions side by side and your note opens twice. On the left, the note as it was at whichever version you pick. On the right, your real note, live and editable. Drag the divider to resize.
You can open it from the command palette, the two-columns ribbon icon, a right-click on a note in the file explorer, a right-click inside the editor, or the Side by side button in the panel header, which carries your current selection across so you do not lose your place. On mobile, or when the window is too narrow to split usefully, it opens as a full-width tab instead.
The pane follows whatever note you open, like the sidebar does. Click the pin and it holds on one note while you move around the vault. Following is useful when you browse; pinning is useful when you reconstruct something from an old version.
A version rail instead of a slider
The old timeline was a slider. Ten versions from this morning and one from last March shared the same track, and the March one was a single pixel you could not click.
On the rail, every version gets its own mark, all the same size, and none are merged. Marks are grouped under headings: Today, 7 days, 30 days, then by year. Click a heading to jump straight to the newest version in that group.
- Keyboard: focus the rail, then arrow left and right to step one version at a time, PageUp and PageDown to move ten, Home for the newest, End for the oldest.
- Source at a glance: git commits are tinted and carry a cap along the top edge, while file-recovery snapshots are plain. The cap keeps commits recognizable when the tint is hard to see.
- Hover any mark for its position, its exact time, and for git, the commit and its message.
- Long histories scroll, and the selected version stays in view.
Below the rail, the selected version tells you where it came from: a branch icon with the short hash, message and author for a commit, a clock for a file-recovery snapshot.
Old versions do not run their code
This is the change I care most about.
Rendering an old version of a note means rendering whatever was inside it. If that version contained a dataviewjs block, rendering it would execute that code against your vault as it is today, not as it was back then, including code you deleted from the note precisely because you did not want it running any more.
Time Machine 2.0 does not run it. Executable blocks in an old version are shown as plain source, and the pane tells you how many it skipped. If you would rather see them live, there is a setting to opt back in, off by default.
Without this protection, viewing an old version could run code against your vault.
And there is more
- Save a version as a new note. The ⋮ menu restores the whole version, copies it to the clipboard, or writes it out as a new note next to the original. Useful when you do not want to overwrite anything, you just want the old text back in your vault.
- Show changes flips the pane between the old version and the diff, so you can go from reading to comparing without leaving the view.
A settings screen rebuilt from scratch
The settings pane is no longer drawn by the plugin. It is declared, and Obsidian draws it.
What changes for you:
- The settings are searchable. Every name and description is indexed, so typing "git" in the settings search finds the Git options wherever they live.
- Keyboard navigation, focus handling and screen-reader labelling are Obsidian's now, not mine, so they behave like the settings in the rest of the app.
- The options are grouped under Past view and Git integration, with a live Git status row that tells you whether your vault is actually inside a repository.
Requires Obsidian 1.13
Time Machine 2.0 requires Obsidian 1.13. That is what makes it a major version rather than a minor one.
The declarative settings API arrived in 1.13, and it is all-or-nothing: either the whole settings pane is declarative, or none of it is. If you are on an older version, Obsidian will not offer you the update, so nothing breaks. Check Settings → About if you are unsure, and update Obsidian first.
Everything else stays where it was. Your settings carry over untouched.
Get it
Update from Community plugins in Obsidian, then open a note and hit the two-columns icon in the ribbon.
And if you want the whole system this plugin fits into, that is what the Obsidian Starter Kit and the Knowii Community are for.
That's it for today! ✨
References
- Release: https://github.com/dsebastien/obsidian-time-machine/releases/tag/2.0.0
- Repository: https://github.com/dsebastien/obsidian-time-machine
- Documentation: https://dsebastien.github.io/obsidian-time-machine/
- Issue behind the past view: https://github.com/dsebastien/obsidian-time-machine/issues/9
Related
About Sébastien
Ready to get to the next level?
Found this valuable? Share it with someone who needs it.