|
1 | 1 | # CHANGELOG |
2 | 2 |
|
| 3 | +## v0.22.0 (2026-06-11) |
| 4 | + |
| 5 | +Team-safe cloud sync. New additive `bm cloud push` and `bm cloud pull` |
| 6 | +commands work safely on shared Team workspaces, while the destructive mirror |
| 7 | +commands are gated to Personal workspaces. Also: a large batch of MCP tool |
| 8 | +fixes, search improvements, and embedding reliability work. |
| 9 | + |
| 10 | +### Features |
| 11 | + |
| 12 | +- **#917**: Added Team-safe `bm cloud push` / `bm cloud pull`. Both are |
| 13 | + additive (they never delete on the destination) and abort on conflicts by |
| 14 | + default, git-style, with `--on-conflict {fail|keep-local|keep-cloud|keep-both}`. |
| 15 | + The destructive `bm cloud sync` / `bm cloud bisync` mirrors are now gated |
| 16 | + to Personal workspaces. |
| 17 | +- **#920**: Team push/pull uses per-workspace rclone remotes, so remotes and |
| 18 | + credentials stay scoped to each workspace. |
| 19 | +- **#908**: Search supports an observation category filter. |
| 20 | +- **#809**: Added an experimental LiteLLM embedding provider for semantic |
| 21 | + search (marked experimental, see **#899**). |
| 22 | +- **#907**: `bm tool write-note` accepts `--type`. |
| 23 | +- **#906**: `bm status` accepts `--wait` and `--timeout`. |
| 24 | +- Added the `bm tool delete-note` command. |
| 25 | +- **#905**: Improved workspace and cloud bisync command discoverability. |
| 26 | + |
| 27 | +### Bug Fixes |
| 28 | + |
| 29 | +- **#931 / #946**: Truncated observation permalinks are disambiguated to |
| 30 | + prevent search-index collisions, and `build_context` resolves observations |
| 31 | + by the same permalink the search index uses (**#909**, **#929**). |
| 32 | +- **#934**: `edit_note` recovers when the file exists on disk but is not yet |
| 33 | + indexed (**#581**). |
| 34 | +- **#911 / #932 / #941**: Comma-separated tags are split consistently in |
| 35 | + `parse_tags` and the `search_notes` tags parameter, with input normalized |
| 36 | + for direct callers (**#910**). |
| 37 | +- **#933**: `read_note` accepts `page`/`page_size` for parity with sibling |
| 38 | + tools (**#883**). |
| 39 | +- **#914 / #904 / #916**: `move_note` resolves `memory://` URLs, stops |
| 40 | + falsely rejecting same-project moves as cross-project, no longer reports |
| 41 | + false success across project boundaries, and mismatch guidance points at |
| 42 | + the landing path. |
| 43 | +- **#915**: Navigation pagination is validated, and `recent_activity` shows |
| 44 | + the correct project. |
| 45 | +- **#913**: `bm tool` commands align with MCP behavior (error exit codes, |
| 46 | + overwrite handling, category support, defaults). |
| 47 | +- **#923**: `bm cloud setup` no longer overwrites an existing rclone remote |
| 48 | + (**#922**). |
| 49 | +- **#912**: The `note_types` search filter is case-insensitive. |
| 50 | +- `build_context` allows cross-project context traversal, `write_note` |
| 51 | + resolves overwrite conflicts, and sync uses strict deferred relation |
| 52 | + resolution. |
| 53 | +- Embedding reliability: FastEmbed vectors are L2-normalized (**#843**), |
| 54 | + corrupt FastEmbed model caches self-heal (**#900**), a single embedding |
| 55 | + provider is reused per process (**#903**), `sqlite-vec` loads for the |
| 56 | + embedding-status query (**#901**), and engine disposal no longer crashes |
| 57 | + on the Postgres backend (**#902**). |
| 58 | + |
| 59 | +### Maintenance |
| 60 | + |
| 61 | +- Leaner, faster CI: testmon-selected branch builds, sharded Postgres jobs, |
| 62 | + and faster default test fixtures (**#928**, **#938**, **#945**). |
| 63 | +- Documented personal-vs-team cloud sync semantics (**#947**, closes |
| 64 | + **#851**). |
| 65 | +- Fixed npx skill install docs (**#927**). |
| 66 | +- Added `glama.json` to claim the Glama MCP directory listing (**#953**). |
| 67 | + |
3 | 68 | ## v0.21.6 (2026-06-04) |
4 | 69 |
|
5 | 70 | Monorepo consolidation plus a redesigned Claude Code plugin. The satellite |
|
0 commit comments