Dear community,
As everyone slowly returns from summer mode to “wait, where did I leave that project?” mode, we’re here with fresh Diversion updates to help you get back into the flow. Ready to see what’s new?
🧩 Submodules
Shared code, plugins, and art libraries just got easier to manage. You can now mount another Diversion repo inside your repo at a specific path, pinned to a specific commit - perfect for shared engine code, plugins, or asset libraries used across multiple projects.
From the CLI, you can use dv submodule add, rm, status, update, and repin. Submodules also show up in the app’s file tree with the mounted repo’s name and pinned commit, so everything is clear at a glance.
The parent workspace also tracks when a mount has drifted from its pin, and lets you jump straight into the child workspace.

📁 Native folder picker in the Desktop app
Diversion now opens your operating system’s own folder dialog when you clone a repo, create a repo, create a workspace with a local clone, or reattach a workspace. That means your favorites, recent locations, search, and folder creation are all right there - exactly where your OS already knows you like them.

⏳ File history as a graph
Every file now gets a proper visual history across branches. You’ll see one lane per branch, a dot for every revision, and fork and merge lines drawn between them.
That means you can see exactly where a branch forked, which commit a merged revision came from, and how a file moved through your repo over time.

🌍 Hallo. Bonjour. Olá 👋
Diversion is now available in German, French, and Brazilian Portuguese, joining English, Spanish, Japanese, and Chinese. You can switch languages right from the top bar, with layout updates that keep the app clear and comfortable to use across languages.

✨ A few more good things
A few extra updates that make everyday work a little smoother:
- Ctrl+K search in the app - jump to what you need faster
- Org billing role - an admin-only user without a paid seat, available on the Studio tier
- Retention limits UI - configure retention limits directly in the app, previously available only with the dv prune command


