Changelog
What's new in Commonplace.
Newest first. Entries collect related commits into a single line so the timeline reads like a product log instead of a Git history. The commit log on GitHub is the full source of truth.
-
Marketing site: quickstart, technical, changelog, about
Expanded the marketing site beyond the landing page. Added dedicated pages for a quickstart guide, a technical overview, this running changelog, and an about / philosophy page. Footer now carries a wider map of relevant project links.
-
Marketing site shares the app's design tokens
Rewrote
web/styles.cssagainst the app's color, radius, shadow, and typography tokens so the landing page and the in-app workspace read as one product. Light-first to match the app default; favicon and theme-color meta updated to the new palette. -
Local embedding scaffold + runtime evaluation
Introduced a
local-transformersprovider behind the existingEmbeddingProviderinterface, with an explicitembeddingModelPathsetting (no automatic downloads),rebuildNeededdetection, and a Settings → Advanced UI. Wrote a runtime evaluation comparing Ollama,local-command, Transformers.js, andonnxruntime-node.7494df9docs: evaluate local embedding runtime options850bde4feat: expose local embedding settingsd691574feat: add local embedding provider scaffold7f8ff79docs: define local intelligence architecture
-
Semantic polish & Related Notes UX hardening
Added a
semanticIndexingEnabledsetting and a Clear command, extended stats (indexed-notes count, last-indexed and last-rebuild timestamps, durations, enabled flag), introduced stale-request protection viaAbortSignal+ aSTALE_RELATED_REQUESTsentinel, and added a ~200 ms debounce on related-notes refresh. Failure isolation keeps an embedding crash from breaking the metadata index. Panel now has explicit unavailable / disabled / loading / error / empty / results states. -
Semantic memory foundation
Markdown chunker,
EmbeddingProviderinterface, deterministic placeholder provider,semantic_chunks+semantic_embeddingstables, IPC channels, aSemanticProviderabstraction in the renderer, and a Related Notes tab in the right rail. -
SQLite backlinks & graph
Added
getBacklinksForNote,getLinksForNote, andgetGraphDataagainst the existingfiles/linkstables, new IPC channels, and aBacklinksGraphProviderin the renderer so desktop backlinks/graph come from SQLite while browser mode keeps the in-memory path. -
SQLite FTS5 search
FTS5 virtual table over path, title, body, headings, and frontmatter text. Main-process
searchNoteswith a punctuation-safe tokenizer and plain-text snippets. Renderer abstracts overbrowserMiniSearchProvideranddesktopSqliteSearchProvider. -
SQLite metadata index
better-sqlite3index at.commonplace/index.sqlite, schema withfiles,frontmatter,links,note_headings, andschema_meta. Full rebuild + incremental updates driven by watcher events. Narrowwindow.commonplace.indexIPC API. -
File watching & external-edit safety
chokidar watcher in main with debounced batched events. Stale-note banner in the editor when the active file changes externally. Optimistic-concurrency guard on writes via
expectedMtimeMs→WriteConflictError. -
Desktop vault adapter
IPC bridge between main-process
fsand rendererVaultAdapter. Path-safety guard,desktopVaultService, typed preload API, andcreateDesktopVaultAdapterwith runtime-aware adapter selection. Browser adapters unchanged; Markdown remains the source of truth. -
Persistent tabs, sidebar tree, hotkeys
Multi-tab workspace with per-tab back/forward history, pinned tabs, overflow dropdown, right-click context menu (Close / Close others / Close to right / Close all / Pin/Unpin). Tabs persist across launches via
.commonplace/workspace.json(Electron) orlocalStorage(browser). Real nested folder tree in the sidebar with per-file-type icons. Settings → Hotkeys lets you rebind keys. -
Electron desktop shell
Electron main process, contextBridge preload, runtime detection helper, esbuild compile pipeline,
electron:dev/electron:buildscripts. Browser build unchanged. -
Obsidian-style shell + redesign sweep
Left ribbon, tab bar, bottom status bar, command palette (Ctrl/⌘+K) with MRU ranking, frameless titlebar with overlay window controls, global accent focus ring, lucide-react icons across the shell, responsive icon sizing via
clamp()design tokens, redesigned landing / empty-vault hero, and a `BrandMark` component shared across the app and the marketing site. -
Vault, sync guide, attachments, graph, search
Foundational work prior to the Electron pivot: local-folder vault persistence, recent-vault UX, safe Markdown preview with wiki links and backlinks, vault import / export, real note management dialogs, settings + theme system with folder defaults, backlink quality work, MiniSearch upgrade, attachments with duplicate-filename handling, sync-guide UX, and the clickable graph view with focus mode + filtering.
Every commit on main is documented in the
commit log
and grouped per pull request in
docs/PR_HISTORY.md.