@@ -7,6 +7,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 0.56.0] - 2026-02-23
11+
12+ ### Removed
13+
14+ - ** Embedded Dolt mode** — beads now requires a running Dolt SQL server. The embedded Dolt driver (` dolthub/driver ` ) and all CGO build-tag bifurcation have been removed. Binary size drops from 168MB to ~ 41MB. Use ` bd dolt start ` or ` dolt sql-server ` to run the server.
15+ - ** SQLite ephemeral store** — ephemeral issues (wisps) now live in Dolt-backed ` wisps ` table with ` dolt_ignore ` , replacing the separate SQLite database. Run ` bd migrate wisps ` to migrate existing data.
16+ - ** JSONL sync pipeline** — the entire JSONL-based sync system (` bd sync ` , git-portable mode, belt-and-suspenders mode) has been removed. Dolt-native push/pull via git remotes is the only sync mechanism. ` bd sync ` is now a deprecated no-op.
17+ - ** JSONL bootstrap** — clone initialization uses Dolt clone only; JSONL bootstrap path removed.
18+ - ** JSONL plumbing** — cross-rig JSONL flush, JSONL recovery in doctor, and JSONL-based restore have been removed.
19+
20+ ### Added
21+
22+ - ** Metadata query support** — ` bd list ` , ` bd search ` , and ` bd query ` now support ` --metadata-field key=value ` and ` has_metadata_key ` filters (#1908 )
23+ - ** Metadata visibility** — ` bd show ` and ` bd list --long ` display metadata in human-readable format (#1905 )
24+ - ** Wisps table** — ephemeral issues stored in dedicated Dolt-backed table with ` dolt_ignore ` for compaction-friendly lifecycle
25+ - ** ` bd migrate wisps ` ** — migration command for SQLite-to-Dolt ephemeral data
26+ - ** Batch auto-commit mode** — reduces Dolt commit bloat by batching writes with SIGTERM/SIGHUP flush
27+ - ** ` --agents-template ` flag** — ` bd init ` now supports named AGENTS.md templates via ` embed.FS `
28+ - ** Mux setup recipe** — ` bd setup mux ` with layered AGENTS.md and managed hooks
29+ - ** Standalone formula execution** — ` bd mol wisp ` supports expansion formulas (#1903 )
30+ - ** Sentinel errors** — ` ErrNotFound ` , ` ErrNotInitialized ` , ` ErrPrefixMismatch ` for cleaner error handling
31+ - ** ` --skip-prefix-validation ` ** — ` bd import ` flag for legacy data migration
32+ - ** Protocol invariant test suite** — data integrity and blocking semantics regression tests (#1910 )
33+ - ** OpenTelemetry instrumentation** — opt-in OTLP tracing for hooks and storage operations (#1940 )
34+ - ** Transaction infrastructure** — ` RunInTransaction ` with commit messages, isolation, retry, and batch wrapping for Dolt concurrency
35+
36+ ### Fixed
37+
38+ - ** ` bd ready ` ordering** — respect SortPolicy and preserve result ordering (#1883 )
39+ - ** ` waits-for ` readiness** — ` bd ready ` and molecule analysis now correctly handle ` waits-for ` dependencies (#1900 )
40+ - ** Dependency tree parent ID** — populate ParentID in tree output and show [ BLOCKED] for root (#1992 )
41+ - ** Parent-child display** — ` bd list ` now separates parent-child deps from blocking deps (#1948 )
42+ - ** Hook shim templates** — use ` bd hooks run ` instead of nonexistent ` bd hook ` command
43+ - ** Cross-expansion dependencies** — ` bd mol cook ` propagates deps across formula expansions (#1901 )
44+ - ** Wisp auto-close** — wisp root automatically closes after squash (#1898 )
45+ - ** Dolt server writes** — commit via ` execContext ` when server runs with ` --no-auto-commit `
46+ - ** Metadata normalization** — normalize metadata and waiters in ` UpdateIssue `
47+ - ** Batch import** — persist labels, comments, and deps during import
48+ - ** Noms LOCK detection** — use ` flock ` probe instead of file existence (#1960 )
49+ - ** Doctor backend awareness** — deep validation checks configured backend, not directory presence
50+ - ** Doctor federation** — use configured database name in federation and health checks (#1904 , #1924 , #1925 )
51+ - ** Doctor orphan deps** — exclude ` external: ` deps from orphan check (#1593 )
52+ - ** Jira sync** — use correct API v3 ` /search/jql ` endpoint (#1953 )
53+ - ** Plugin dep order** — correct inverted ` bd dep add ` argument order in plugin docs (#1928 )
54+ - ** Wisp routing** — fix multiple ephemeral store routing gaps for create, read, promote, and gc
55+ - ** Prime output** — remove stale ` --from-main ` flag reference
56+ - ** ` bd list ` resolved blockers** — treat missing/unreachable blockers as resolved (#1884 )
57+ - ** Wisp search parity** — add ~ 15 missing filter fields to ` searchWisps `
58+ - ** Wisp label hydration** — hydrate labels in ` getWispsByIDs ` for search results
59+ - ** Query nil guard** — prevent panic in ` GetBlockedIssues ` and ` GetEpicsEligibleForClosure `
60+ - ** Issue prefix clobber** — guard ` SetConfig ` to prevent overwrite when rigs share a Dolt database
61+ - ** Atomic bond/squash** — ` bd mol bond ` , ` bd mol squash ` , and ` bd mol cook ` now run in single transactions (bd-wvplu, bd-4kgbq)
62+ - ** ` bd ready ` parent filter** — pass ` --parent ` filter to ` GetReadyWork ` /` GetBlockedIssues ` and propagate blocked status to children (#2009 , #1495 )
63+ - ** ` bd list ` sort/limit** — ` --limit ` now applies after ` --sort ` ; trim whitespace in ` bd edit ` (#1237 , #1234 )
64+ - ** Doctor lock false positive** — use ` flock ` probe for noms LOCK, remove stale ` bd sync ` references (#1981 , #2007 )
65+ - ** Repo sync consistency** — cross-prefix hydration and close guard consistency (#1945 , #1524 )
66+ - ** DOLT_COMMIT in CRUD** — all write operations now produce Dolt commits for history tracking
67+ - ** Double JSON encoding** — fix daemon-mode RPC response unmarshaling across show, dep, label, reopen (bd-4ec8)
68+ - ** G304 gosec finding** — annotate ` os.ReadFile ` in tips.go with ` #nosec ` for constructed paths (bd-8g8)
69+ - ** Stale daemon references** — remove obsolete ` bd daemon ` references from all documentation (#1982 )
70+
71+ ### Performance
72+
73+ - ** Binary size** — 168MB → ~ 41MB (dropped ` dolthub/driver ` and wazero WASM runtime)
74+ - ** Linux/Windows startup** — eliminated 2-second wazero JIT compilation penalty on every invocation
75+ - ** Test suite** — doctor tests 89s → 28s; shared DB pattern across cmd/bd suites
76+ - ** Test isolation** — dolt package and cmd/bd tests now isolated from production Dolt server (bd-2lf6)
77+ - ** N+1 queries** — batch dependency/label/comment queries with per-invocation caching (#1874 )
78+
1079## [ 0.55.4] - 2026-02-20
1180
1281### Fixed
0 commit comments