Releases · basicmachines-co/basic-memory · GitHub
Skip to content

Releases: basicmachines-co/basic-memory

v0.23.2

Choose a tag to compare

@github-actions github-actions released this 25 Aug 20:44

What's Changed

Full Changelog: v0.23.1...v0.23.2

v0.23.1

Choose a tag to compare

@github-actions github-actions released this 25 Aug 17:48

What's Changed

Full Changelog: v0.23.0...v0.23.1

v0.23.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 02:33

What's Changed

  • fix(core): repair FTS half of hybrid search for natural-language queries by @groksrc in #994
  • docs(ci): fix stale basicmachines.co post-release step by @groksrc in #999
  • docs: Update README.md by @phernandez in #1000
  • ci(ci): validate Auto BM webhook by @phernandez in #1019
  • ci(ci): remove legacy Basic Memory workflow by @phernandez in #1020
  • fix(core): make local Postgres backend usable (migrations, pooling, default project) by @phernandez in #1018
  • test(benchmarks): vendor benchmark suite and add write-load harness by @phernandez in #1021
  • docs(core): clarify DCO and CLA requirements by @phernandez in #1025
  • fix(mcp): add directory-compliant tool annotations by @phernandez in #1031
  • fix(mcp): gate ChatGPT compatibility tools by clientInfo by @phernandez in #1035
  • fix(mcp): set explicit destructive hints by @phernandez in #1036
  • fix(mcp): expose edit_note operation enum by @phernandez in #1037
  • feat(mcp): expose note external_id in list_directory and recent_activity output by @jope-bm in #1040
  • chore: formatting fixes by @phernandez in #1042
  • chore: add dist recipe for skills by @phernandez in #1049
  • chore(deps): refresh dependencies with LiteLLM compatibility cap by @phernandez in #1051
  • feat(skills): add memory-onboarding skill by @cfaust990 in #1050
  • chore(deps): unpin and refresh FastMCP by @phernandez in #1052
  • refactor(core): add shared runtime orchestration by @phernandez in #1002
  • refactor(core): structure campaign — collapse seams, honest types, typed boundaries by @phernandez in #1054
  • fix(cli): show configured project in list when uncredentialed (#1003) by @rudi193-cmd in #1010
  • feat(plugins): fall back to user-level ~/.claude settings for Claude Code hook config by @samuellawerentz in #924
  • fix(plugins): make Claude hook tests portable on Windows by @phernandez in #1055
  • fix(integrations): stop leaking bm mcp children from the Hermes provider by @phernandez in #1059
  • fix(cli): never print a blank doctor failure message by @phernandez in #1058
  • fix(core): chunk select_by_ids to stay under SQLite bound-parameter limit by @phernandez in #1057
  • test(api): cover single-entity delete for non-markdown file entities by @phernandez in #1056
  • feat(cli): add bm cloud share command group (create/list/update/revoke) by @groksrc in #965
  • fix(mcp): validate all schema-covered types when schema_validate gets no arguments by @phernandez in #1060
  • feat(mcp): add basic_memory_diagnostics tool for version and system info by @groksrc in #963
  • fix(core): support CJK terms in relaxed FTS fallback by @liusiyuxyfx in #1022
  • feat(cli): add Rich human-readable output to bm tool commands by @groksrc in #967
  • fix(core): make replace_section level-aware with replace_subsections opt-out by @phernandez in #1063
  • fix(mcp): surface cloud project delete errors and support delete_notes by @phernandez in #1062
  • feat(core): add LiteLLM API base and API key config by @lastguru-net in #1043
  • fix(cli): remove newly-ignored files from cloud on one-way sync and add bm cloud prune by @phernandez in #1061
  • feat(core): add semantic embedding text prefixes by @lastguru-net in #1044
  • ci(skills): publish onboarding archive on main pushes by @phernandez in #1067
  • fix(mcp): expose unknown search totals by @phernandez in #1069
  • fix(core): search complete SQLite note content by @phernandez in #1071
  • fix(mcp): prevent phantom memory URL edits by @phernandez in #1073
  • fix(mcp): surface cloud project deletion job by @phernandez in #1074
  • fix(core): expose previous accepted move path by @phernandez in #1075
  • fix(core): persist observations and relations on DB-first accepted writes by @phernandez in #1079
  • fix(core): avoid phantom project directory on config load by @phernandez in #1080
  • fix(core): reject equivalent note filenames by @phernandez in #1081
  • fix(mcp): paginate directory listings by @phernandez in #1082
  • fix(cli): replace retired Basic Memory links by @phernandez in #1083
  • fix(ci): keep issue triage focused on triage by @phernandez in #1086
  • fix(mcp): index recreated projects by @phernandez in #1085
  • fix(ci): grant Claude Code workflow write access to open PRs by @phernandez in #1087
  • fix(mcp): preserve scoped memory URL paths by @phernandez in #1092
  • fix(ci): drop broken pull_request_target trigger + provision toolchain for Claude workflow by @phernandez in #1091
  • feat(skills): add Pythonic code guidance by @phernandez in #1095
  • test(skills): add issue-derived Pythonic code evals by @phernandez in #1099
  • feat(api): add owning-entity external_id to search results by @jope-bm in #1101
  • feat(core): honor note timestamps from frontmatter by @phernandez in #1100
  • refactor(core): unify accepted note runtime boundaries by @phernandez in #1102
  • feat(skills): use Pythonic guidance in GitHub agents by @phernandez in #1104
  • feat(mcp): emit external_id in search_notes markdown output by @jope-bm in #1103
  • feat(skills): add pull request workflow skills by @phernandez in #1105
  • refactor(mcp): remove canvas tool and resource write endpoints by @phernandez in #1111
  • refactor(core): delete dead post-seam compatibility shims by @phernandez in #1112
  • refactor(api): collapse dead v1/_v2 DI provider tiers by @phernandez in #1113
  • refactor(api): inject config from composition roots into the DI graph by @phernandez in #1114
  • docs(core): refresh ARCHITECTURE.md after the arch-review cleanup by @phernandez in #1115
  • feat(core): add bm hook producer front door for harness capture by @phernandez in #1070
  • feat(plugins): surface hook capture setup and health by @phernandez in #1119
  • chore(plugins): rename Codex marketplace to basic-memory by @phernandez in #1120
  • refactor(core): rename picoschema package and drop legacy routes by @phernandez in #1121
  • refactor(core): split search query and row hydration by @phernandez in #1122
  • fix(plugins): make Codex hooks and memory notes reliable by @phernandez in #1123
  • feat(plugins): add bm-writing skill and coding setup to Claude Code plugin by @phernandez in #1124
  • feat(plugins): add queryable coding session profiles by @phernandez in htt...
Read more

Latest Basic Memory skills

Choose a tag to compare

@github-actions github-actions released this 15 Jul 20:56
796607f

Rolling skill archives built from 2643912.

v0.22.1

Choose a tag to compare

@github-actions github-actions released this 13 Jun 03:35

What's Changed

  • chore(ci): route release recipes through PRs and refresh release runbook by @groksrc in #961
  • fix(cli): preload deferred rich/typer modules before in-place upgrade by @groksrc in #966
  • fix(core): require line-anchored frontmatter fences in file_utils by @groksrc in #973
  • fix(api): allow setting default project when none is currently set by @groksrc in #976
  • feat(mcp): comma-split note_types/entity_types/categories in search_notes by @groksrc in #962
  • feat(mcp): add title and tags annotations to all MCP tool decorators (phase 1, #826) by @groksrc in #968
  • fix(mcp): resolve workspace display names and tenant ids in qualified project routes by @groksrc in #979
  • feat(plugins): manual-pages flow — manpage seed schema, flow docs, verification fixes by @phernandez in #971
  • fix(mcp): close out the #952 manual verification findings by @phernandez in #981
  • fix(sync): prevent concurrent-session rollbacks from destroying writes on in-memory SQLite by @phernandez in #989
  • fix(core): use (type, id) keys in vector search hydration to prevent id collisions by @phernandez in #986
  • fix(cli): defer FastAPI and app imports out of CLI startup by @phernandez in #988
  • fix: promote first project when config default missing from DB (#974) by @rudi193-cmd in #985
  • fix(core): preserve an existing database default when repairing a missing config default by @phernandez in #987
  • fix(api): point fresh installs at project setup when resolve finds an empty projects table by @phernandez in #990
  • feat(mcp): add workspace parameter to write_note for parity with edit_note by @groksrc in #964
  • fix(sync): skip projects without an absolute local path (#949) by @groksrc in #992
  • docs(core): add v0.22.1 changelog entry by @groksrc in #995
  • chore(core): release v0.22.1 by @groksrc in #996

Full Changelog: v0.22.0...v0.22.1

v0.22.0

Choose a tag to compare

@github-actions github-actions released this 11 Jun 05:55

What's Changed

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

New Contributors

Full Changelog: v0.21.6...v0.22.0

v0.21.6

Choose a tag to compare

@github-actions github-actions released this 05 Jun 04:42

What's Changed

  • fix(cli): block team workspace rclone sync by @groksrc in #855
  • feat(cli): expose project sync support metadata by @groksrc in #856
  • fix(cli): handle non-subscription errors in cloud login by @phernandez in #870
  • chore: add cross-vendor adversarial-review skill by @phernandez in #868
  • chore(installer): consolidate agent packages by @phernandez in #859
  • fix(skills): correct invalid picoschema enum YAML in memory skills by @phernandez in #867
  • feat(plugins): Claude Code plugin v0.4 — the memory bridge by @phernandez in #865
  • feat(plugins): improve /basic-memory:setup — load-bearing focus, cloud-safe schema seeding, smoke test by @phernandez in #876
  • feat(api): expose owning project on entity resolve by @phernandez in #885
  • refactor(plugins): prefix Claude Code plugin skills with bm- by @phernandez in #878
  • docs(ci): document auto bm dogfood install by @phernandez in #890
  • fix(ci): require all codex synthesis schema fields by @phernandez in #891
  • fix(ci): allow ci PR title scope by @phernandez in #892
  • fix(ci): improve auto bm note narrative by @phernandez in #893
  • feat(plugins): add codex plugin package by @phernandez in #894

Full Changelog: v0.21.5...v0.21.6

v0.21.5

Choose a tag to compare

@github-actions github-actions released this 26 May 15:59

What's Changed

  • fix(mcp): preinitialize local ASGI database by @phernandez in #838
  • fix(core): load sqlite-vec before vector table cleanup by @groksrc in #852
  • fix(mcp): return workspace-qualified write permalinks by @groksrc in #853
  • fix(mcp): attach local state to one workspace project row by @groksrc in #854

Full Changelog: v0.21.4...v0.21.5

v0.21.4

Choose a tag to compare

@github-actions github-actions released this 23 May 19:59

What's Changed

  • docs(core): move release process from CONTRIBUTING.md to AGENTS.md by @groksrc in #846
  • fix(mcp): restore write_note overwrite schema for external clients (#818) by @rudi193-cmd in #841
  • fix(cli): ignore CancelledError in background task done callback (#839) by @rudi193-cmd in #842

Full Changelog: v0.21.3...v0.21.4

v0.21.3

Choose a tag to compare

@github-actions github-actions released this 23 May 18:47

What's Changed

  • test(core): isolate XDG_CONFIG_HOME so host env can't leak into tests by @groksrc in #845

Full Changelog: v0.21.2...v0.21.3