v0.19.0
Basic Memory is a knowledge base that you and your AI share — notes you write in one conversation are available in the next. v0.19.0 is a major release that makes your notes more consistent, your searches smarter, and your projects more flexible.
Schema System
Knowledge bases grow organically, and over time note structure drifts — some person notes have a name, others don't, and link styles vary. The new schema system gives you a way to keep your notes consistent.
The workflow is conversational — just ask your AI assistant:
You: "I've been writing a lot of person notes. Can you figure out
what they have in common and create a schema?"
AI: [Analyzes your person notes, creates a schema]
Done! I created a Person schema based on your 45 person notes.
"name" is required, "role" and "works_at" are optional.
You: "How do my existing notes look against that?"
AI: [Validates all person notes]
42 of 45 pass. Three are missing the name.
Want me to fix those?
The schema itself is just a regular note — your AI creates and manages it for you. You don't need to write any special syntax.
See the full Schema System guide for details and examples.
Semantic Search
Basic Memory now includes semantic search by default — it understands what you mean, not just what you type. Search for "login security improvements" and find notes about "authentication hardening" even though the exact words don't match.
You: "Find my notes about login security"
AI: [Finds notes about "authentication hardening" even though the words don't match]
I found 3 relevant notes:
- Authentication Hardening Plan
- Login Flow Security Review
- OAuth Token Best Practices
Three search modes are available:
- Hybrid (default) — Combines keyword matching with meaning-based search. Best for everyday use.
- Text — Keyword-only search. Best when you know the exact terms you're looking for.
- Vector — Pure meaning-based search. Best for exploring ideas when you aren't sure what words were used.
Semantic search works automatically — there's nothing to set up. On first startup, Basic Memory generates the search index for your existing notes.
See the full Semantic Search guide for configuration and how it works under the hood.
Metadata Search
You can now search your notes by their frontmatter properties — like status, tags, or any custom fields you've added — without needing to remember exact words.
You: "Show me all my in-progress notes"
AI: [Searches by status field and returns matching notes]
You: "Find notes tagged security and oauth"
AI: [Searches by tags and returns matching notes]
You can also combine property searches with regular text searches, like "find my high-priority notes about authentication."
Tag Search
Search notes by tag using simple shorthand:
You: "Search for tag:security"
You: "Search for tag:coffee AND tag:brewing"
Per-Project Local/Cloud Routing
You can now mix local and cloud projects. Keep some projects on your computer and route others through Basic Memory Cloud — or use both together.
# Save or create a cloud API key
bm cloud api-key save bmc_...
bm cloud api-key create "my-laptop"
# Route a specific project through cloud
bm project set-cloud research
# Revert to local
bm project set-local research
Three levels of control:
- Global —
bm cloud loginsends all commands to cloud by default - Per-project —
bm project set-cloud/set-localoverrides for specific projects - Per-command —
--local/--cloudflags provide one-off overrides
See Local & Cloud Routing for the full guide, including hybrid setups and common configurations.
Project-Prefixed Permalinks
When you have multiple projects, note links now include the project name so there's no ambiguity:
memory://main/docs/authentication
memory://research/specs/search-ranking
This happens automatically — existing links without a project name still work fine.
Write Protection
Your notes are now protected from accidental overwriting. If a note already exists, your AI will let you know instead of silently replacing it.
- To explicitly replace an existing note, the AI passes
overwrite=True - For small changes to existing notes, use
edit_noteinstead - If you prefer the old behavior, you can restore it in your configuration
Smarter Note Editing
edit_note gains two new operations: insert_before_section and insert_after_section. These let your AI insert content relative to a section heading without replacing what's already there.
For example, if your AI needs to add a new section before "## Relations" or append context after "## Observations," these operations handle it cleanly — preserving existing content and maintaining proper spacing.
The full set of edit_note operations is now: append, prepend, find_replace, replace_section, insert_before_section, and insert_after_section.
JSON Output Mode
All tools now support a structured JSON output format for developers building integrations or pipelines. The default human-readable text output is unchanged.
See the MCP Tools Reference for details.
Richer Note Metadata
When creating notes, your AI can now set the note type and add custom properties automatically. For example:
You: "Write up a note about today's sprint planning meeting"
AI: [Creates a meeting note with type, sprint number, team, and status
all set in the metadata — ready for searching and filtering later]
The note type helps schemas and search work better, and custom properties make it easy to find notes later by filtering on fields like status, team, or sprint.
Dashboard (bm project info)
The bm project info command now shows a visual dashboard with your project stats at a glance — note types, search index health, and embedding coverage.
╭────────────────────────────────────── specs ──────────────────────────────────────╮
│ Knowledge Graph Embeddings │
│ Entities 110 ● Semantic Search Enabled │
│ Observations 585 Provider fastembed │
│ Relations 319 Model bge-small-en-v1.5 │
│ Unresolved 131 Indexed │
│ Isolated 27 █████░░░░░░░░░░░░░░░ │
│ 26/110 │
│ Chunks 4085 │
│ ● Status Reindex recommended │
│ Reason 260 orphaned chunks found │
│ (interrupted indexing) — run: │
│ bm reindex --embeddings │
│ │
│ Note Types │
│ note ████████████████████████████████████████ 72 │
│ spec ███████████████████░░░░░░░░░░░░░░░░░░░░░ 35 │
│ file █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2 │
│ tasklist █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1 │
│ │
│ │
│ /specs default: main 2026-03-02 05:14 │
╰─────────────────────────────── Basic Memory 0.00.0 ───────────────────────────────╯
Note User Tracking
Notes now track created_by and last_updated_by fields for attribution, so you can see whether a note was created by a human or an AI assistant.
--json CLI Flags
Five additional CLI commands now support --json for structured output, making all major commands scriptable for automation and CI pipelines.
Documentation
- New: Schema System — Complete guide to defining, validating, and evolving schemas
- New: Semantic Search — Search modes, configuration, and how it works
- Updated: MCP Tools Reference — Full parameter tables for all tools
- Updated: CLI Reference — Expanded schema, watch, and reindex commands
- Updated: Configuration — New settings for formatter, database, and sync
- Updated: AI Assistant Guide — Schema-guided workflows and semantic search
For commit-level release history, see Changelog.

