github basicmachines-co/basic-memory v1.0.0

3 hours ago

What's Changed

  • fix: Refuse note creates and updates whose path leaves the project by @phernandez in #1837
  • feat(mcp): shared parameter types, refusals and resolver for bm_* tools by @phernandez in #1835
  • feat(mcp): bm_read, bm_list, bm_find, bm_search, bm_context by @phernandez in #1836
  • feat(mcp): add bm_write, bm_edit, bm_move and bm_delete by @phernandez in #1838
  • feat(mcp): add bm_project, bm_project_delete and bm_schema by @phernandez in #1839
  • feat(mcp): bm_man and manual pages for the 1.0 tools by @phernandez in #1844
  • feat(cli): redesign bm doctor as a report with suggested fixes by @phernandez in #1799
  • fix: clean up a superseded move's old file by @phernandez in #1847
  • fix(core): defer note promotions that would roll back to a superseded version by @groksrc in #1825
  • fix(mcp): refuse create_memory_project path mismatch by @phernandez in #1846
  • refactor(mcp): migrate consumers and documentation to 1.0 tools by @phernandez in #1849
  • fix(core): upgrade FastAPI and preserve read-cache identities by @phernandez in #1854
  • fix(ci): shard full test suites and preserve local fast-test by @phernandez in #1856
  • fix(ci): correct platform assertions and isolate wiki CLI tests by @phernandez in #1863
  • fix(mcp): correct manual tool results and cover deferred writes by @phernandez in #1864
  • fix(core): recover SQLite index rebuilds and large vector deletions by @phernandez in #1865
  • fix(sync): catch up newly watched projects during ignored activity by @phernandez in #1866
  • fix(mcp): align recovery guidance and manuals with bm tools by @phernandez in #1868
  • docs(core): add unreleased 1.0 changes to the changelog by @phernandez in #1871
  • fix(core): keep wiki projections moving past reserved identities by @phernandez in #1875
  • fix(api): reject malformed memory JSON before writing notes by @phernandez in #1876
  • feat: return the file paths a chat import wrote by @phernandez in #1878
  • fix(core): preserve title ranking with metadata filters by @phernandez in #1882
  • build(deps): make LiteLLM an explicit optional extra by @phernandez in #1883
  • refactor(mcp): retire the redundant legacy tool surface by @phernandez in #1881
  • fix(core): re-embed relation sources after forward-reference resolution by @remote-controlled-man in #1884
  • fix(api): return 400 for malformed memory-context locators by @remote-controlled-man in #1885
  • docs: add bm-agent(3) for the hosted agent tool by @phernandez in #1917
  • fix(core): escape literal directory prefixes before moves by @phernandez in #1915
  • fix(core): bound ChatGPT mapping graph traversal by @phernandez in #1916
  • fix(core): avoid quadratic section heading suffix copies by @phernandez in #1920
  • fix(core): enforce resolved project root ancestry by @phernandez in #1921
  • fix(cli): skip file symlinks in legacy directory uploads by @phernandez in #1922
  • fix(core): bound find-replace output before allocation by @phernandez in #1923
  • fix(cli): create rclone credentials with private permissions by @phernandez in #1924
  • fix(core): make atomic staging private before writing by @phernandez in #1925
  • fix(core): bound Markdown directive whitespace scanning by @phernandez in #1926
  • fix(core): bound CSV preview before wide-row padding by @phernandez in #1927
  • fix(cli): validate normalized upload destinations before dispatch by @phernandez in #1928
  • fix(core): preserve configured project root during moves by @phernandez in #1930
  • fix(core): enforce project boundaries at import and storage sinks by @phernandez in #1931
  • refactor(core): share project path validation contracts by @phernandez in #1932
  • fix(mcp): require explicit project scope for note tools by @phernandez in #1934
  • fix(core): reject YAML aliases and merge expansion in notes by @phernandez in #1933
  • fix(core): match nested directory ignore rules by ancestry by @phernandez in #1929
  • docs: bm-agent(3) takes a required project, like the note tools by @phernandez in #1936
  • fix(mcp): honor project constraint in JSON project list by @phernandez in #1937
  • fix(cli): prompt for cloud API key instead of requiring argv by @phernandez in #1938
  • fix(core): cap ZIP import and search query input sizes by @phernandez in #1939
  • fix(mcp): report a timed-out query as a ToolError by @phernandez in #1942
  • feat(cli)!: bm tool mirrors the bm_* MCP tools by @phernandez in #1943
  • fix(core): apply directory path rules to their files and skip a BOM in ignore files by @phernandez in #1949
  • fix(core): normalize OpenAI-compatible embedding vectors by @phernandez in #1948
  • refactor(mcp): remove retired tool modules nothing calls by @phernandez in #1944
  • refactor(mcp): remove the retired write_note tool by @phernandez in #1947
  • fix(sync): keep file events across watcher reloads by @phernandez in #1951
  • docs(core): list only registered tools in section 3 of the manual by @phernandez in #1952
  • feat(cli)!: remove legacy cloud sync and bisync by @phernandez in #1953
  • fix(core): repair and report entities missing search rows by @phernandez in #1954
  • fix(core): rank an exact title match first in title search by @phernandez in #1957
  • test(mcp): port project management tests to bm_project by @phernandez in #1961
  • refactor(mcp): fold schema tools into bm_schema by @phernandez in #1959
  • refactor(mcp): port context and recent-activity tests to bm_context and bm_project by @phernandez in #1962
  • refactor(mcp): remove read_note, edit_note, workspaces and chatgpt tool modules by @phernandez in #1964
  • fix(core): own startup index tasks and remove flaky test causes by @phernandez in #1967
  • refactor(mcp): port search tests to bm_search and remove search_notes by @phernandez in #1963
  • refactor(cli)!: rebuild cat/grep/ls/find on bm_* tools and remove tail by @phernandez in #1960
  • fix(integrations): make the OpenClaw plugin work on OpenClaw 2026.10 by @groksrc in #1966
  • chore(ci): run coverage over the same four suites as just test by @phernandez in #1969
  • docs(mcp): describe bm_agent run on nothing, a note, or a folder by @phernandez in #1970
  • fix(sync): keep watching when one project directory is missing by @phernandez in #1971
  • fix(core): make "a AND NOT b" search work on SQLite by @phernandez in #1972
  • fix(mcp): tidy tool messages found in the 1.0 live test by @phernandez in #1974
  • docs(core): changelog for v1.0.0 by @phernandez in #1977
  • chore(core): release v1.0.0 by @phernandez in #1978

New Contributors

Full Changelog: v0.24.1...v1.0.0

Don't miss a new basic-memory release

NewReleases is sending notifications on new releases.