|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
| 5 | +## v0.19.0 (2026-03-07) |
| 6 | + |
| 7 | +### Highlights |
| 8 | + |
| 9 | +- **Semantic vector search** for SQLite and Postgres with FastEmbed embeddings |
| 10 | +- **Schema system** for validating and inferring knowledge base structure |
| 11 | +- **Per-project cloud routing** with API key authentication |
| 12 | +- **Upgraded to FastMCP 3.0** with tool annotations |
| 13 | +- **CLI overhaul** with JSON output, workspace awareness, and project dashboard |
| 14 | + |
5 | 15 | ### Features |
6 | 16 |
|
| 17 | +- **#550**: Add semantic vector search for SQLite and Postgres |
| 18 | + - FastEmbed-based embeddings with automatic backfill |
| 19 | + - Hybrid search combining full-text and vector similarity |
| 20 | + - Score-based fusion replacing RRF for better ranking |
| 21 | + - `min_similarity` override for tuning search precision |
| 22 | + - Semantic dependencies are now default, with optional extras fallback |
| 23 | + |
| 24 | +- **#549**: Schema system for Basic Memory |
| 25 | + - `schema_infer` — infer schema from existing notes |
| 26 | + - `schema_validate` — validate notes against a schema definition |
| 27 | + - `schema_diff` — compare schemas across projects |
| 28 | + - Frontmatter validation support (#597) |
| 29 | + - Read schema definitions from file instead of stale DB metadata (#635) |
| 30 | + |
| 31 | +- **#555**: Per-project local/cloud routing with API key auth |
| 32 | + - Individual projects route through cloud while others stay local |
| 33 | + - `basic-memory cloud set-key` and `basic-memory project set-cloud/set-local` |
| 34 | + - Stdio MCP honors per-project cloud routing (#590) |
| 35 | + |
| 36 | +- **#598**: Upgrade FastMCP 2.12.3 to 3.0.1 with tool annotations |
| 37 | + |
| 38 | +- **#585**: Add JSON output mode for MCP tools (default text) |
| 39 | + - `--json` output for CLI commands for scripting and CI |
| 40 | + |
| 41 | +- **#576**: Add workspace selection flow for MCP and CLI |
| 42 | + - Workspace-aware cloud project listing |
| 43 | + - CLI refactoring for workspace support |
| 44 | + |
| 45 | +- **#544**: Project-prefixed permalinks and memory URL routing |
| 46 | + |
| 47 | +- **#632**: Add overwrite guard to `write_note` tool |
| 48 | + |
| 49 | +- **#614**: `edit_note` append/prepend auto-creates note if not found |
| 50 | + |
| 51 | +- **#609**: Richer content context in search results |
| 52 | + - Return matched chunk text in search results (#601) |
| 53 | + - Improved content hit rate |
| 54 | + |
| 55 | +- **#602**: Add `created_by` and `last_updated_by` user tracking to Entity |
| 56 | + |
| 57 | +- **#600**: Rename `entity_type` to `note_type` across codebase |
| 58 | + |
| 59 | +- **#574**: Add `display_name` and `is_private` to ProjectItem |
| 60 | + |
| 61 | +- **#569**: Expose `external_id` in EntityResponse and link resolver |
| 62 | + |
| 63 | +- **#567**: Isolate default SQLite DB by config dir |
| 64 | + |
| 65 | +- **#560**: Enable `default_project_mode` by default |
| 66 | + |
| 67 | +- **#559**: Add `basic-memory watch` CLI command |
| 68 | + |
| 69 | +- **#546**: Add cloud discovery touchpoints to CLI and MCP |
| 70 | + |
| 71 | +- **#572**: CLI analytics via Umami event collector |
| 72 | + |
| 73 | +- Replace project info with htop-inspired dashboard |
| 74 | + |
| 75 | +- Merge `search_by_metadata` into `search_notes` with optional query |
| 76 | + |
7 | 77 | - Add `--strip-frontmatter` to `basic-memory tool read-note` |
8 | | - - Default behavior is unchanged: `content` still includes raw markdown with frontmatter. |
9 | | - - With `--strip-frontmatter`, both text and JSON modes return body-only markdown content. |
10 | | - - JSON output now includes an additive `frontmatter` field with parsed YAML metadata (or `null` |
11 | | - when no valid opening frontmatter block exists). |
| 78 | + |
| 79 | +- Add `destination_folder` parameter to `move_note` tool |
| 80 | + |
| 81 | +### Bug Fixes |
| 82 | + |
| 83 | +- **#644**: Fix default project resolution in cloud mode |
| 84 | + - ChatGPT search/fetch tools broken in cloud mode |
| 85 | + - `resolve_project_parameter` falls back to projects API |
| 86 | + |
| 87 | +- **#638**: Restore API backward compatibility for v0.18.x clients |
| 88 | + |
| 89 | +- **#637**: Create backup before config migration overwrites old format |
| 90 | + |
| 91 | +- **#636**: `list_workspaces` bypasses factory pattern on cloud MCP server |
| 92 | + |
| 93 | +- **#631**: `build_context` related_results schema validation failure |
| 94 | + |
| 95 | +- **#613**: Reduce excessive log volume by demoting per-request noise to DEBUG |
| 96 | + |
| 97 | +- **#612**: Handle quoted picoschema enum strings in YAML frontmatter |
| 98 | + |
| 99 | +- **#607**: Guard against closed streams in promo and missing vector tables |
| 100 | + |
| 101 | +- **#606**: Accept null for `expected_replacements` in `edit_note` |
| 102 | + |
| 103 | +- **#595**: `recent_activity` dedup and pagination across MCP tools |
| 104 | + |
| 105 | +- **#593**: Backend-specific distance-to-similarity conversion |
| 106 | + |
| 107 | +- **#582**: Use LinkResolver fallback in `build_context` for flexible identifier matching |
| 108 | + |
| 109 | +- **#577**: Replace RRF with score-based fusion in hybrid search |
| 110 | + |
| 111 | +- **#575**: Remove hardcoded "main" default from `default_project` |
| 112 | + |
| 113 | +- **#534**: Speed up `bm --version` startup |
| 114 | + |
| 115 | +- Fix semantic embeddings not generated on fresh DB or upgrade |
| 116 | + |
| 117 | +- Clarify `search_notes` parameter naming and fix `note_types` case sensitivity |
| 118 | + |
| 119 | +- Parse `tag:` prefix at MCP tool level to avoid hybrid search failure |
| 120 | + |
| 121 | +- Cap sqlite-vec knn k parameter at 4096 limit |
| 122 | + |
| 123 | +- Parameterize SQL queries in search repository type filters |
| 124 | + |
| 125 | +- Coerce list frontmatter values to strings for title and type fields |
| 126 | + |
| 127 | +- Avoid `Post(**metadata)` crash when frontmatter contains 'content' or 'handler' keys |
| 128 | + |
| 129 | +- Upgrade cryptography and python-multipart for security advisories |
| 130 | + |
| 131 | +### Internal |
| 132 | + |
| 133 | +- **#594**: Add `ty` as supplemental type checker |
| 134 | +- Batched vector sync orchestration across repositories |
| 135 | +- FastEmbed parallel guardrails and provider caching |
| 136 | +- Improved cloud CLI status and error messages |
| 137 | +- CI coverage and Postgres test fixes |
12 | 138 |
|
13 | 139 | ## v0.18.5 (2026-02-13) |
14 | 140 |
|
|
0 commit comments