Changelog
Notable changes in each Basic Memory release, most recent first. For complete patch-by-patch notes, see All releases below.
v0.23 — Search that ranks and scales
Semantic search takes a major step forward in v0.23. Opt-in cross-encoder reranking can rescore vector and hybrid candidates locally with FastEmbed or through LiteLLM, while Postgres deployments can move vector storage from pgvector to Milvus, Milvus Lite, or Zilliz Cloud. File-watcher writes now receive embeddings, non-BGE FastEmbed models are normalized correctly, SQLite full-text search covers complete long notes and relaxes non-Latin queries (CJK, Cyrillic, and other scripts), and reindex failures are reported honestly.
The operator surface expands with bm inspect — a retrieval inspector that shows how the index sees a note (bm inspect chunks) and traces a query's retrieval stages (bm inspect query) — plus bm config for validated settings, bm hook for harness lifecycle capture, Rich interactive output for bm tool, a diagnostics MCP tool, a usable local Postgres path, Cloud share management, and targeted bm cloud prune cleanup.
Team workspaces gain working bm cloud push/pull: transfers now run over the cloud's permissioned WebDAV API with per-project access checks, so every member can sync — previously these commands required owner-only storage credentials on Team workspaces. list_directory learns title and updated-time sorting for one-read folder navigation.
The reliability tail is substantial too: incremental full-text reindexing clears stale rows, glob-filtered directory listings still traverse subfolders, root-level wikilinks resolve by filename with collision-safe case and separator aliases, transcript time ranges no longer become observation categories, and repeatedly selecting the current default project remains safe.
Underneath those features, the indexing and persistence core moves to generation-versioned relations and observations, compare-and-swap materialization, consistent lock ordering, and batched resolution. Observations and relations now land with accepted writes, eliminating the deadlock and stale-projection failures that appeared under concurrent agent workloads.
The v0.23.1 patch brings PostgreSQL full-text search to parity with SQLite by indexing complete note bodies, scopes search reindexing to the selected project, adds #bm:links_to for forcing an ambiguous prose wikilink to use the generic relation type, and hardens bm doctor and in-place bm update runs. v0.23.2 prevents write_note and move_note from creating case-duplicate folders when a requested path uniquely matches an existing folder case-insensitively.
This release also removes MCP tools and legacy API routes and changes several CLI, config, sync, edit, and pagination contracts. Read What's New in v0.23 for the highlights and Upgrade to v0.23 before upgrading an integration or automation.
August 2026 — Cloud review and Pocketbook
August 2026 · Basic Memory Cloud
Two new Cloud collaboration surfaces make it easier to work with people and AI assistants without leaving your notes or conversation:
- Comments and Suggestions — add attributed comments or propose insertions, deletions, and replacements. The Cloud
review_noteMCP tool gives connected assistants the same reply, resolve, accept, and reject workflow with checksum conflict protection. - Pocketbook (Interactive MCP App) — browse, search, graph, read, edit, and review Basic Memory inside ChatGPT and Claude on web or desktop. Set an active writing folder or add a specific note to the conversation as context.
AI-assisted review is integrated across the Cloud note tools. read_note returns clean prose, typed review threads, and a revision checksum; edit_note preserves open review work and blocks changes that overlap reviewed text; and search_notes keeps review markup out of results while reporting items that still need attention. See Review with an AI assistant for the complete workflow.
These are Basic Memory Cloud product updates. The versioned Core release notes continue under All releases.
v0.22 — Team-safe cloud push and pull
v0.22.0 makes cloud sync safe for teams. New bm cloud push and bm cloud pull commands transfer changes additively — they never delete files on the destination — so you can collaborate on a shared team workspace without risking a teammate's work. They model git push / git pull: conflict-aware, with --on-conflict options (fail, keep-cloud, keep-local, keep-both) when a file differs on both sides. The mirror-style bm cloud sync command remains personal-only and exits with an error on team workspaces.
Also in v0.22.0: search improvements, more capable bm tool and bm status commands, and a long list of MCP tool and embedding reliability fixes. See Cloud Sync for the full push/pull workflow.
The v0.22.1 patch fixed first-run reliability and shipped a few MCP fixes and parity additions:
- Fresh installs no longer get stuck when the projects table is empty — Basic Memory routes you to project setup and promotes your first project to the default automatically
- Sync skips projects without a valid local path and ignores stale projects left in the database but missing from your config
- MCP qualified project routes resolve workspace display names and tenant ids correctly
search_notescomma-splitsnote_types,entity_types, andcategories, matching how tags already behavewrite_notegains aworkspaceparameter for parity withedit_note- Faster CLI startup — heavy imports are deferred out of the command path
v0.21 — Workspace-aware everywhere
May–June 2026 · v0.21.0
Every MCP tool and CLI command now routes through the same workspace/project model, and search and sync are noticeably faster.
- Cross-workspace discovery — MCP project listing spans every accessible cloud workspace, so team projects show up without switching workspaces first, and
bm project listincludes projects from every workspace - Create projects by workspace —
create_memory_project(workspace=...)from MCP, andbm project add --visibilityfor cloud projects - Parameter aliases — MCP tools accept training-data-friendly aliases (
q/search/textforquery, etc.) so assistants reach for them naturally bm orphans— lists entities with no incoming or outgoing relations in the knowledge graph — notes not yet linked to anything- Breaking change — unquoted multi-word text before a wikilink no longer parses as a custom relation type. Use single-token types like
relates_to [[Target]], or quote multi-word types:"relates to" [[Target]]
Notable patches: v0.21.5 fixed workspace/project routing for MCP, and v0.21.6 consolidated the satellite repositories into the main basic-memory tree and shipped a redesigned Claude Code plugin — a memory bridge with a guided setup interview, capture skills, and team workspace support — alongside Codex, Hermes, and OpenClaw integration packages.
v0.20 — Auto-update
March 2026 · v0.20.0
A default-on auto-update system keeps CLI installs current, with a new bm update command (--check to check only). Install-source detection handles Homebrew and uv tool installs with the right upgrade flow for each, and MCP servers check silently in the background. Patches fixed API-key authentication for CLI cloud commands (previously only OAuth worked) and Homebrew update detection.
v0.19 — Semantic search and schemas
March 2026 · v0.19.0
The biggest release of the docs era:
- Semantic vector search for SQLite and Postgres with FastEmbed embeddings and hybrid keyword + vector fusion
- Schema system —
schema_infer,schema_validate, andschema_difffor validating and evolving note structure - Per-project cloud routing with API key authentication — route individual projects through cloud while others stay local
- JSON output mode for MCP tools and CLI commands
- Project-prefixed permalinks for unambiguous cross-project references
write_noteoverwrite guard — writing to an existing path returns an error unlessoverwrite=true- Upgraded to FastMCP 3.0 with tool annotations
Upgrading from v0.18? The v0.19.0 release notes cover the configuration and behavior changes.
All releases
Full release notes for every version, from GitHub:

