Skip to content

basic-memory

v0.22.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 1mo Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai claude knowledge-management knowlege-graph llm local-first
+8 more
markdown mcp obsidian obsidian-md privacy-first privacy-first-ai productivity python

Summary

AI summary

Added LiteLLM embedding provider, delete‑note CLI command, and observation category filter; fixed multiple core, mcp, and cli bugs.

Changes in this release

Feature Medium

Adds LiteLLM embedding provider to core.

Adds LiteLLM embedding provider to core.

Source: llm_adapter@2026-06-11

Confidence: high

Feature Medium

Adds delete-note command to CLI.

Adds delete-note command to CLI.

Source: llm_adapter@2026-06-11

Confidence: high

Feature Medium

Adds observation category filter to search.

Adds observation category filter to search.

Source: llm_adapter@2026-06-11

Confidence: high

Feature Medium

Adds --wait and --timeout flags to bm status command.

Adds --wait and --timeout flags to bm status command.

Source: llm_adapter@2026-06-11

Confidence: high

Feature Medium

Adds --type flag to write-note CLI command.

Adds --type flag to write-note CLI command.

Source: llm_adapter@2026-06-11

Confidence: high

Feature Medium

Adds Team‑safe cloud push/pull and gates sync to Personal workspaces.

Adds Team‑safe cloud push/pull and gates sync to Personal workspaces.

Source: llm_adapter@2026-06-11

Confidence: high

Feature Medium

Adds per‑workspace rclone remotes for Team push/pull.

Adds per‑workspace rclone remotes for Team push/pull.

Source: llm_adapter@2026-06-11

Confidence: high

Feature Low

Improves workspace and cloud bisync command discoverability in cli.

Improves workspace and cloud bisync command discoverability in cli.

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Performance Low

Disables semantic search in default test fixtures (ci).

Disables semantic search in default test fixtures (ci).

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Bugfix Medium

Prevents asyncpg engine‑dispose crash on Postgres backend.

Prevents asyncpg engine‑dispose crash on Postgres backend.

Source: llm_adapter@2026-06-11

Confidence: high

Bugfix Medium

Self‑heals corrupt FastEmbed model cache.

Self‑heals corrupt FastEmbed model cache.

Source: llm_adapter@2026-06-11

Confidence: high

Bugfix Medium

Rejects invalid front‑matter YAML in skills.

Rejects invalid front‑matter YAML in skills.

Source: llm_adapter@2026-06-11

Confidence: low

Bugfix Medium

L2‑normalizes FastEmbed vectors to satisfy unit‑vector contract.

L2‑normalizes FastEmbed vectors to satisfy unit‑vector contract.

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Bugfix Medium

Stops move_note reporting false success across boundaries in mcp.

Stops move_note reporting false success across boundaries in mcp.

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Bugfix Medium

Splits comma‑separated tags in parse_tags function in core.

Splits comma‑separated tags in parse_tags function in core.

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Bugfix Low

Resolves write_note overwrite conflicts by file_path strictly in mcp.

Resolves write_note overwrite conflicts by file_path strictly in mcp.

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Bugfix Low

Uses strict link resolution for deferred forward references in sync.

Uses strict link resolution for deferred forward references in sync.

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Bugfix Low

Loads sqlite-vec for embedding‑status query in core.

Loads sqlite-vec for embedding‑status query in core.

Source: granite4.1:30b@2026-06-11-audit

Confidence: low

Full changelog

What's Changed

  • fix(skills): reject invalid frontmatter YAML by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/896
  • fix(plugins): include codex in shared version bump by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/897
  • feat(core): add LiteLLM embedding provider by @RheagalFire in https://github.com/basicmachines-co/basic-memory/pull/809
  • fix(core): L2-normalize FastEmbed vectors to satisfy unit-vector contract by @tk-pkm111 in https://github.com/basicmachines-co/basic-memory/pull/843
  • fix(mcp): resolve write_note overwrite conflicts by file_path strictly by @DoubleDeeRuffy in https://github.com/basicmachines-co/basic-memory/pull/860
  • feat(cli): add delete-note tool command by @AKarode in https://github.com/basicmachines-co/basic-memory/pull/887
  • fix(sync): use strict link resolution for deferred forward references by @DoubleDeeRuffy in https://github.com/basicmachines-co/basic-memory/pull/861
  • fix: cross-project context traversal by @sourrris in https://github.com/basicmachines-co/basic-memory/pull/874
  • test(ci): normalize setup overwrite assertion by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/898
  • fix(mcp): stop move_note reporting false success across boundaries by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/904
  • fix(core): prevent asyncpg engine-dispose crash on Postgres backend by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/902
  • fix(core): load sqlite-vec for embedding-status query by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/901
  • fix(core): self-heal corrupt FastEmbed model cache by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/900
  • feat(cli): improve workspace and cloud bisync command discoverability by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/905
  • fix(core): reuse a single embedding provider per process by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/903
  • feat(core): add observation category filter to search by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/908
  • feat(cli): add --wait and --timeout to bm status by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/906
  • feat(cli): add --type to the write-note tool command by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/907
  • docs(core): mark LiteLLM provider experimental by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/899
  • fix(core): split comma-separated tags in parse_tags by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/911
  • fix(core): make note_types search filter case-insensitive by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/912
  • fix(mcp): resolve memory:// in move_note and stop false cross-project rejections by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/914
  • fix(cli): align bm tool commands with MCP (error exits, overwrite, category, default) by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/913
  • fix(mcp): validate navigation pagination and fix recent_activity project display by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/915
  • fix(mcp): point move mismatch guidance at landing path by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/916
  • feat(cli): add Team-safe cloud push/pull and gate sync to Personal workspaces by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/917
  • docs(core): add Basic Machines agent style guidance by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/921
  • feat(cli): per-workspace rclone remotes for Team push/pull by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/920
  • feat(ci): add BM Bossbot PR gate by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/925
  • ci(ci): use pytestmon and Depot runners by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/928
  • fix(ci): make BM Bossbot asset cleanup idempotent by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/935
  • fix(core): disambiguate truncated observation permalinks to prevent index collisions by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/931
  • ci(ci): gate bossbot on passing tests by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/937
  • perf(ci): disable semantic search in default test fixtures by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/938
  • fix(mcp): split comma-separated tags in search_notes tags param by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/932
  • fix(mcp): accept page/page_size in read_note for parity with sibling tools by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/933
  • fix(cli): don't let bm cloud setup overwrite an existing rclone remote by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/923
  • docs(skills): fix npx skill install docs and ignore docs assets by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/927
  • test(mcp): assert tags param and tag: shorthand comma equivalence by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/943
  • fix(mcp): tighten search_notes tags input and normalize for direct callers by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/941
  • fix(mcp): recover edit_note when file exists on disk but is not indexed by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/934
  • fix(core): use Observation.permalink in build_context to match the search index by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/946
  • test(mcp): integration coverage for colliding observation permalinks (index + delete) by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/926
  • perf(ci): select impacted tests via testmon on PR builds by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/945
  • docs(cli): document personal-vs-team cloud sync semantics by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/947
  • Add glama.json to claim the Glama MCP directory listing by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/953
  • chore(core): release v0.22.0 by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/960

New Contributors

  • @RheagalFire made their first contribution in https://github.com/basicmachines-co/basic-memory/pull/809
  • @tk-pkm111 made their first contribution in https://github.com/basicmachines-co/basic-memory/pull/843
  • @DoubleDeeRuffy made their first contribution in https://github.com/basicmachines-co/basic-memory/pull/860
  • @AKarode made their first contribution in https://github.com/basicmachines-co/basic-memory/pull/887
  • @sourrris made their first contribution in https://github.com/basicmachines-co/basic-memory/pull/874

Full Changelog: https://github.com/basicmachines-co/basic-memory/compare/v0.21.6...v0.22.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track basic-memory

Get notified when new releases ship.

Sign up free

About basic-memory

AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN

All releases →

Related context

Beta — feedback welcome: [email protected]