Release history

Changelog

Every release of Geode, tracked here in full. For the unstyled view, see the raw GitHub Releases list.

Jump to version

0.23.x

v0.23.3September 26, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.23.2...v0.23.3

v0.23.1September 24, 2026View on GitHub

Bug fixes

  • Vault refresh now skips hidden development trees, preventing worktree contents from triggering misleading provider-unavailable errors. Strict sync scanning remains unchanged. (#274)

Improvements

  • Refresh failures now show a compact banner with Retry and an on-demand details dialog. Cause-specific guidance distinguishes permission problems, unavailable content, missing paths and unsupported links. Safe diagnostic copying omits note content and absolute personal paths. Saving-paused warnings stay visible, and failed scans preserve the previous file list. (#274)
  • Desktop voice plugins can use Geode’s packaged PCM AudioWorklet to capture audio off the UI thread without allowing blob scripts. Microphone permissions and stream ownership remain with the plugin. This support was already merged on main after v0.23.0. (#273)

Notes

  • macOS Apple Silicon only. Installers are Developer ID signed, notarized and stapled.
  • Existing signed installations can use Help → Check for Updates…. Manual installers are available below.
  • Passkey/WebAuthn PRs #245 and #246, and Templates PR #275, are not included.
  • Verification: final release CI passed 3,535 units and 336 desktop tests, with two skips and no retries; mobile browser harness 46 passed. The revised dialog was exercised in a visible Electron session and its shared QA screenshots were reviewed.
v0.23.0September 24, 2026View on GitHub

Geode v0.23.0

Signed Apple Silicon releases

  • macOS downloads are now Developer ID signed and notarized by Apple, with a stapled notarization ticket. (#272)
  • Geode checks for updates and asks before downloading and restarting to install. Help → Check for Updates offers an on-demand check. (#272)
  • The standalone installer verifies Geode’s publisher and the downloaded app before replacement, preserves its signature, and restores the prior bundle if replacement fails. (#272)

Compatibility and installation

  • New macOS releases support Apple Silicon (arm64) only. Intel users can continue using their last compatible release.
  • Users of earlier ad-hoc-signed builds must manually install this first signed release from the DMG to establish the update baseline.
  • The command-line installer requires native arm64 Node.js 23.6 or newer.
  • The signing pipeline passed a real arm64 packaging, notarization, stapling, Gatekeeper, and updater-manifest verification run. A real installed-version-to-next-version update cycle remains a rollout validation item.

Developer changes

  • Added an independently versioned headless SDK package with Node 22+ ESM, TypeScript declarations, and an immutable namespace-bound document store with verified content reads and writes. This desktop release does not publish the SDK to npm. (#268)
  • Isolated Web Viewer regression fixtures to improve test reliability. (#270)
  • Moved release history from the README to the website changelog and GitHub Releases. (#271)

0.22.x

v0.22.7September 23, 2026View on GitHub

What’s new in v0.22.7

Features

  • Ivory is built in. The website-inspired green theme now ships with Geode for new and existing desktop vaults. Select Settings → Appearance → Theme → Ivory; no theme download or demo-vault copy is needed. Default remains unchanged, and a same-name vault theme takes precedence. (#263)
  • Find saved websites faster. New Tab and Cmd/Ctrl+O search saved website bookmarks by title or URL, including bookmarks inside groups, and open the selection in Web Viewer. Existing file ranking and direct URL/search behavior are preserved. (#262)

Bug fixes

  • Keep chat and companion previews separate. A restored or rearranged workspace no longer opens a Design preview as another tab in its conversation pane. Existing tabs and pin state are preserved, and later opens reuse the separate companion pane. (#264)
  • Return to plugin views with Back. When a picked file replaces a plugin pane, Back restores its saved view state—including an Agent Threads conversation—and Forward returns to the file. History remains session-only and per tab. (#261)
  • Preserve multi-window sync safety. A successful refresh in one window can no longer acknowledge another window’s pending refresh. A rejected Canvas refresh retains stale-writer protection. (#265)

Verification improvements

  • Wait for workspace restoration and fixture registration before testing plugin Back/Forward history. (#269)
  • Isolate the local HTML fixture and wait for guest navigation before checking relative CSS, JavaScript, and images. (#267)
  • Await Terminal plugin startup before verifying its registered commands. (#267)
  • Wait for asynchronous project-association persistence in the Threads lifecycle test while retaining the exact safety assertion. (#265)
  • Keep native-fullscreen UI testing opt-in via npm run test:e2e:native-fullscreen, so routine background verification does not take over the desktop. (#266)

Notes

  • macOS Apple Silicon and Intel builds are included. Builds are ad-hoc signed, not notarized; the existing Gatekeeper installation guidance still applies.
  • Bundled Ivory is a desktop Electron feature; browser and Capacitor builds retain their existing vault-theme behavior.
  • No migration is required. Experimental sync limitations remain unchanged; this patch does not enable a production cloud-sync service.
  • Passkey work in #245 and #246 is not included.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.22.6...v0.22.7

v0.22.6September 20, 2026View on GitHub

Bug fixes

  • Terminal plugin compatibility. The filesystem adapter now supplies the missing getFullPath method, restoring command checks for the active file’s parent folder. (#259)
  • Filesystem catalog objects publish atomically. Concurrent readers now see either the previous complete object or the new complete object, never partially written bytes. This repairs a race found during release verification of the opt-in Node tooling; it does not change desktop sync or claim power-loss durability. (#260)
  • Sync planning shows measurable progress. The local planning phase now displays processed-file counts and a percentage. Repeated failed attempts show an attempt number, so a restarted run no longer looks like one uninterrupted wait. Remote scans remain indeterminate when the provider cannot report a total. (#254)

Developer foundations

  • Added the bounded DSQL/private Blob feasibility harness and documented its publish/restore evidence and limits. (#257)
  • Added an opt-in Node catalog adapter with atomic metadata publication, bounded retries and resource limits, and verified private Blob restore. It is available for in-repository tooling; this release does not enable cloud synchronization or connect the desktop app to a cloud backend. (#258)

Downloads

macOS installers and ZIP archives are provided for Apple Silicon and Intel Macs, with auto-update metadata. Builds remain ad-hoc signed and are not notarized; see the README installation instructions if macOS blocks first launch.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.22.5...v0.22.6

v0.22.5September 20, 2026View on GitHub

Bug fixes

  • Links open in the pane you clicked. Clicking an internal link in an inactive split pane now opens the destination there without requiring you to focus the pane first. This includes links to Bases files and Cmd/Ctrl-clicks that open a new tab. (#256)
  • Plugin selection dialogs open correctly. Fixed a missing keyboard-shortcut scope that caused some plugin dialogs, including Terminal’s selection commands, to fail during construction. (#255)

Downloads

macOS installers and ZIP archives are provided for Apple Silicon and Intel Macs, with auto-update metadata. Builds remain ad-hoc signed and are not notarized; see the README installation instructions if macOS blocks first launch.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.22.4...v0.22.5

v0.22.4September 20, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.22.3...v0.22.4

v0.22.3September 19, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.22.2...v0.22.3

v0.22.1September 18, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.22.0...v0.22.1

v0.22.0September 18, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.21.0...v0.22.0

0.21.x

v0.21.0September 17, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.20.0...v0.21.0

0.20.x

v0.20.0September 15, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.19.2...v0.20.0

0.19.x

v0.19.2September 15, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.19.1...v0.19.2

v0.19.0September 13, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.18.0...v0.19.0

0.18.x

v0.18.0September 12, 2026View on GitHub

Geode v0.18.0 — shared wiki foundations

Features and improvements

  • Shared, Electron-independent metadata and link primitives provide a foundation for wiki tooling. The Phase 0 database proof is engineering evidence, not a hosted service. (#190)
  • Internal read-only Node snapshots support bounded folder capture, metadata, literal search, link resolution and backlinks, with ambiguity and incomplete parsing reported explicitly. No public SDK, write API or sync service is introduced. (#195)
  • Desktop navigation and Node queries now share link-candidate selection while preserving their distinct compatibility policies. This is a link-resolution milestone, not a full desktop backend migration. Current-main Canvas media restoration fixes are retained. (#196)
  • Synthetic linked/dense vault generation and paired benchmarks make large-vault behavior reproducible without using personal notes. (#204)
  • Benchmark safeguards wait for terminal indexing readiness, monitor owned processes independently and retain failed/partial measurements rather than replacing them. (#210)
  • Desktop metadata cache loading uses bounded snapshot pages with expiry and cancellation; live edits and deletions take precedence. Database initialization is ordered before the utility indexer starts. (#211)

Important limitations

  • This release is not a blanket performance improvement. In the three-pair synthetic comparison, 10,000-note warm readiness increased by paired medians of approximately 2.6 seconds (linked) and 11.9 seconds (dense).
  • At 50,000 notes, all linked-workload samples failed on both revisions. All three dense candidate samples passed while all three dense baseline samples failed. These results do not establish reliable support for arbitrary 50,000-note vaults. Renderer-watchdog recovery and further indexing/rendering bottlenecks remain unresolved.
  • No vault format or schema migration is introduced. Desktop’s legacy explicit-dot-relative metadata behavior is preserved; navigation and graph resolution can differ for ./ links.
  • macOS Apple Silicon and Intel installers are ad-hoc signed, not notarized. Native packaged runtime verification was performed on Apple Silicon; Intel packaging/signature checks are not Intel runtime testing.
  • The optional application updater remains disabled by default. Existing dependency advisories include its YAML metadata parser; do not interpret this release as qualification of updater opt-in or privileged third-party plugin protocol handlers.
  • Packaged image checks verified actual decoding, but initial image-placeholder CSP console warnings remain. Mobile browser regression is not native iOS release qualification.

Verification

Post-merge verification passed on the release commit: 2,397 unit tests across 183 files and 254 direct Electron passes, one optional skip, no retries or permanent failures.

The integrated code passed 2,397 unit tests, both plain-Node proofs, typecheck, parity checks, 24 focused Electron tests and 46 phone/tablet browser tests. The combined desktop suite passed with 253 direct passes, one configured retry-pass and one optional companion-fixture skip. Native arm64 packaged smoke covered saving, navigation/backlinks, preview, decoded note/Canvas images, local HTML resources and reload using two cache pages with no bulk read. Final-head hosted verification passed all steps at e1ce5a9: 2,397 unit tests / 183 files and 253 direct Electron passes, one Canvas resize retry-pass and one optional skip, with zero permanent failures.

0.17.x

v0.17.1September 12, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.17.0...v0.17.1

0.16.x

v0.16.0September 12, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.15.4...v0.16.0

0.15.x

v0.15.4September 11, 2026View on GitHub

Bug fixes

  • Vault images now open in a dedicated read-only image tab instead of the Markdown editor. This works from File Explorer, Markdown links, and plugins. Images fit within the pane, preserve normal tab navigation and background focus, and restore after relaunch. (#193)
  • Image resources are released when an image changes or its tab closes.

Validation notes

The image-opening and workspace-restore tests passed, along with 2,040 unit tests and 231 Electron tests. One existing graph-view tab-count test failed; a Web Viewer settings test passed on retry, and one integration test was skipped. This patch was approved with that documented test exception.

macOS builds are ad-hoc signed but not notarized. Apple Silicon and Intel installers are provided.

v0.15.2September 11, 2026View on GitHub

Improvements

  • External Projects now blend into the file explorer, sharing one scrolling panel with vault files and using matching headers and standard folder/file rows. Refresh and detach controls are quieter, with consistent layouts across narrow/wide sidebars and light/dark themes. (#187)

Validation

  • 2,040 unit tests and 230 Electron tests passed, with one intentional skip. Two unrelated Electron cases passed on automatic retry.
  • Focused Projects scenarios and live visual checks passed; screenshots are included in #187.
  • Typecheck and release bundle verified.

Downloads

Choose the arm64 installer for Apple Silicon or the unqualified installer for Intel Macs. Builds are ad-hoc signed and not notarized; installation instructions are in the README.

v0.15.1September 11, 2026View on GitHub

Bug fixes

  • Web Viewer keeps Back/Forward history when reusing a tab. Opening another URL in the same Web Viewer now preserves the live browser and its navigation history instead of recreating it. (#186)
  • Rapid navigation, redirects, and delayed failures no longer replace a newer requested URL with an older one. A later navigation can also restore a Web Viewer after its browser process exits.

Install

Download the Apple Silicon (arm64) or Intel macOS DMG/ZIP below. Builds are ad-hoc signed and not notarized; see the README for installation instructions.

0.14.x

v0.14.0September 10, 2026View on GitHub

What’s new in v0.14.0

External Project folders

  • Browse Claude Threads Project folders directly in a separate Projects section of Geode’s File Explorer. Explicitly attach a folder on macOS, expand its tree, and open UTF-8 text files up to 2 MiB in a distinct read-only source tab. (#176)
  • Project creation, renaming, working-directory changes, and deletion stay in sync with the explorer. Granted source tabs can restore across app restarts.
  • Manage inactive Project associations and unassigned grants in Settings → Project folders. Removing a record never deletes external files or changes an agent’s working directory.

Safety and limitations

  • Existing working directories do not grant access automatically. Attachment and reconnect require explicit confirmation; directory symlinks cannot be traversed, and file symlinks must remain inside the granted root.
  • External files remain read-only, with manual Refresh and no filesystem watcher, indexing, search, autosave, or rendered Markdown. Vault wikilinks, backlinks, metadata, TFile, and existing Obsidian plugin APIs are unchanged.
  • Mobile displays Project labels with “Available on desktop”; external folder access and external contents synchronization are not included.
  • Opt-in study events and the in-product feedback prompt are deferred to a follow-up. This release adds no study data collection.
  • macOS builds are ad-hoc signed, not notarized. See the installation guidance in the README if Gatekeeper blocks a manually downloaded app.

0.13.x

v0.13.4September 10, 2026View on GitHub

Bug fixes

  • Preserve plugin-owned companion splits across workspace restoration and plugin reloads. When a destination tab closes but sibling tabs remain, the next contextual item opens in a replacement tab in the same split. (#184)
  • Preserve companion ownership when its destination moves, and normalize duplicate saved ownership without removing tab content.

Compatibility

Agent Threads 0.35.1 uses this support for conversation-first navigation. Existing layouts remain supported; unmarked panes from older versions are not automatically adopted and may need one-time manual cleanup.

macOS installers are provided for Apple Silicon and Intel. Builds remain ad-hoc signed and are not notarized, as in previous releases.

Known issue

A pre-existing Canvas media restoration race can leave an image blank when restoring multiple tabs. The release verification reproduced this on unchanged 0.13.3 as well as the patch branch. The full desktop suite passed 211 tests, including both companion lifecycle scenarios, with this one Canvas test failing.

v0.13.3September 9, 2026View on GitHub

Bug fixes

  • Fixed false renderer-crash recovery after the computer sleeps. Geode now pauses heartbeat hang detection during suspension and grants a fresh grace period on wake, so sleep does not unnecessarily disable community plugins. Genuine renderer crashes and hangs still recover normally. (#183)

Validation

  • 1,771 unit tests and 210 Electron E2E tests passed, including simulated sleep/wake regression coverage.
  • Physical macOS sleep/wake validation remains to be performed.

Downloads

macOS installers are available for Apple Silicon (arm64) and Intel. Builds are ad-hoc signed and not notarized; see the README for installation instructions.

v0.13.2September 8, 2026View on GitHub

Bug fixes

  • Fixed desktop community plugins failing to make network requests with requestUrl(). HTTP and HTTPS requests now run through Electron’s main process, supporting request headers, text and binary bodies, redirects, and text, JSON, or binary responses. (#182)

Notes

  • Renderer Content Security Policy remains unchanged; raw renderer fetch() is still restricted.
  • Browser and mobile networking behavior is unchanged. No migration or configuration changes are required.
  • macOS installers are available for Apple Silicon and Intel. Builds are ad-hoc signed but not notarized.

Verification

  • TypeScript passed; 1,768 unit tests and 209 Electron end-to-end tests passed.
v0.13.1September 8, 2026View on GitHub

Bug fixes

  • Web Viewer links using target="_blank" or window.open() now open in a tab within the originating tab group instead of creating a separate native window. Background tabs preserve your selection, including when you switch tabs while a page opens. (#181)

Notes

  • Popup destinations must use HTTP or HTTPS; unsupported schemes remain blocked.
  • macOS installers are available for Apple Silicon and Intel. Builds are ad-hoc signed but not notarized; installation guidance is in the README.

Verification

TypeScript, build, 1,764 unit tests, and 208 Electron E2E tests passed, including popup and background-selection regressions.

v0.13.0September 8, 2026View on GitHub

Features

  • Add passage-anchored Markdown comment threads: select ordinary prose to comment, reply, edit or delete messages, resolve and reopen discussions, and reattach detached anchors. Comments travel inside the note without an account or sidecar file. (#179)
  • Show human/agent attribution and expose the comments service through the Geode plugin API, including a stable require("geode") namespace on desktop and mobile.

Improvements

  • Live Preview and Reading view hide valid comment markers; Source mode keeps the underlying Markdown accessible. Search and metadata retain correct source positions, and normal Enter-key editing works inside anchored text.
  • Anchor validation protects Markdown and Geode syntax, including code, links, math, highlights, and Obsidian comments. Malformed comment markers are preserved and block comment mutations instead of risking note damage.
  • Add a Markdown comments guide and an architecture decision explaining storage and write-safety tradeoffs.

Notes

  • Comments are encoded in the Markdown file, not encrypted. Sharing the file shares its comments and attribution.
  • After directly editing anchored prose, reopen the note if the Comments pane preview or detached status is stale.
  • Closed-file comment writes check current provider content, but external edits between the read and write remain possible without host-level compare-and-swap support.
  • macOS downloads are available for Apple Silicon and Intel. Builds are ad-hoc signed, not notarized; see the installation guide for first-launch instructions. This release does not add a public iOS download.

Verification

Post-merge verification passed: 1,763 unit tests, 205 desktop Electron tests without retries, 44 browser-mobile tests, and three consecutive native managed-core/migration runs (84 tests total). Typecheck and production build passed. Native acceptance does not cover every comment interaction on-device.

0.12.x

v0.12.4September 7, 2026View on GitHub

Improvements

  • Minimal Theme Settings 9.0.0 now works on desktop. Its toggles, dropdowns, sliders, theme preferences and font sizes render and persist across app restarts. Compatibility is certified for this exact plugin version; Geode’s general Obsidian API baseline remains 1.8.0. (#177)
  • Safer community plugin updates. Updates install the release that passed compatibility checks and validate its downloaded manifest before replacing installed files, preventing a newer incompatible release from slipping through during an update. (#177)

Verification

Typecheck and build passed. The full suite passed 1,670 unit tests and completed 203 Electron tests: 202 passed directly and one Canvas test passed on retry. The real upstream Minimal Settings plugin passed settings and restart verification.

Installation

Download the DMG or ZIP for Apple Silicon (arm64) or Intel from the assets below. macOS builds are ad-hoc signed, not notarized; see the README for first-launch instructions. This release does not certify Minimal Settings on mobile or versions newer than 9.0.0.

v0.12.3September 7, 2026View on GitHub

What’s New in v0.12.3

Features

  • Reveal in Finder / Show in system explorer — right-click a file or folder in the File Explorer, or open a document tab’s “More options” menu, to highlight it in the OS file manager, matching Obsidian’s behavior. Desktop-only. (#172)
  • External project roots — design foundation. Accepted ADR-0015 and the Phase 1 design for core-managed, read-only external project roots with stable identities, laying the groundwork for attaching folders outside the vault. This release ships the underlying registry only (persistence, read-only grants, overlap protection, composite Project bindings) — there is no user-facing UI yet. (#171, #173)

Bug Fixes

  • npm run parity:check failed with a raw stack trace when its external doc corpora were missing (e.g. after macOS clears /tmp), instead of explaining what was missing or how to fix it. It now fails with an actionable message: every missing corpus, the git clone command to restore it, and the relevant override flags. (#175)
  • Refreshed the checked-in Obsidian compatibility ledger, which had also gone stale independently of the above. One new requirement was picked up (Bases’ native Kanban layout), left classified unknown pending its own assessment. (#175)

Notes

  • No breaking changes or migration steps.
  • The external root registry (#173) is an internal foundation only — no IPC, File Explorer UI, or Threads integration yet; those land in follow-up work.
v0.12.2September 4, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.12.1...v0.12.2

v0.12.0September 3, 2026View on GitHub

What’s New in v0.12.0

Features

  • Per-tab document navigation history — use the back and forward controls independently in each Markdown, Canvas, or Base tab. History is session-only, skips deleted files, preserves each view’s live identity, and stays consistent when loads fail or navigations overlap. (#165)
  • Toggleable Web Viewer core plugin — enable or disable Web Viewer per vault from Settings. Disabling it safely preserves open browser tabs as placeholders and restores the same tabs and URLs when re-enabled, including after restart. Commands, links, local HTML files, and unsupported/mobile hosts now follow the plugin’s actual availability. (#166)

Improvements

  • Updated the public feature documentation to describe per-tab navigation history and the Web Viewer lifecycle, and refreshed all visible version examples for v0.12.0. (documentation commit)

Notes

  • Document history is intentionally not persisted between app sessions.
  • Web Viewer remains enabled by default. Its setting is stored separately for each vault.
  • macOS builds are ad-hoc signed but not notarized; the existing Gatekeeper guidance in the README still applies.

0.1.x

v0.1.0September 7, 2026View on GitHub

No release notes recorded for this version.

v0.1.1July 21, 2026View on GitHub

No release notes recorded for this version.

0.11.x

v0.11.2September 2, 2026View on GitHub

Features

  • Team-friendly installer and updater (#162) — install or update Geode from the public GitHub release using the documented scripts/geode-update.mts command, without the GitHub CLI or a GitHub account. The script also re-signs the downloaded app locally to address macOS’s “damaged app” warning and makes a best-effort backup of Claude Threads plugin data before replacement.
  • Custom defaults for fresh vaults (#163) — organization-specific builds can seed a default community theme and plugin set on the first opening of a new vault by supplying resources at build time. The upstream Geode build ships no default theme or plugin list, so existing users and previously opened vaults are unchanged.

Improvements

  • Expanded installation documentation with the one-command updater, safe --check mode, version selection, user-local installation, and manual Gatekeeper recovery guidance.

Notes

  • No data migration or configuration change is required.
  • The updater script requires macOS and Node.js 23.6 or newer.
  • Release artifacts include Intel and Apple Silicon DMG and ZIP installers plus update metadata.
  • Builds remain ad-hoc signed and are not notarized; see the README installation guidance.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.11.1...v0.11.2

v0.11.1September 2, 2026View on GitHub

What’s New in v0.11.1

Bug Fixes

  • Restored the right-sidebar toggle in split workspaces. When the main workspace contained multiple resizable panes, the right-sidebar collapse/expand control could disappear. The control now remains available on the outermost pane, so Backlinks and other right-sidebar views can be collapsed and reopened normally. (#160)

Notes

  • No migration or configuration changes are required.
v0.11.0September 1, 2026View on GitHub

What’s New in v0.11.0

Features

  • Markdown images in Live Preview — standard same-vault Markdown images now render inline away from the cursor, with contained path resolution, safe fallbacks, semantic alt/title text, and cleanup of generated object URLs. Remote images and interactive resizing remain out of scope. (#151)
  • Safe internal-link page previews — hover resolved Markdown links in Reading View, or hold Cmd/Ctrl while hovering rendered links in Live Preview, to inspect read-only note and heading previews without navigating away. (#153)
  • Editor-aware plugin commands — hosted plugins can register editorCallback and editorCheckCallback commands across the command palette, hotkeys, guest hotkeys, and programmatic dispatch. Callbacks currently receive CM6’s EditorView, not the complete Obsidian Editor adapter. (#154)
  • FileManager.processFrontMatter compatibility — plugins can safely read, mutate, serialize, and persist note frontmatter with same-file calls serialized inside one renderer runtime. Coordination with direct vault writes, external writers, and host timestamp application remains partial. (#155)
  • Per-vault metadata scan cap — a new Settings → Advanced control bounds body metadata scanning for very large notes, defaulting to 300 KB. Frontmatter remains indexed; headings, tags, links, and list items beyond the cap are intentionally skipped to control memory use. (#150)

Bug Fixes

  • Lower peak memory during renderer fallback indexing — metadata-cache persistence now streams bounded batches over IPC and prunes deleted rows afterward, avoiding a vault-sized duplicate payload when the background indexer is unavailable. Diagnostics now record fallback entry and its reason. (#149)
  • Responsive, cancellable Unlinked Mentions scans — large and delimiter-heavy vaults now yield cooperatively to the renderer, cancel stale work, exclude valid frontmatter, and avoid caching partial results. (#152)

Improvements

  • Updated the README for the v0.11.0 feature set, settings, and explicit plugin-compatibility boundaries. (#156)
  • Stabilized the Web Viewer bookmark release test by verifying persisted link identity independently from Chromium’s asynchronous page-title event. Application behavior is unchanged. (#157)

Notes

  • Geode remains early alpha.
  • macOS installers are ad-hoc signed but not notarized. On first launch, use Control-click → Open or the documented Gatekeeper workaround in the README.
  • This release includes macOS DMG and ZIP builds for Apple Silicon and Intel.

0.10.x

v0.10.4September 1, 2026View on GitHub

What’s New in v0.10.4

Critical Bug Fix

  • Prevent runaway metadata-cache growth and out-of-memory failures — notes containing self-referencing YAML frontmatter can no longer poison metadata-cache writes, abort initial reconciliation, or trigger repeated write retries that grow the SQLite WAL. Affected circular values degrade safely while ordinary shared YAML aliases retain their data. (#146)
  • Preserve cache transaction safety — genuine SQLite write failures still roll back and retry with the complete dirty batch instead of silently committing partial cache state.

Notes

  • No vault migration or user action is required. Geode rebuilds or updates metadata cache entries normally.
  • Release metadata was finalized in #148.
  • macOS installers are ad-hoc signed but not notarized; follow the first-launch instructions in the README.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.10.3...v0.10.4

v0.10.3August 31, 2026View on GitHub

What’s New in v0.10.3

Features

  • Named tab collections — organize related tabs into named, color-coded, split-local collections that can be reordered, collapsed, restored across launches, and managed from tab menus or the command palette. Collapsing a collection keeps its active document visible and gives the collection label a clear active state. (#143)

Improvements

  • Collection controls support keyboard navigation, accessible names and state, reduced motion, and a distinct focus treatment that remains visible without producing a nested double outline.
  • Workspace schema v3 migrates older layouts tolerantly, normalizes malformed collection metadata deterministically, prunes missing files safely, and preserves surviving collection state.
  • Collection metadata remains intact when a workspace is opened and saved on mobile, while collection UI remains desktop-only.
  • Tab collection styling is covered against Geode’s light/dark themes and structural community-theme fixtures.

Notes

  • Collections belong to one main-area split. Moving a tab to another split removes its collection membership; pinned state remains independent.
  • This release includes Phase 1 named tab collections only. Vertical/left-side tabs are not included.
  • Release metadata was finalized in #147.
  • macOS installers are ad-hoc signed but not notarized; follow the first-launch instructions in the README.
v0.10.2August 31, 2026View on GitHub

Features

  • Adds draggable center-pane dividers with proportional sizing that persists across restarts.
  • Lets integrations request an initial split ratio, enabling Claude Threads’ conversation-first workspace to open at 30/70 while ordinary Geode splits remain 50/50.
  • Adds keyboard resizing, separator semantics, current/minimum/maximum accessibility values, focus styling, and a larger transparent pointer target.

Improvements

  • Safely normalizes missing, malformed, or non-positive persisted sizes.
  • Preserves unrelated pane shares when panes are inserted or removed.
  • Cleans up active resizing on pointer up/cancel, lost capture, window blur, subsequent drags, and workspace disposal.
  • Keeps mobile behavior unchanged without rewriting desktop proportions.

Notes

  • Includes #144.
  • No migration steps or breaking changes are required.
  • Companion integration: Claude Threads #481, shipped in Claude Threads v0.30.3.
  • Follow-up in Claude Threads: verify unresolved relative-link new-note creation against a real host and normalize source-relative paths if needed.
  • Follow-up in Claude Threads: extract the duplicated Dashboard/Kanban project resolver into shared logic to prevent future divergence.
v0.10.1August 31, 2026View on GitHub

What’s New in v0.10.1

Features

  • Per-vault hotkey management — Settings now includes a searchable Hotkeys tab where you can assign multiple shortcuts, remove or reset bindings, and filter to commands that currently have shortcuts. Core and plugin commands are supported, and changes take effect immediately in the workspace and Web Viewer. (#142)
  • Explicit conflict handling — when a shortcut is already assigned, Geode names the conflicting command and asks you to cancel or explicitly reassign it. Ambiguous shortcuts fail closed instead of running an arbitrary command. (#142)
  • Vault-scoped persistence — custom bindings are stored in .geode/hotkeys.json, isolated between vaults, and restored across relaunches. (#142)

Reliability and accessibility

  • Hotkey configuration uses atomic desktop writes and preserves the prior file when a write fails.
  • macOS modifier handling now stays consistent across the renderer, main process, and embedded Web Viewer.
  • Recording can be canceled with Escape and is cleaned up when Settings changes or closes.
  • Hotkey controls expose command-specific accessible names, visible keyboard focus, live status/alert semantics, and non-color conflict labels.
  • Command and shortcut labels are rendered safely, including plugin-provided command names.

Notes

  • Recording a new shortcut requires a physical hardware keyboard. Touch-only devices can inspect, remove, and reset assignments.
  • Operating-system-reserved shortcuts can be saved, but macOS may intercept them before Geode receives them.
  • Native Geode overrides use .geode/hotkeys.json; importing Obsidian’s .obsidian/hotkeys.json is not included in this release.
  • macOS builds are ad-hoc signed but not notarized. On first launch, use right-click Open or the Open Anyway control in Privacy & Security if Gatekeeper warns.

Verification

  • TypeScript: clean
  • Unit/integration: 1,300 passed
  • Electron E2E: full suite passed; one Canvas case passed on configured retry and then 3/3 isolated reruns
  • Mobile browser E2E: 43 passed across phone and tablet profiles
  • macOS x64/arm64 DMG and ZIP archives: signatures, architectures, checksums, and archive integrity verified
v0.10.0August 30, 2026View on GitHub

What’s New in v0.10.0

Features

  • Native iOS MVP shell — Geode now includes a Capacitor-based iPhone and iPad application shell with native managed-vault access, Files-folder selection, atomic note writes, reconciliation, and exact-byte persistence across relaunches. (#137)
  • Touch-first workspace — Phone navigation moves to a safe-area-aware five-action bottom bar, while phone and tablet layouts provide responsive Files, Search, Details, Settings, editor, Graph, Canvas, and Bases experiences. (#137)
  • Mobile Graph, Canvas, and Bases — Core power views now support touch selection, pan and pinch gestures, authoring, editing, save recovery, conflict preservation, and bounded mobile rendering. (#137)
  • Mobile community-plugin runtime — Compatible plugins can run through a bounded mobile admission and lifecycle layer with restricted module resolution, quarantine, restart, and rollback behavior. (#137)

Bug Fixes

  • iPhone and iPad layout safety — Controls and editor content remain inside native safe areas, including after iPad rotation and Details drawer transitions. (#137)
  • Canvas media lifecycle — Pending image, audio, and video loads are detached before their blob URLs are revoked, preventing intermittent missing-media errors during rerender and reload. (#137)
  • Managed-vault continuity — Root note discovery, legacy managed-vault migration, process-relaunch persistence, and delayed WKWebView interactions are covered by a repeatable native acceptance gate. (#137)

Improvements

  • Desktop Electron behavior remains behind the existing desktop host while shared renderer capabilities move behind typed platform services.
  • The compatibility ledger is refreshed to 2,852 tracked requirements.
  • Release evidence now includes 1,283 unit tests, 156 Electron journeys, 43 mobile Chromium journeys, and three clean native simulator iterations (84 native tests total).

Notes

  • This GitHub release publishes the existing ad-hoc-signed macOS installers for Apple Silicon and Intel.
  • The iOS MVP is included as source and simulator-tested native project infrastructure; v0.10.0 does not publish a TestFlight or App Store build.
  • Physical File Provider coverage, physical-device accessibility/performance validation, and a reviewed real community-plugin lifecycle remain follow-up release gates for broader iOS distribution.

0.9.x

0.8.x

v0.8.1August 29, 2026View on GitHub

What’s New in v0.8.1

This patch release brings Geode’s everyday document and tab actions closer to Obsidian’s behavior while keeping those actions consistent everywhere they appear.

Features

  • Immediate naming for new notes — creating a note now selects its Untitled name immediately so you can type the real name without a separate rename step. Empty names and filename collisions safely restore the existing name and show feedback instead of leaving the file in a broken state. (#135)
  • Shared document actions — tab right-click menus, the Markdown view’s More options menu, File Explorer, and command-palette adapters now use one contextual action system for opening, renaming, moving, bookmarking, copying paths and links, revealing files, and deleting them. Explicit menus act on the exact file or tab that was clicked, including when the same file is open more than once. (#135)
  • Complete tab-management menus — tabs now expose Close, Close others, Close right, and Pin/Unpin alongside document actions. Bulk closing stays within the clicked tab group and preserves pinned tabs. (#135)

Improvements

  • File Explorer and command integrations now share the same underlying behavior, reducing drift between UI surfaces while preserving existing public command IDs.
  • ADR-0006 documents the contextual action architecture and targeting rules.

Notes

  • No migration steps or breaking changes.
  • Existing vaults, plugins, themes, command IDs, and layouts remain compatible.
  • macOS builds are ad-hoc signed but not notarized; see the README’s Install section for the one-time Gatekeeper workaround.

Verification

Gate Result
npm run typecheck clean
vitest run 1,128 passed (98 files)
npm run build clean
playwright test 146 passed, 0 failed

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.8.0...v0.8.1

v0.8.0August 28, 2026View on GitHub

What’s New in v0.8.0

This release adds Mermaid diagram support, makes Live Preview tables genuinely readable and editable, and fixes hotkeys being swallowed inside Web Viewer tabs.

Features

  • Mermaid diagrams — ```mermaid code blocks now render as real diagrams in both Live Preview and Reading view. Diagrams follow the active light/dark theme (colors are derived from Geode’s own CSS variables, so community themes carry through), internal-link nodes are clickable and navigate to the linked note, and clicking into a block reveals its raw source to edit then re-renders when you click out. A malformed diagram shows an inline error instead of breaking the rest of the note.

    The Mermaid library is loaded lazily on first use from a separate bundle chunk, so it costs nothing until a diagram is actually on screen — the cold-start renderer bundle grew by only 0.4%. Plugins can reach the same memoized instance through loadMermaid() on the obsidian compatibility module, so a plugin’s mermaid.initialize() and Geode’s own diagrams can’t diverge. (#131)

  • Inline markdown in Live Preview table cells — table cells now render their inline markdown (bold, italic, code, links) instead of showing raw syntax, and long cell contents wrap onto multiple lines rather than forcing the whole row to overflow horizontally. Clicking into a cell still reveals the raw source to edit. (#132)

Bug Fixes

  • Hotkeys work inside Web Viewer tabs — app hotkeys (command palette, quick switcher, tab switching, and the rest) were being swallowed by the embedded page whenever focus was inside a <webview> tab, effectively trapping keyboard navigation until you clicked back out. Key events from guest pages are now routed back to the host and dispatched against the normal command system. (#130)

Notes

  • Version jump: this is a minor bump (0.7.x → 0.8.0) rather than a patch, because Mermaid rendering is a substantial new user-facing capability that pulls in its own (lazily loaded) dependency.
  • Install: these macOS builds are ad-hoc signed but not notarized, so Gatekeeper still warns on first launch of a downloaded copy. See the Install section of the README for the one-time workaround.
  • No migration steps and no breaking changes — existing vaults, plugins, and themes work unchanged.

Verification

Run against merged main with all three PRs integrated:

Gate Result
npm run typecheck clean
vitest run 1117 passed (97 files)
npm run build clean
npx playwright test 143 passed, 0 failed
npm run parity:check ledger current (2850 requirements)

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.7.20...v0.8.0

0.7.x

v0.7.20August 28, 2026View on GitHub

Your workspace layout no longer disappears

If a plugin wasn’t loaded when Geode started, any pane belonging to it was silently thrown away — and the next time Geode saved your layout, that loss became permanent. Five situations triggered it:

  • Updating a plugin. An update is a disable followed by an enable, and the disable half destroyed that plugin’s open panes. A routine update quietly wiped them.
  • Disabling and re-enabling a plugin. Same cause; the panes did not come back.
  • A slow plugin. If a plugin registered its view a moment after startup, its panes were already gone.
  • Recovering from a crash. Recovery starts with no plugins loaded, so restore found nothing to match — and the recovery session then saved that stripped-down layout over your real one, before you ever clicked “Restart with plugins”.
  • Graph and Bases tabs. These didn’t survive a restart at all.

Now a pane whose provider isn’t available survives as a labelled placeholder that keeps its position and state, and turns back into the real view the moment the plugin loads. Same tab, same spot, nothing duplicated.

For plugin authors: WorkspaceLeaf.isDeferred and loadIfDeferred() are now available. Note that a placeholder deliberately reports the persisted view type, so getLeavesOfType('your-view')[0].view can return a placeholder rather than your view class — use an instanceof check instead of casting. See docs/spec/03-plugin-api.md.

Full technical rationale in docs/adr/0005-deferred-view-restore.md.

Known limits

  • A plugin that calls detachLeavesOfType in its own onunload still closes its own panes. The guarantee is that Geode won’t destroy them.
  • Layout changes made during a crash-recovery session aren’t saved.
  • A pane belonging to a plugin you’ve uninstalled stays as a placeholder; there’s no sweep UI yet.

Verification

136 end-to-end tests and 1042 unit tests passing.


Install: builds are unsigned, so macOS Gatekeeper will warn on first launch — see the README’s Install section for the workaround.

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.7.19...v0.7.20

v0.7.19August 27, 2026View on GitHub

What’s New in v0.7.19

Bug Fixes

  • Theme-compatible plugin controls and Canvas colors — defines Obsidian’s documented semantic color variables so plugins such as Claude Threads can render colored controls reliably, including the stop button. Canvas color tokens now resolve from the same theme palette. (#127)
  • Correct macOS window chrome — aligns the ribbon and sidebar with the native traffic-light area in windowed mode, removes that clearance in fullscreen, and restores it correctly when leaving fullscreen. The top-left titlebar gutter and native rounded window background now follow the active theme. (#112)
  • Readable links in hosted plugin panes — ordinary links rendered by plugins such as Claude Threads now use Obsidian’s global theme link colors, decoration, weight, and hover states instead of Chromium’s raw blue styling. (#112)

Notes

  • No migration or configuration changes are required.
  • macOS builds remain ad-hoc signed and are not notarized; the existing first-launch Gatekeeper instructions still apply.
v0.7.18August 27, 2026View on GitHub

No release notes recorded for this version.

v0.7.6August 21, 2026View on GitHub

Design artifacts — Phase 1

Geode can now safely open static UI artifacts created by Claude Threads.

Highlights

  • Isolated ArtifactView with a dedicated geode-artifact:// origin
  • Live reload as artifact source files change
  • Desktop, tablet, and mobile viewport controls
  • Runtime diagnostics and PNG capture
  • Artifact and viewport restoration after relaunch
  • Strict versioned manifests with actionable validation errors

Security

Artifacts run in an ephemeral, Node-less guest. Network access, clipboard access, downloads, popups, external navigation, preload scripts, and persistent guest storage are denied. File resolution is contained to the real artifact root, including symlink-escape protection.

Installation note

The macOS builds remain unsigned and unnotarized. macOS may require the documented first-launch Gatekeeper workaround.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.7.5...v0.7.6

v0.7.0August 19, 2026View on GitHub

What’s New in v0.7.0

Features

  • Expanded Canvas authoring — create and edit text, note, media, web, and group cards; author, label, reconnect, color, and remove edges; and drag vault files, folders, or browser URLs directly onto a Canvas. (#79)
  • Advanced Canvas workflows — marquee and multi-selection, duplication, alignment snapping, grouping, resize controls, camera shortcuts, undo/redo history, semantic search, backlinks, Markdown embeds, and isolated live web previews make Canvas substantially more capable. (#79)
  • Documented compatibility baseline — a generated, evidence-backed parity ledger now tracks 2,850 public Obsidian requirements and foundational public API contracts. The ledger is a coverage baseline, not a claim of complete compatibility. (#79)

Bug Fixes

  • Malformed Canvas recovery — invalid Canvas files now open in a non-destructive recovery view without exposing stale-document mutation paths. (#79)
  • Reliable wake recovery — system sleep no longer makes a healthy renderer heartbeat appear stale and trigger false renderer recovery immediately after wake. (#78)
  • Safe external file dragging — dragging an external file over the workspace no longer activates pane-split targeting or creates an unintended split. (#80)

Notes

  • Inline note editing inside Canvas cards, native PDF previews, and some broader Canvas context/action workflows remain incomplete.
  • macOS builds remain ad-hoc signed and unnotarized. Follow the first-launch instructions in the README if Gatekeeper blocks the app.
  • Windows and Linux installers are not included in this release.

0.6.x

v0.6.0August 18, 2026View on GitHub

What’s New in v0.6.0

Features

  • Flexible workspace layouts — move built-in and plugin views between the main area and sidebars, create vertically stacked sidebar groups, resize them independently, and restore the recursive layout across launches. (#77)
  • Interoperable JSON Canvas editor — open and edit JSON Canvas 1.0 boards with text, file, link, and group cards; labeled edges; pan and zoom; and persistent drag/resize geometry. (#74)
  • Multi-window vault management — use Manage vaults or the command palette to open recent or new vaults in isolated top-level windows. Selecting an already-open vault restores and focuses its existing window. (#76)
  • Local HTML in Web Viewer — open .html and .htm files from a vault in the isolated Web Viewer with relative CSS, JavaScript, and image assets resolved correctly. (#75)

Improvements

  • Workspace persistence now migrates older flat layouts to the recursive v2 format.
  • Built-in and plugin views share the same movable workspace-leaf model for better Obsidian compatibility.
  • Missing recent vaults are filtered from vault management, while cancelled and invalid selections leave the current window untouched.

Notes

  • Canvas link cards render but do not open a browser yet, and file-card subpaths do not scroll to a referenced heading.
  • macOS builds remain ad-hoc signed and unnotarized. Follow the first-launch instructions in the README if Gatekeeper blocks the app.
  • Windows and Linux installers are not included in this release.

0.5.x

v0.5.19August 18, 2026View on GitHub

What’s New in v0.5.19

Pinned tabs

  • Right-click any main-area tab and choose Pin or Unpin.
  • Pinned tabs stay open when you follow internal links, making persistent views such as Kanban boards and Claude Threads safe to keep in place.
  • Pin state and the visual pin indicator update immediately and survive app relaunches.
  • Hosted plugins can control the same behavior through Obsidian-compatible WorkspaceLeaf.setPinned() and togglePinned() APIs.

Compatibility and quality

  • Adds an Electron regression covering the context menu, protected navigation, persistence, plugin APIs, and unpinning.
  • No migration or configuration changes are required.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.5.18...v0.5.19

Closes #72.

v0.5.18August 18, 2026View on GitHub

What’s New in v0.5.18

Improvements

  • Native wake lock for hosted agent work — Geode now exposes a secure, token-based bridge to Electron’s native power-save blocker. Compatible hosted plugins such as Claude Threads can keep long-running work active without launching a separate operating-system process. Tokens are isolated to their renderer and automatically cleaned up when the window closes. (#73)

Notes

  • macOS installers remain ad-hoc signed and are not notarized; the existing first-launch Gatekeeper instructions still apply.
  • Includes Apple Silicon and Intel DMG/ZIP installers plus automatic-update metadata.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.5.17...v0.5.18

v0.5.17August 18, 2026View on GitHub

What’s New in v0.5.17

Features

  • Plugin action ribbon — Geode now has a persistent left ribbon for plugin-contributed actions, including accessible controls, a Settings entry point, visibility persistence, and correct cleanup when plugins unload. (#66)

Bug Fixes

  • Dismissible notices — Plugin notices and internal notifications now have an accessible close button and safe click-to-dismiss behavior. Timed notices still expire automatically, persistent notices remain until dismissed, and interactive controls inside notices continue to work. (#68)

Notes

  • macOS installers remain ad-hoc signed and are not notarized; the existing first-launch Gatekeeper instructions still apply.
  • Includes Apple Silicon and Intel DMG/ZIP installers plus automatic-update metadata.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.5.16...v0.5.17

v0.5.16August 17, 2026View on GitHub

What’s New in v0.5.16

Critical crash fix

  • Large vaults no longer crash during metadata initialization — Geode previously transferred the complete metadata cache as one Electron IPC object. On an 8,299-file vault, the 274 MB cache drove Electron’s structured-clone allocator toward a 2.96 GB allocation and terminated both the metadata utility and renderer processes.
  • Bounded metadata transport — initialization now streams ordered chunks capped at 256 KiB and 50 entries instead of sending one monolithic snapshot.
  • Safe startup behavior — live file changes are preserved while chunks arrive, individually oversized files are read normally, and utility failure falls back without transferring or rewriting the complete cache through IPC.

Verification

  • The actual affected 274 MB cache initialized in 2.98 seconds with both processes alive and zero renderer errors.
  • 712 unit tests and 38 Electron end-to-end scenarios passed.

Full change: #71

Notes

macOS artifacts remain unsigned and unnotarized, consistent with previous Geode releases.

v0.5.15August 17, 2026View on GitHub

What’s New in v0.5.15

Crash diagnostics

  • More useful renderer-crash evidence — Geode now keeps bounded lifecycle, plugin-state, navigation, renderer-console, and process-metrics context around a renderer failure, along with a correlated incident ID and newly observed local Crashpad dump metadata.
  • Local diagnostic export — use Help → Export Diagnostics… to create an allowlisted bundle containing the crash journal, rotated diagnostic logs, a sanitized manifest, and retained native minidumps.
  • Safer retention and recovery — diagnostic logs rotate, crash journals and dumps remain bounded, Crashpad uploads stay disabled, and the existing one-time plugin-suppressed renderer recovery behavior is preserved.

Privacy note

The exporter does not intentionally read unrelated vault files, configuration, prompts, environment variables, IPC payloads, or plugin source. Console output and native minidumps can still contain sensitive fragments; inspect the exported directory before sharing it.

Known limitations

  • Native dump symbolication may require the exact Electron and Geode build symbols.
  • A real reproduction on the originally affected machine remains the best validation of diagnostic usefulness.
  • macOS artifacts remain unsigned and unnotarized, consistent with previous Geode releases.

Full change: #70

v0.5.14August 17, 2026View on GitHub

What’s New in v0.5.14

Bug Fixes

  • Restored background metadata indexing — Geode’s packaged metadata indexer now starts correctly as an Electron utility process instead of crashing at launch. This prevents the renderer from falling back to indexing the entire vault itself, eliminating the sustained high-CPU startup regression introduced in v0.5.13. (#69, closes #67)

Notes

  • No settings, data migrations, or workflow changes are required.
  • This patch contains only the metadata indexer startup fix.
  • macOS installers are available for Apple Silicon and Intel. Builds are ad-hoc signed but not notarized.

Full changelog: v0.5.13…v0.5.14

v0.5.13August 17, 2026View on GitHub

What’s New in v0.5.13

Reliability

  • Safe plugin failure containment — Geode now attributes exceptions at plugin-owned lifecycle, command, DOM, and view boundaries, quarantines only the offending plugin, and lets you restore it from Settings.
  • Renderer crash recovery — if the renderer crashes, Geode records durable diagnostic context and opens a replacement window once with community plugins suppressed, preserving the enabled-plugin configuration and offering a visible Restart with plugins action.
  • Crash-loop protection — recovery state prevents repeatedly relaunching a broken plugin set while keeping the path back reversible.

Quality

  • Added focused unit coverage for the bounded crash journal and plugin quarantine behavior.
  • Added Electron E2E coverage for plugin quarantine/restore and a real renderer process.crash() recovery.
  • Documented the containment boundary and known limitations in ADR 0003.

Known limitations

  • Shared-renderer infinite loops, out-of-memory failures, and native crashes cannot be contained in-process; recovery restarts with community plugins suppressed.
  • Generic event and already-created timer callbacks remain unattributed when plugin ownership metadata is unavailable.

Full change: #65 — Recover safely from plugin and renderer crashes

v0.5.12August 17, 2026View on GitHub

What’s New in v0.5.12

Performance Improvements

  • Faster, smoother tab activation — hidden fixed sidebar views no longer render synchronously whenever a file opens. In particular, a hidden Backlinks pane no longer performs its vault-wide unlinked-mentions scan inside every tab activation, preventing that invisible work from delaying tab controls, hover states, and other window animations. (#64)
  • Deferred sidebar views stay accurate — hidden views continue tracking the active file and refresh through their normal open path when revealed. Backlinks still refreshes immediately while visible, and queued metadata updates re-check visibility before rendering.

Measured Results

In a disposable 100 MB, 1,000-note vault, PR #64 reduced median direct leaf activation from 13.6 ms to 0.6 ms, median click activation from 25.8 ms to 0.7 ms, and the hidden Backlinks listener from 12.9 ms to 0 ms. The deferred Backlinks calculation runs when the pane is explicitly revealed.

Reliability

  • Added an Electron regression test covering hidden file activations, queued metadata events, reveal-time rendering, and continued refreshes while Backlinks is visible.
  • Release validation passed 694 unit tests across 57 files and 36 Electron E2E tests, along with TypeScript checking, production bundling, and macOS x64/arm64 packaging.

Notes

  • No breaking changes or migration steps. Existing vaults, settings, plugins, and themes require no changes.
  • macOS builds remain ad-hoc signed and are not notarized; the first-launch Gatekeeper instructions remain in the README.
v0.5.11August 17, 2026View on GitHub

What’s New in v0.5.11

Bug Fixes

  • Responsive document tabs — tabs now shrink down to their icons when window space is tight instead of enforcing a wide minimum or disappearing into overflow. All open tabs remain reachable.
  • Consistent sidebar controls — sidebar tab icons stay compact, and both collapse buttons now match the size, icon scale, spacing, and vertical alignment of their neighboring sidebar tabs.
  • Working tab close buttons — clicking the X on a document tab now closes it reliably; keyboard shortcuts continue to work as before.

Quality

  • Added Electron regression coverage for roomy and crowded tab layouts, compact sidebar controls, collapse-button alignment, and click-to-close behavior.
  • Verified with 694 unit tests and 35 Electron end-to-end tests.

This patch includes PR #63.

v0.5.10August 17, 2026View on GitHub

What’s New in v0.5.10

Performance

  • Background metadata indexing — Geode now performs vault file reads, Markdown parsing, cache serialization, and atomic cache persistence in an Electron utility process, keeping this work off the renderer thread for a more responsive experience in larger vaults. Cache writes are debounced, unchanged files are reused on warm startup, and Geode falls back safely if the background process fails. (#62)

Bug Fixes

  • Plugin file links no longer blank the Geode window — Absolute vault-file links rendered by plugins, including links inside shadow DOM, now open safely in a Geode workspace leaf at the requested line and column. Valid files outside the vault open with the operating system, while malformed and unsafe targets are rejected. (#61)

Notes

  • No migration or configuration changes are required.
  • macOS builds remain ad-hoc signed and are not notarized.
v0.5.9August 17, 2026View on GitHub

What’s New in v0.5.9

Bug Fixes

  • Workspace controls stay reachable when many tabs are open — At narrow window widths, Geode now keeps tabs within the available header space instead of allowing the tab strip to push sidebar controls off-screen. Excess tabs move into the tab-list menu, the active tab remains visible, and visible tabs retain a usable minimum width. (#60)

Notes

  • No migration or configuration change is required.
  • macOS packages remain ad-hoc signed and are not notarized; follow the existing README instructions for first launch.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.5.8...v0.5.9

v0.5.8August 16, 2026View on GitHub

What’s New in v0.5.8

Performance improvements

  • Faster warm launches for large vaults — Geode now persists its derived metadata cache across launches. Notes whose path, modification time, and size have not changed are restored without rereading and reparsing every Markdown file. New and changed notes still use the existing parser, and deleted notes are removed from the cache. (#58)

Reliability

  • Cache writes use atomic same-directory replacement. Missing, corrupt, incompatible, unreadable, or unwritable cache data never prevents a vault from opening; Geode falls back to rebuilding derived metadata from the Markdown source files.
  • Stabilized the Bases clipboard end-to-end check so the release gate waits for the asynchronous system clipboard write instead of racing it.

Documentation

  • Updated the README alpha/version labels and documented persistent metadata caching.

Notes

  • No migration or configuration change is required.
  • The cache lives under each vault’s .geode/metadata-cache/ directory and is derived data that can be rebuilt safely.
  • macOS packages remain ad-hoc signed and are not notarized; follow the existing README instructions for the first launch.

Full changelog: https://github.com/rbcodelabs/geode/compare/v0.5.7...v0.5.8

v0.5.0August 15, 2026View on GitHub

What’s New in v0.5.0

Features

  • Run real community plugins that use editor autocomplete + task queries. A three-part plugin-API push lands full compatibility for plugins like obsidian-tasks:
    • EditorSuggest + Scope + app.scope are now exported and wired up, so plugins that subclass EditorSuggest at module-eval time (obsidian-tasks, linear-integration) load instead of crashing with “Class extends undefined”. (#50)
    • Frontmatter tag helpers, metadataTypeManager, and isShown — the metadata/query surfaces obsidian-tasks touches now behave Obsidian-faithfully, so a ```tasks block renders its full query widget (filters, copy controls, live count) with zero console errors. (#51)
    • listItems + sections parsing, indexed before layout-ready — the last mile: a ```tasks query now renders the actual matching tasks from your vault (verified against real obsidian-tasks v7.23.1). (#53)

Improvements

  • New app icon — replaced the placeholder with a polished amethyst-geode design, sized to the standard macOS icon grid with a beveled squircle edge. (#52)

Notes

  • macOS builds are ad-hoc signed but not notarized — first launch needs a right-click → Open (or xattr -dr com.apple.quarantine /Applications/Geode.app). See the README for details.
  • In-app auto-update (electron-updater, #41) is still in review and intentionally not included in this release — you’ll update these builds manually for now.

0.4.x

0.3.x

0.2.x

v0.2.21August 14, 2026View on GitHub

What’s Changed

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.2.20...v0.2.21

v0.2.20August 14, 2026View on GitHub

What’s New in v0.2.20

Features

  • Enterprise-managed plugin allowlist/blocklist — Administrators can now centrally control which community plugins are permitted. Drop a managed policy file at a fixed OS path (or point GEODE_POLICY_PATH at one) declaring an allow or block list of plugin ids. Blocked plugins refuse to enable, surface a Notice on startup, and show a “blocked by admin” badge in Settings. Policy is validated fail-open — a missing or malformed file never blocks the app, and a single bad entry is skipped rather than voiding the whole policy. Enforcement never touches your own .geode/plugins.json, so relaxing a policy re-enables a previously blocked plugin automatically on next launch. See docs/adr/0002-enterprise-plugin-policy.md for the design. (#28)

Improvements

  • CI: release/build workflows bumped to actions/checkout@v5 + actions/setup-node@v5 (Node 24 runtime). (#30)

Notes

  • macOS installers are unsigned — Gatekeeper will warn on first launch. See the README’s “Install” section for the one-time workaround.
  • Artifacts: universal + arm64 .dmg and .zip, plus latest-mac.yml for auto-update.

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.2.19...v0.2.20

v0.2.18August 13, 2026View on GitHub

Resizable, per-vault-persisted sidebars: drag the sidebar edge to resize (200–600px clamp), with width/collapsed/docked state persisted per vault across relaunches.

Fixes along the way:

  • Sidebar width/collapsed/docked state was silently dropped on relaunch when the workspace had no open tabs.
  • The sidebar icon bar is now part of the draggable titlebar region.

Merged in #27. Unsigned macOS build — see README’s Install section for the Gatekeeper workaround.

v0.2.15August 13, 2026View on GitHub

Fixes

  • Plugins using moment now load. The require('obsidian') shim now bundles and exports moment, and sets window.moment (non-clobbering) — matching Obsidian. Plugins that touch moment at module-instantiation time (e.g. diagram-zoom-drag) previously threw and failed to enable. Fixes #21.
  • Quieter metadata indexing. A file deleted between enumeration and read no longer logs a hard ENOENT error during indexing (matched on message, since Electron’s IPC bridge drops the error code); genuine read errors still log.

Full Changelog: https://github.com/rbcodelabs/geode/compare/v0.2.14...v0.2.15

v0.2.12August 12, 2026View on GitHub

What’s Changed