[New Plugin]: Version Control


So in my work flow I have to constantly modify the same version of the note. I’m a perfectionist at core, that’s why I always have to create many variations of the same content until I’m satisfied. But this introduces a problem: Obsidian doesn’t have any built-in version control feature, so I made one myself. This plugin lets you create a finite number of versions of any note.

Version Control for Obsidian

A simple yet powerful versioning system for your Obsidian notes. Never lose a good idea again just because you rewrote a sentence. Create, manage, and restore different versions of your notes right inside Obsidian.


The Interface

The plugin is designed to be intuitive and fit seamlessly with your Obsidian theme, whether you prefer light or dark mode.

What Can This Plugin Do For You?

Have you ever been editing a note, trying to perfect it, only to realize you’ve lost a great paragraph from an earlier draft? Or maybe you want to explore a different angle for your writing without creating a dozen “Copy of…” files?

This plugin solves that. It allows you to save “snapshots” of your notes at any point in time. Think of it like a manual save point in a video game, but for your thoughts. You can create as many versions as you need, give them names, and easily jump back to any previous state.

Key Features

  • :floppy_disk: Save Snapshots: At any time, save the current state of your note as a new version. You can give it a custom name (e.g., “First Draft,” “Added Research Links”) for easy reference.

  • :eyes: Preview & Restore: Quickly glance at the content of any old version without commitment. If you like what you see, restore it with a single click. Don’t worry—the plugin automatically saves a backup of your current content before restoring!

  • :herb: Create Deviations: Found an old version with a brilliant idea you want to explore separately? Create a brand-new note from any version to branch your thoughts without cluttering the original.

  • :gear: Smart Cleanup: Keep your history tidy. Set a maximum number of versions per note, or automatically clean up versions older than a certain number of days.

  • :outbox_tray: Export Your History: Need to back up your work or use it elsewhere? Export the entire version history of a note to various formats, including Markdown, JSON, and plain text.

  • :nail_polish: Flexible Interface: Choose between a detailed Card View that shows all actions at a glance, or a sleek, Compact List View for a more minimal look.

How To Get Started

  1. Open the View: Click the History icon () in the ribbon sidebar to open the Version Control panel.

  2. Select a Note: Click on any note in your vault. The panel will now show the context for that note.

  3. Save Your First Version: Click the “Save New Version” button. If you have version naming enabled, you can give it a name and hit save. That’s it! Your first version is saved.

  4. Interact with History: As you create more versions, they will appear in the list.

    • In Card View, use the buttons on each version to View, Restore, or Delete.
    • In Compact View, right-click on any version to see all available actions in a context menu.

Future Plans & Your Ideas!

I’m thinking about adding these features in the future, and I’d love your feedback!

  • Diff of two versions: I’m stuck on how to present the differences in a user-friendly manner that even a non-technical person can understand easily. How would you like to see what’s changed between two versions? Please open an issue on GitHub with your suggestions!

  • Search: I don’t know what its use would be, as in my workflow I typically don’t need to search through old versions. What would you use a search feature for? Searching for specific text across all versions of a single note? Or something else? Let me know your ideas!

Where Are The Settings? :thinking:

You can’t find a settings tab? Well, there isn’t one! I absolutely hate them. You can configure everything you need right from the UI.

Just click the Settings icon (⚙️) in the top right of the Version Control panel to open the settings overlay. You can toggle features, set cleanup rules, and change the view mode on the fly.

Repo

Bye.

5 Likes

Awesome! Thanks, this will be a very useful plugin.

Potentially very useful for me.

Do you plan to release it via Community Plugins soon?

Yes, i have already applied.

1 Like