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 is a quick look: what changed, when, and a diff. Useful, but narrow. Reading an old version properly, comparing it against what you have now, deciding what to bring back, all of that happened in a strip a few hundred pixels wide. Not where you actually want to make that decision.
So there is now a second way in.
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. Read the old one, write in the new one.
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. That distinction matters more than it sounds: following is right when you are browsing, pinning is right when you are reconstructing something.
A version rail instead of a slider
The old timeline was a slider. Sliders lie about history. Ten versions from this morning and one from last March got squashed onto the same track, and the March one became a pixel you could not hit.
The rail fixes that. Every version gets its own mark, all the same size, none merged away. 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. Color alone would have been a bad idea; shape means it still reads if the tint does not.
- 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, and it is the one nobody asks for.
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. Not against your vault as it was back then. Against your vault as it is today. Including code you deleted from the note precisely because you did not want it running any more.
So Time Machine 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.
Consider this for a moment: "view an old version" sounds like a read-only operation. It really is not, unless someone makes it one.
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.
That sounds like an implementation detail. It is not, and here is 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. Which means they behave exactly like the settings of every other part of the app, instead of approximately like them.
- 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.
I have written enough settings panes by hand to be genuinely happy about deleting one.
One thing to know before you update
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. There is no partial adoption. 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.