Repository navigation
Releases: jpzk/opensidian
Release list
v0.6.2
opensidian v0.6.2
The default theme is AnuPpuccin (GPL-3.0); bundled themes and the Catppuccin palette are attributed in THIRD-PARTY.md.
Landlock self-sandbox is opt-in (OPENSIDIAN_LANDLOCK=1 enables; off by default). Both AppImages boot-verified under Xvfb.
Verify: gpg --verify SHA256SUMS.asc SHA256SUMS && sha256sum -c SHA256SUMS
- live preview, source and reading modes
- [[wikilinks]], backlinks, tags, graph view
- tabs, splits, search, quick switcher, command palette, bookmarks
- themes, fonts, hotkeys; open a vault with
opensidian <folder> - drag an image (png, jpg, gif, webp) or a PDF from your file manager onto a note:
an image is moved into the vault (the original is removed only after the
vault copy is complete and on disk), a PDF is copied (the original stays,
as in Obsidian), and![[name]]is inserted where you dropped it. A name that
already exists gets a new one, never overwritten. A .pdf must really be a PDF (it starts with%PDF-); other file
types are refused and left where they are.
Changelog
Big vaults index, save and link faster, and more of your workspace now survives a restart the way it does in Obsidian.
Remembers more
- Window: size, position and maximized state are restored per vault, in Obsidian's
obsidian.jsonwindowsformat (saved on a clean quit, like Obsidian). - Global graph: switching back to the graph tab keeps its layout and camera instead of starting over; the zoom level is saved to
graph.jsonlike Obsidian. - Graph settings panel: whether the panel is open and which sections (Filters, Groups, Display, Forces) are expanded is saved, for the global graph and for each local graph tab.
- File explorer and bookmarks: each folder and each bookmark group remembers being collapsed or expanded, individually, across restarts.
- Local graph: a local graph in a tab keeps its layout, motion, pan and zoom when you switch away and come back, like the global graph.
- Long notes: switching between live preview, source and reading mode on a long note keeps your place, and stops adjusting the moment you scroll.
New
- Drag and drop a PDF from your file manager onto a note: it is copied into the vault and
![[name.pdf]]is inserted (images are still moved, as before). - Create from the quick switcher: type a title that doesn't exist and press Enter; Shift+Enter creates it even when other notes match; Ctrl+Enter opens it in a new tab. New notes go where the vault says (
newFileLocationin.obsidian/app.json: vault root, current folder or a set folder), like Obsidian. - Bookmarks header: the collapse/expand-all button now sits in the top row of icons, where Obsidian has it.
- Opening screen: the app logo next to the Opensidian title, and the action buttons aligned.
Fixed
- No scrollbars on the app window: a theme or CSS snippet that adds margins or padding no longer gives the whole window a vertical or horizontal scrollbar, at any window size, with any modal open, and on the opening screen. This is now a release gate.
- Clicking a note in the global graph opens it in the same tab, as in Obsidian, and Back returns to the graph with its layout kept; Ctrl+click or middle click opens a new tab.
Faster
- Index and link resolution: links resolve through a cached suffix map instead of scanning every note name per link. Building the index is ~92% faster and moving a note ~95% faster.
- Parallel indexing: notes are read and parsed on up to 8 threads; index build a further ~30% faster.
- Saving: the Backlinks pane no longer re-runs its queries when you save the note it is showing (save ~87% faster), and unlinked mentions skip notes that cannot contain the name (unlinked mentions ~61% faster, save ~65% faster).
- Live preview: each wikilink resolves with one lookup instead of a scan of every note (editor updates ~91% faster, back/forward ~46% faster).
Peak memory is unchanged (within ±0.4%). Graph views open, pan, drag and switch tabs as fast as in v0.6.1, measured on two vaults against v0.6.1's own run-to-run noise.
Known
- Opening a very large note (30,000 lines) in a new tab is ~10% slower than in v0.6.1; tracked for the next release.
v0.6.1
opensidian v0.6.1
The default theme is AnuPpuccin (GPL-3.0); bundled themes and the Catppuccin palette are attributed in THIRD-PARTY.md.
Landlock self-sandbox is opt-in (OPENSIDIAN_LANDLOCK=1 enables; off by default).
Verify: gpg --verify SHA256SUMS.asc SHA256SUMS && sha256sum -c SHA256SUMS
Changelog
v0.5 was never published; this release contains everything that was planned for it, plus the items marked (0.6) and (0.6.1).
Faster (0.6.1)
- Edit/reading switch on big notes: switching between live preview/source and reading view is much faster. On a 30k-line note with 20k links, edit → reading drops from ~2.4 s to ~0.4 s and reading → edit from ~1 s to ~0.45 s; a typical note switches ~45% faster. Reading view output is unchanged; scroll position, caret and selection survive the switch.
New
- Drag an image in from the file manager (0.6): dropping an image file from your desktop/file manager onto a note moves the file into the vault and inserts the embed at the drop point. Note: this is a move, not a copy, the original location no longer has the file.
- PDF embeds:
![[file.pdf]]andshow the PDF in a frame in reading view and live preview, like Obsidian.#page=,#height=, aliases, subfolders and names with spaces work; a missing file shows a placeholder. Pages are drawn by a pure-Rust renderer (hayro 0.7.1). No PDF JavaScript, forms, launch or link actions ever run, and embeds cannot reach files outside the vault. - Graph controls, global and local graph: the full settings card like Obsidian: Filters (search, tags, attachments, existing files only, orphans; local graph depth and link directions), Groups (colour groups), Display, Forces, plus right-click menus on nodes and empty canvas. Settings survive a restart.
- Graph zoom-out for huge graphs: you can now zoom out to 1/128 (was 0.2), the same bound as Obsidian, so a 5000-note graph fits on screen. Zoom stays anchored to the cursor; labels fade out smoothly as you zoom out.
Fixes
- Caret (0.6): after following a link and going back (Alt+Left), the caret could be drawn at the top-left corner of the note. It now stays where it was.
- Graph: the global graph had two settings menus; there is now exactly one per graph view.
- Minimal theme (and Default): the note text column and margins now match Obsidian. "Readable line length" (on by default) is honoured, which Minimal relies on for its line width and page margins.
v0.4
opensidian v0.4
The default theme is AnuPpuccin (GPL-3.0); bundled themes and the Catppuccin palette are attributed in THIRD-PARTY.md.
Landlock self-sandbox is opt-in (OPENSIDIAN_LANDLOCK=1 enables; off by default). Both AppImages boot-verified under Xvfb.
Verify: gpg --verify SHA256SUMS.asc SHA256SUMS && sha256sum -c SHA256SUMS
Changelog
New
- Official app icon — the amethyst-cluster logo is the launcher and window icon in every package.
- RPM for Fedora (
sudo dnf install ./opensidian-0.4-x86_64.rpm) and .deb for Debian 13 / Ubuntu 26.04 (sudo apt install ./opensidian-0.4-x86_64.deb); both pull in their dependencies and are covered by the signed SHA256SUMS. - Debian 13 is now a tested distribution, alongside Fedora 44 and Ubuntu 26.04.
- Graph: Forces panel — the graph-controls card on the global graph (open by default, collapses to a gear, reset to defaults).
Graph
- Physics now follow the stock force model: 60 Hz steps, alpha target, the same repel curve, a per-node centre pull with the centroid held at the origin, and a fixed seed, so layouts look like the original.
- The graph starts untangled: new nodes are seeded near the neighbours already placed.
- Fixed nodes getting stuck: the Barnes-Hut tree's root cell is now built the same way d3's quadtree builds it.
- Settling is checked after every physics step, not once per frame.
Security (audit fixes)
Thanks to Aikido for finding the issues fixed below and under "Robustness" (audit #1–#13).
- Vault filesystem (audit #1, #2, #4, #6, #9): every vault write goes through a handle on the vault folder and never follows symlinks:
- note saves, new notes and link rewrites;
- delete to trash, move, new folder and attachment drops;
- the files under
.obsidian.
- Temp files: random, created exclusively, then renamed into place. No more predictable
md.tmp/.part-<pid>names. - Sidebar: the folder walk never descends into a symlinked directory and has a depth limit.
- S1: the window can only navigate to
tauri://localhost. - S3: with Landlock on, the first-run vault picker restarts the app into the chosen vault instead of opening it without the sandbox.
- S7: telemetry records only lengths, counts and timings, never note paths, titles, search queries or folder names.
Robustness: huge or malicious notes (audit #10–#13)
- Image embeds load lazily, so a note with 20k embeds no longer floods the image loader when it opens.
- Live preview builds rows past 2,000 lines on demand, and trims highlighting on lines past 20,000 characters.
- Unlinked mentions run in linear time; the list shows the first 200 hits and keeps the exact total.
- Quotes nested more than 32 levels deep render as plain text.
- The quick switcher batches title updates instead of redrawing on every keystroke.
Desktop integration
- GNOME dock: the running window now groups under the opensidian launcher with its icon instead of showing up as a separate app with a generic icon. The window identifies itself as
dev.koto.opensidian(Wayland app id and X11 WM_CLASS), and every desktop file carriesStartupWMClass(.deb, .rpm, flatpak, AppImage). - Flatpak: switching vaults and "Open in new window" work. Before this fix the new window failed to start (
bwrap: execvp opensidian).
Data safety
- Vault switch: if saving the open note fails, the switch is cancelled. Before, the failure was ignored and an edit could be lost.
- Vault switch: the new window takes the old window's real position and size.
Project
- SECURITY.md: report vulnerabilities privately by email.
- README: install section condensed; states that the project is not affiliated with Obsidian / Dynalist Inc.
Known issue
- A click on a search result sometimes doesn't jump to the match (1 in 91 test runs). Being tracked.
Features
- live preview, source and reading modes
- [[wikilinks]], backlinks, tags, graph view
- tabs, splits, search, quick switcher, command palette, bookmarks
- themes, fonts, hotkeys; open a vault with
opensidian <folder>
v0.3
opensidian v0.3
The default theme is AnuPpuccin (GPL-3.0); bundled themes and the Catppuccin palette are attributed in THIRD-PARTY.md.
Landlock self-sandbox is opt-in (OPENSIDIAN_LANDLOCK=1 enables; off by default). Both AppImages boot-verified under Xvfb.
Verify: gpg --verify SHA256SUMS.asc SHA256SUMS && sha256sum -c SHA256SUMS
- live preview, source and reading modes
- [[wikilinks]], backlinks, tags, graph view
- tabs, splits, search, quick switcher, command palette, bookmarks
- themes, fonts, hotkeys; open a vault with
opensidian <folder>