Releases: gastownhall/beads
v1.0.0
beads v1.0.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 5e60961 feat(init): add --non-interactive and --role flags for CI/cloud agents
- 29531d2 feat: GitLab sync — dedup fixes, type filtering, epic→milestone mapping, work item hierarchy (#2889)
- 7806fbf feat: add --non-interactive flag to bd bootstrap for CI (#2942)
- 677f7bc feat: add SlotSet/SlotGet/SlotClear to Storage interface (#2870)
- c46be6e feat: add bd config set-many for batch config operations (#2943)
- 4d88e4a feat: add public format package for issue rendering (#2871)
- 08ee138 feat: add spike, story, and milestone as first-class issue types (#2923)
- 9b90ada feat: export WispFilter type from root package (#2868)
- 8537d94 feat: migrate custom statuses and types to normalized tables (#2961)
- 73409d5 feat: move hook firing into storage layer via decorator (#2891)
- dc39fdc feat: support batch dep list for multiple issue IDs (#2875)
- bf4025b feat: support comma-separated status values in bd list --status (GH#2846) (#2929)
Bug Fixes
- d56bf01 fix(ado): apply --types/--states/--no-create filters to push operations (#2944)
- 9e34b07 fix(ado): create work items in initial state then transition to target
- 20b39b3 fix(deps): migrate from lipgloss v1 to charm.land/lipgloss/v2
- dc398f5 fix(deps): update github.com/yuin/goldmark to v1.8.2
- 30cb4a5 fix(deps): update module github.com/cenkalti/backoff/v4 to v5 (#2857)
- 933253e fix(dolt): add recovery guidance for diverged history errors (#2941)
- ead8d09 fix(gitlab): resolve hardcoded work item type ID and O(n) milestone scan
- a44d4f9 fix(init): replace 'bd onboard' references with 'bd prime' in AGENTS.md (#2902)
- 41001f7 fix(install): redirect log functions to stderr to fix WSL platform detection
- 5e751f8 fix(lint): suppress gosec G122 false positive in noms LOCK cleanup
- 999f875 fix(test): remove tautological TestRoleFlagValidation
- 59b49c4 fix: add missing //go:build cgo tags to embedded test files and cmd
- 8725226 fix: add missing created_at index on wisp_events (GH#2760) (#2877)
- 1f4863b fix: add whitespace trimming to env var parsing in IsAutoStartDisabled (#2955)
- 2cd88e9 fix: address PR review feedback
- 63c7a26 fix: adopt existing project_id when init --database targets shared server (#2925)
- 685cb84 fix: bd bootstrap detects remote data in fresh clones (GH#2792)
- bbc8128 fix: bump currentSchemaVersion to 11 for custom_statuses/custom_types tables
- dbdc955 fix: clean stale noms LOCK files after bootstrap clone (bd-cmo)
- dfa54aa fix: configure link checker root dir for docusaurus deploy
- a2fc789 fix: make --yes/-y the primary flag in bd bootstrap, --non-interactive as alias
- 223895b fix: make bd setup claude project-local by default and auto-setup in bd init (#2935) (#2972)
- 0a1be38 fix: pass parent env vars to dolt-sql-server child process
- 4e4d958 fix: prefer bootstrap for missing database recovery (#2940)
- 2a71d7f fix: preserve spaces in embedded Dolt paths
- 543e194 fix: prevent concurrent embedded Dolt panic with exclusive flock (#2571)
- 33cab03 fix: recognize ado:NNNNN shorthand in IsExternalRef and ExtractIdentifier (#2966)
- 37382b0 fix: remove bogus //nolint:gosec G122 directive (rule does not exist)
- 870cb83 fix: remove dead rig routing code and unused variable after rebase
- ba46bd5 fix: repair nightly test failures for TestInitCancel_E2E and dolt autostart (#2969)
- ae77bd4 fix: replace fragile string matching with typed APIError for HTTP status checks
- 163c27b fix: set ADO Severity field for Bug work items during sync
- 29bef78 fix: show blocked icon for dependency-blocked issues in bd list (#2858) (#2878)
- 265de3c fix: skip E2E test that requires Dolt server in embedded mode (#2888)
- a097723 fix: suppress auto-backup address conflict warning (#2927)
- baa9d02 fix: treat --shared-server as server mode for DoltMode (#2947)
- 9d9d0e5 fix: unwrap HookFiringStore decorator before optional interface type assertions (#2937)
- c174416 fix: update goreleaser owner to gastownhall (repo moved from steveyegge)
- 36e063d fix: update workflow gates from steveyegge/beads to gastownhall/beads (#2936)
- 299b5f6 fix: use ResolveCustomTypesInTx in create path to honor YAML custom types (GH#2793) (#2930)
- 8cd2476 fix: use proper RFC3339 timezone in WIQL date formatting (bd-wz8)
- 9f3b813 fix: use strconv.ParseBool for env var parsing in IsAutoStartDisabled (#2956)
- ca67253 fix: validate graph plan node types against custom types (#2874)
Others
- 15f9696 /cmd/bd/doctor: formatting
- d326a27 /{.github,.goreleaser}: enable embedded by default on mac (#2971)
- 44c764e /{cmd,docs,internal}: more cleanup
- f1bf098 /{cmd,docs,internal}: remove file removal that can cause data corruption
- 4191643 Add --explain flag to bd ready for dependency-aware reasoning
- 5d524cf Add Integration Charter: define scope boundary for tracker integrations
- 6863ca7 Add
bd rules auditandbd rules compactcommands (#2810) - bbd6c41 Add claude-workspace-snapshot to Claude Code Orchestration
- 7e4da9a Add credentials file support for Dolt server passwords (#2854)
- 2efa094 Add integration test coverage for partial failures, warnings, and self-deps
- c5e033f Add pagination guards to Linear and context checks to Jira client
- 9d7882c Add release stability gate for upgrade safety (GH#2951) (#2963)
- 00b78da Add retry logic to Jira client and jitter to all tracker HTTP clients
- 047e506 Enforce .beads/ directory permissions at runtime
- 0383ad7 Enforce graph integrity: extend cycle detection and add bd graph check
- ac4ee4a Expand SECURITY.md with tracker integration trust model
- 5708a36 Fix ADO Init tests leaking environment variables
- ca1ae15 Fix init leaving beads.role unset in edge cases (GH#2950) (#2964)
- 5588033 Improve compaction dry-run and analyze output with per-issue details
- 917c5f6 Improve quickstart docs with Why Beads section and --explain examples
- 733b8fa Sanitize external tracker content for terminal display and add response size limits
- 8d41e70 Surface sync engine warnings in SyncResult and fix silent failure paths
- dbcc2db [codex] Fix installer ICU/CGO fallback handling (#2965)
- d15b448 chore(deps): bump charm.land/lipgloss/v2 from 2.0.1 to 2.0.2 (#2919)
- d02f1f9 chore(deps): bump fastmcp from 3.1.1 to 3.2.0 in /integrations/beads-mcp (#2918)
- 7217026 ci: fix macOS smoke test temp dir with dots in name
- edb6f58 ci: retrigger after flaky Dolt lock contention in TestEmbeddedInit
- ad53f30 cmd/bd: honor explicit repo selection for no-db commands (#2844)
- 73f786f github,ado: fix Retry-After jitter in retry loops
- 82c2890 jira: add MaxPages pagi...
v0.63.3
beads v0.63.3
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Bug Fixes
v0.62.0
beads v0.62.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 6724965 Merge PR #2638: feat: add --format json alias for --json flag
- 39ab50d feat(ado): add Azure DevOps work item tracker package
- 9f5741f feat(ado): add bd ado CLI commands (sync, status, projects)
- 9a8aa55 feat(embeddeddolt): add embedded Dolt support for dep, duplicate, epic, graph, supersede, swarm (fix-merge PR #2734)
- a44ecef feat(init): default AGENTS.md to minimal profile, add --agents-profile flag
- 5f2d433 feat: add 'bd note' command as shorthand for appending notes
- affb314 feat: add --exclude-type flag to bd ready and bd list
- d6e5a5f feat: add --format json alias for --json flag
- faa69f9 feat: audit log captures close reason; add v0.62.0 changelog and version notes
- a44e01e feat: audit log status changes to interactions.jsonl (bd-42f)
- 9b2c012 feat: custom status categories (active/wip/done/frozen)
- fab29b0 feat: expose issue_type filter on MCP ready tool (PR #2660)
- a22af2d feat: include memories in export/import round-trip
- 0fe9c03 feat: surface quality/lifecycle commands in prime, template, and doctor (fix-merge PR #2664)
Bug Fixes
- 679d7bf Merge PR #2651: fix: use go run for golangci-lint in pre-commit hook
- ae28719 fix(ci): add write permissions to update-flake-lock workflow (PR #2642)
- c847353 fix(cli): keep repo .beads config when dolt_data_dir escapes
- e566d3a fix(config): route config unset to correct store (GH#2727)
- 4a5cb16 fix(deps): update dolthub/driver v0.2.1 to v1.83.8 (fix-merge PR #2720)
- e6ee4f9 fix(deps): update github.com/anthropics/anthropic-sdk-go to v1.27.1 (PR #2705)
- 51d41e2 fix(deps): update github.com/dolthub/driver digest to 1f97424 (PR #2650)
- 164cea7 fix(doctor): add dolt-server.activity to gitignore, prioritize gitignore fixes (GH#2723)
- c3ee79e fix(doctor): fail closed for server-mode integrity recovery
- e2f9f51 fix(dolt): bump schema version to 8 and commit version update (PR #2635)
- 87c8985 fix(dolt): keep repo-local auto-started servers alive across commands
- 60dd444 fix(dolt): verify dolt_status is clean after schema upgrade (GH#2634)
- 71a0360 fix(hooks): increase shim timeout from 30s to 300s for chained hooks (GH#2732)
- ec18969 fix(init): add .beads-credential-key to project-root .gitignore (GH#2695)
- 8225a14 fix(init): add TTL to circuit breaker state and clean stale files during init
- 0423e25 fix(mol): add cycle detection to bond traversal to prevent OOM (GH#2719)
- f8152a1 fix(update): require explicit opt-in for empty stdin/file DESCRIPTION rewrites
- 63432ac fix: --validate checks --acceptance field, add validation.on-close config (PR #2654)
- 468c863 fix: Windows Dolt server lifecycle — stale state files and false auto-stop warning (GH#2670)
- ecf15d9 fix: add .beads-credential-key to .gitignore template (PR #2681)
- f535a18 fix: add no_history column to embedded Dolt base schemas (PR #2632)
- 5b9e65d fix: add retry loop for Windows binary existence check after zip extraction (fix-merge PR #2753)
- e650b1f fix: add warnings for silent database name fallback in main command path
- e67a574 fix: bootstrap imports from git-tracked .beads/issues.jsonl
- fabda03 fix: check BEADS_DOLT_SERVER_DATABASE env var in applyConfigDefaults
- 2846af3 fix: correct bd human help text for adding comments (fix-merge PR #2752)
- 0e13cb5 fix: correct version ordering in versionChanges (PR #2633)
- 2aff244 fix: don't kill externally-managed dolt servers (GH#2641)
- d56d290 fix: drop id from ORDER BY in GetAllEventsSince UNION ALL query (PR #2691)
- f20b3d0 fix: load .beads/.env before noDbCommands early return
- 93bfd45 fix: load .beads/.env before noDbCommands early return (GH#2677)
- fe1c9d5 fix: make KillStaleServers respect server ownership
- b70f740 fix: mark unused cfg param in checkProjectIdentityNoStore
- 2db73f8 fix: merge duplicate v0.60.0 changelog entries into single block
- b272e0b fix: pass repo path through fingerprint check to fix merge with main
- 76bfcd3 fix: preserve all hooks when overriding core.hooksPath, not just managed ones
- a153b13 fix: preserve pre-existing hooks when bd init sets core.hooksPath
- c75c2b5 fix: prevent doctor infinite Dolt server restart loop (GH#2636)
- a683dbc fix: prevent silent fallback to default "beads" database in openDoltDB
- 332f641 fix: remove duplicate TestCompactTier1_DryRun (PR #2631)
- 6468766 fix: remove hardcoded ~/gt/ paths from beads codebase (bd-h615)
- 059ee44 fix: remove unnecessary type conversions in find_duplicates.go
- cb98259 fix: remove unnecessary type conversions in find_duplicates.go
- f442c08 fix: remove unnecessary type conversions in find_duplicates.go
- b89f1b3 fix: remove unnecessary type conversions in find_duplicates.go
- e88379f fix: remove unnecessary type conversions in haiku.go
- 1142460 fix: remove unnecessary type conversions in haiku.go
- 32d4178 fix: remove unnecessary type conversions in haiku.go
- 95dfaf0 fix: remove unnecessary type conversions in haiku.go
- 43df89b fix: repair nightly integration test compilation failures
- dc180dd fix: replace broken SQL CAST in GetNextChildIDTx with Go-side parsing (GH#2721)
- bcfa8a7 fix: resolve --format json collision between rootCmd persistent flag and list/dep-tree local flags
- f73a9ca fix: serialize concurrent initSchemaOnDB with GET_LOCK to prevent journal corruption (#2672)
- 21fe42e fix: suppress gosec G304 for filepath.Glob-sourced path in circuit breaker cleanup
- c9d7730 fix: update test_stats fixture to match nested Stats model (PR #2659)
- 811d736 fix: use SHOW COLUMNS in uuid_primary_keys migration to avoid server-mode crash (fix-merge PR #2751)
- c4fbe1e fix: use SQL stored procedures for bd flatten/compact in server mode (bd-uty)
- 6d1777a fix: use go run for golangci-lint in pre-commit hook
Others
- 02c59bc /.github/workflows/ci.yml: skip build step
- 4523b77 /cmd/bd/count_embedded_test.go: count tests
- 778975c /cmd/bd/diff_embedded_test.go: diff tests
- 44a95b3 /cmd/bd/find_duplicates_embedded_test.go: test
- 70e7d9e /cmd/bd/gate_embedded_test.go: gate test
- 18136bc /cmd/bd/init_embedded_test.go: fix test
- 4b26c76 /cmd/bd/label_embedded_test.go: add label tests
- 5b9546c /cmd/bd/list_embedded_test.go: formatting
- 555f4b5 /cmd/bd/merge_slot_embedded_test.go: merge slot
- e7a4922 /cmd/bd/move_embedded_test.go: move slot
- 9273ddf /cmd/bd/promote_embedded_test.go: promote test
- 01c193e /cmd/bd/query_embedded_test.go: add query test
- 2163689 /cmd/bd/quick_embedded_test.go: quick test
- ed6551d /cmd/bd/search_embedded_test.go: search test
- 06be1de...
v0.61.0
beads v0.61.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- ad0417a Merge PR #2543: feat(dolt): CLI credential pass-through for server mode push/pull
- ef59bd0 Merge PR #2585: feat: auto-detect beads database on git origin during init/bootstrap
- 947d557 Merge PR #2594: feat: add --claim-next to close and --skills/--context to create
- 22ab742 Merge PR #2600: feat: prime SSOT tasks 8-12 — init upgrade, recipe cleanup, symlink safety, staleness detection
- ee4dc91 Merge PR #2600: feat: prime SSOT tasks 8-12 — init upgrade, recipe cleanup, symlink safety, staleness detection
- de5f0b9 Merge PR #2622: feat: add --no-history flag to separate Dolt commit skipping from GC eligibility
- 5689f48 feat(dolt): add CLI credential routing for federation PushTo/PullFrom/Fetch
- 02dc8c8 feat(dolt): add CLI credential routing for server mode push
- 1911d2d feat(dolt): extend CLI credential routing to ForcePush and Pull
- 6edd905 feat(setup): target CLAUDE.md and GEMINI.md for hooks integrations
- 7267cbb feat(setup): target CLAUDE.md and GEMINI.md for hooks integrations
- 93b8529 feat: Claude and Gemini setup install minimal AGENTS.md section (#2139, tasks 5-6)
- 6588c53 feat: Claude and Gemini setup install minimal AGENTS.md section (#2139, tasks 5-6)
- 1ce765e feat: UUID primary keys for federation-safe events
- ecad137 feat: add --claim-next to close and --skills/--context to create
- 869cc17 feat: add --no-history flag to bd create — skip Dolt commits without GC eligibility
- 6673026 feat: add --skip-agents flag and branchless/JJ docs (GH#1335)
- 04799bc feat: add bd import command for incremental JSONL import
- 4d14fb8 feat: auto-detect beads database on git origin during bootstrap
- 05142d0 feat: consolidate prime SSOT section replacement into canonical ReplaceSection (bd-jfe5)
- f79ba31 feat: explicit profile:full on all AGENTS.md integrations (#2139, task 4)
- d115e93 feat: explicit profile:full on all AGENTS.md integrations (#2139, task 4)
- 46816ee feat: prime SSOT tasks 1-3 — shared render API, template profiles, prefix-aware parser (#2139)
- f78b1b2 feat: prime SSOT tasks 1-3 — shared render API, template profiles, prefix-aware parser (#2139)
- a0720f2 feat: prime SSOT tasks 8-12 — init upgrade, recipe cleanup, symlink safety, staleness detection (#2139)
- 809bd43 feat: prime SSOT tasks 8-12 — init upgrade, recipe cleanup, symlink safety, staleness detection (#2139)
Bug Fixes
- 52c9dea Merge PR #2537: fix: respect BD_BACKUP_ENABLED=false to suppress backup commits (GH#2534)
- 91d98f3 Merge PR #2538: fix: bd doctor detects committed runtime/sensitive files (GH#2535)
- 259925c Merge PR #2564: fix(flake): Go 1.25.8 overlay + vendorHash for nix build and devShell
- 17ca46d Merge PR #2567: fix(embeddeddolt): implement more storage methods
- 4a1a7f9 Merge PR #2578: fix: formula extends merges child steps by ID instead of appending
- a39ee2b Merge PR #2578: fix: formula extends merges child steps by ID instead of appending
- 3d1f844 Merge PR #2579: fix(deps): update github.com/dolthub/driver digest to 0fe74e7
- 76b102c Merge PR #2582: fix: allow colons in unquoted query identifier values
- fcef544 Merge PR #2586: fix(doctor): auto-start Dolt on cold standalone checks
- 7017954 Merge PR #2591: fix: applyConfigDefaults uses full port resolution chain
- 62f310c Merge PR #2592: fix: read jira.pull_jql config during FetchIssues
- 393b082 Merge PR #2593: fix: scope KillStaleServers to repo own data directory
- c748838 Merge PR #2597: fix: complete UUID primary keys cleanup
- 82f6a81 Merge PR #2603: fix(deps): update dependency fastmcp to v3.1.1
- 549345f Merge PR #2604: fix: key circuit breaker on host:port instead of port only
- 3436b7c Merge PR #2607: fix(doctor): detect server-backed runtime for concurrency check
- b7ff054 Merge PR #2610: fix(backup): accept UUID comment and event IDs during restore
- 0601fff Merge PR #2616: fix(doctor): use target repo for fingerprint checks
- 66057e6 Merge PR #2618: fix: store credential key in .beads/ to avoid ghost dolt directories
- 81fcf44 fix(deps): update dependency fastmcp to v3.1.1
- 190e70f fix(deps): update github.com/dolthub/driver digest to 0fe74e7
- bc28d83 fix(doctor): auto-start Dolt on cold standalone checks
- ebff84d fix(doctor): detect server-backed runtime for concurrency check
- 65ed43f fix(doctor): honor bare-parent beads dir for gitignore repair (beads-9f74-q9o)
- 9f3603b fix(doctor): honor bare-parent fallback in dolt lock checks (beads-9f74-f5e)
- 94a5524 fix(doctor): use effective beads dir for shared-server checks (beads-9f74-385)
- 66079fd fix(flake): overlay Go 1.25.8 for devShell compatibility
- f320e3c fix(flake): override go_1_25 and fix vendorHash
- fd17ed1 fix(init): warn when server host defaults to localhost
- bb45595 fix: Commit() excludes config table to prevent issue_prefix corruption (GH#2455)
- e9bce23 fix: EnsureRunning skips Start() when explicit port indicates external server
- 2fea62f fix: accept UUID comment and event IDs during restore
- 273c377 fix: add timeout and prompt suppression to git ls-remote probe
- 4856644 fix: allow colons in unquoted query identifier values
- 1b7bb92 fix: applyConfigDefaults uses full port resolution chain
- a45961c fix: bd context reports actual runtime Dolt port instead of default 3307
- 350c050 fix: bd doctor detects committed runtime/sensitive files that should be gitignored (GH#2535)
- d3cf4e9 fix: bd init fails in directories starting with a dot
- 3024c09 fix: bd list ready rejects bare keyword with hint to use --ready (GH#2532) (#2536)
- 7bbd928 fix: clean stale noms LOCK files before opening embedded dolt store
- fca3d3c fix: complete UUID primary keys cleanup across codebase
- cba968e fix: detached commit worktree test fails when default branch is not main
- f286e39 fix: formula extends merges child steps by ID instead of appending
- c36b4ed fix: gofmt import.go and update stale embedded dolt from_jsonl test
- 97fb20b fix: handle BEADS_DB pointing to directory instead of file
- c5cb9f6 fix: handle BEADS_DB pointing to directory instead of file (#2549)
- 3158495 fix: key circuit breaker on host:port instead of port only (bd-ic2)
- 1bb721c fix: make --title, --title-contains, --desc-contains case-insensitive
- c51923d fix: merge user-level config under project config instead of ignoring it (GH#2375)
- 0827ccd fix: migrate server-root remotes to database dir on store open (GH#2118)
- b1b11d2 fix: port-0 circuit breaker poisoning prevention (fix-merge PR #2599)
- fb51196 fix: preserve source rig's dolt_database across .beads/redirect
- ef654a9 fix: prevent comment duplication on re-import
- 41de7e0 fix: read jira.pull_jql config during FetchIssues
- 4b2a3b8 fix: repair broken setupDetachedCommitBeadsWorktree test h...
v0.60.0
beads v0.60.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 43bca27 feat: JSON-aware error output + JSONL schema validation + contract tests (GH#2499)
- 71d7ae5 feat: add --design-file flag for reading design from files
- 12dc4e0 feat: add --destroy-token for safe non-interactive re-init (GH#2497)
- 9dc875a feat: add --list and --doc flags to bd help for CLI doc generation (GH#2527)
- 0cf8666 feat: add GitHub Issues integration (tracker plugin) (GH#2373)
- ac9ac70 feat: add bd context command and safe-first error guidance (fix-merge PR #2496)
- 0bb3bf2 feat: add workspace identity preflight and bd bootstrap command (GH#2438, GH#2372)
- efd7568 feat: bd bootstrap executes recovery actions instead of printing advice
- 2df714f feat: bd done treats last arg as reason
- 21e23bc feat: epic close guards, merge re-parenting, and progress display
- b7cc484 feat: replace hash-derived dolt ports with OS-assigned ephemeral ports (GH#2415)
- 5e1d4b9 feat: search external_ref in bd search (GH#2494)
- 3a2d351 feat: support global ~/.config/beads/PRIME.md fallback (GH#2330)
Bug Fixes
- 0c12f46 Merge PR #2390: fix(deps): update github.com/dolthub/driver digest to bbe1450
- dbbe212 Merge PR #2408: fix(worktree): skip .gitignore append when parent directory pattern covers
- c3e7057 Merge PR #2413: fix(deps): update opentelemetry-go monorepo to v1.42.0
- 93841bd Merge PR #2417: fix: bd mol wisp reports wrong count when RootOnly=true
- 3502cb4 Merge PR #2432: fix: use Root().PersistentFlags() to check --json in PersistentPreRun
- 1d25504 Merge PR #2440: fix: replace stale 'bd sync' references in CLI help, setup generators, and docs
- 1ffbd0f Merge PR #2443: fix(list): --json flag ignored when --tree defaults to true
- f1e6073 Merge PR #2529: fix(deps): update github.com/dolthub/driver digest to 669bd7f
- 8130756 fix(deps): migrate glamour to v2 (charm.land/glamour/v2)
- 4c43d96 fix(deps): update github.com/dolthub/driver digest to 669bd7f
- dc0b180 fix(deps): update github.com/dolthub/driver digest to bbe1450
- 555abde fix(deps): update github.com/dolthub/driver digest to ecee5fd
- 7f03975 fix(deps): update module golang.org/x/sync to v0.20.0
- 1a328cb fix(deps): update module golang.org/x/sys to v0.42.0
- db967a0 fix(deps): update module golang.org/x/term to v0.41.0
- 8962de5 fix(deps): update opentelemetry-go monorepo to v1.42.0
- 257c052 fix(deps): update testcontainers-go monorepo to v0.41.0
- a333dca fix(docs): purge stale bd sync/import/--branch refs + add CI doc validation (GH#2522)
- f7061f9 fix(docs): remove stale --branch flag and SQLite refs from QUICKSTART (GH#2522) (#2525)
- 1fb6b95 fix(dolt): auto-commit pending changes before pull to prevent merge errors (GH#2474)
- c195a5e fix(list): --json flag ignored when --tree defaults to true
- 15a9d16 fix(list): --json flag ignored when --tree defaults to true
- 44118a8 fix(list): --json flag ignored when --tree defaults to true (bd-03r)
- 45fcd51 fix(nix): use go mod edit instead of sed for version patching
- 656a3e5 fix(worktree): skip gitignore append when parent dir pattern already covers entry
- f88c298 fix: Dolt test suite stability — eliminate container crashes and cascading failures (hq-33riy)
- c9998fc fix: TestDoltStoreDependencies uses same-type issues for blocks dep (GH#1495)
- cf9f78d fix: TestProtocol_FieldsRoundTrip timezone-aware date assertions
- 8386380 fix: YAML config prefix takes precedence over DB in shared-server mode (GH#2469)
- 7d06e6c fix: add BEADS_DOLT_PORT fallback in GetDoltServerPort() (GH#2486)
- 396c944 fix: add shared Dolt server mode for multi-repo/agent setups (GH#2416)
- 69573b8 fix: add test coverage for quoted label values with colons (bd-wnr1)
- 1d7bf35 fix: add timeout and graceful DB-missing handling to git hook shims
- d00c310 fix: auto-clear stale pinned flag on status transition
- 0ba22ae fix: auto-resolve metadata merge conflicts on bd dolt pull (GH#2466)
- 401da9d fix: backfill project_id into pre-GH#2372 Dolt stores via bd doctor --fix (GH#2490)
- 9b04d6c fix: bd children includes closed children by default (GH#2481)
- 12cfd5c fix: bd doctor --fix regenerates missing metadata.json (GH#2482)
- 766fe2f fix: bd doctor detects stale .legacy hook sidecars calling removed bd hook (GH#2398)
- 61ddbe3 fix: bd dolt remote add/list/remove operate on wrong directory (GH#2306, GH#2311)
- d1549d9 fix: bd export crash on zero-time timestamps + stale bd sync refs (GH#2488, GH#2493)
- 3dbf3c7 fix: bd lint accepts non-empty acceptance_criteria field without heading (GH#2468)
- c12ccea fix: bd mol wisp reports wrong count when RootOnly=true
- a84f7c3 fix: block bd doctor --fix at Gas Town town root (GH#2450)
- 2c24ce6 fix: block data-dir in server mode + fix doctor --clean --json (GH#2438)
- a5a751f fix: clean formatting drift
- 36a3ecd fix: create .beads/ dir in server mode with external BEADS_DOLT_* env vars (GH#2519)
- fbbaa5e fix: detect WSL and MINGW/MSYS/CYGWIN in install.sh
- eae64ca fix: detect backup files on database-not-found and after bd init (GH#2327)
- 4537e07 fix: exclude reparented children from molecule auto-close (GH#2480)
- e6019d9 fix: hide --allow-stale no-op flag from help output
- e56fc50 fix: idle-monitor preserves port across restart cycles (bd-xvg)
- 9604d30 fix: init guard allows fresh clones with committed metadata.json (GH#2433, GH#2441)
- 9d65ac8 fix: merge --metadata with existing metadata instead of replacing (GH#2423)
- 141119a fix: move KillStaleServers inside flock to prevent journal corruption (GH#2430)
- 4591600 fix: move auto-push state to local file, preventing metadata merge conflicts (GH#2466)
- 5227eab fix: preserve dependency metadata in JSONL backups (GH#2487)
- a7755e5 fix: prevent bd init from creating DB on another project's Dolt server (GH#2336)
- 4df17ca fix: remove idle monitor and activity signal daemon infrastructure (GH#2452)
- 100962f fix: remove stale 'sync' from noDbCommands breaking sync subcommands (GH#2419)
- 3e20e7e fix: replace dangerous --force suggestion in init guard error message
- 31bae5a fix: replace hash-derived dolt ports with OS-assigned ephemeral ports (GH#2415)
- b7bd6d6 fix: replace stale 'bd sync' references with bd dolt push/commit (GH#2435)
- cd2f500 fix: replace stale bd migrate --to-dolt with bd init --from-jsonl (GH#2333)
- bdbbb4b fix: restore --allow-stale as no-op flag for gt compatibility
- de483f4 fix: restore denormalized JSONL from bd export without data loss (GH#2479)
- b515661 fix: skip sleep in CI/non-interactive environments
- 5a454ae fix: suppress pre-existing gosec false positives with nolint directives
- 2d3ce08 fix: sync CLI remotes into SQL server on store open (GH#2315)
- 56cd587...
v0.59.0
beads v0.59.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 57e576e Merge PR #2342: feat: surface sync.git-remote in fresh clone error flow
- b3decc2 feat(bd): remove daemon infrastructure (w-bd-001)
- b4b586d feat(doctor): allow suppressing specific warnings via config (GH#1095)
- 7702ebe feat(doctor): detect fresh clone state on Dolt server
- 1ca5e8c feat(dolt): surface sync.git-remote in database-not-found errors
- 4e408bc feat(init): distinguish server-reachable from DB-exists in init guard
- 7f41edd feat(nix): modernize flake for nixpkgs-25.11, fix-merge PR #2314
- 5ea0eaa feat: add OpenCode recipe to bd setup
- 7c8cd89 feat: add version to END marker for better future matching
Bug Fixes
- a9a9c7a Merge PR #2293: fix(deps): update dependency fastmcp to v3
- 6adf14b Merge PR #2300: fix: skip Docker Hub network calls when Dolt image not cached
- 8d3de51 Merge PR #2322: fix(docs): correct misleading examples in QUICKSTART.md
- 3b9ef20 Merge PR #2329: fix(dolt): batch all IN-clause queries to prevent full table scans
- 1be0a41 fix(backup): default git-push to OFF, require explicit opt-in
- 1b26227 fix(backup): default git-push to OFF, require explicit opt-in
- d14bed5 fix(backup): skip git commits during hook runs and on feature branches
- 0b15550 fix(circuit): reduce cooldown to 5s and add active TCP health probe
- 6e9a86f fix(config): route backup.* keys to config.yaml so overrides are respected
- 1b921b9 fix(dep): add cross-prefix routing to dep commands (#2296)
- 5cc48cf fix(deps): update dependency fastmcp to v3
- d3c845c fix(deps): update github.com/dolthub/driver digest to 37b6617
- 2d9ad51 fix(docs): correct misleading examples in QUICKSTART.md
- 431d840 fix(docs): disambiguate duplicate nvim-beads entry in COMMUNITY_TOOLS.md
- 663e13b fix(doctor): correct command order in enrichFreshClone
- 2ba09ad fix(dolt): batch all IN-clause queries to prevent full table scans
- f06795e fix(dolt): gate CLI routing on local remote availability and extend SQL push timeout (#2295)
- c6e4180 fix(dolt): idle-monitor single-instance lock, port config isolation, project UUID verification (GH#2367, GH#2372)
- 11b9568 fix(dolt): retry on serialization error in TestConcurrentIssueCreation
- 515a773 fix(dolt): use database subdirectory for CLI push/pull/fetch operations
- 49ebfa2 fix(dolt): use database subdirectory for CLI push/pull/fetch operations (GH#2311)
- d9a719e fix(doltserver): idle-monitor kills itself via Stop() — watchdog loop fix
- ee6bcef fix(doltserver): log when Start() falls back to DerivePort on collision
- 58f5989 fix(init): prevent data destruction from misleading error messages (GH#2363, GH#2372)
- feaee93 fix(init): use DefaultConfig for port resolution during init (GH#2372)
- 364691f fix(list): make --tree the default display mode for bd list
- 2174032 fix(test): remove more daemon-dependent tests (maxDoltServers, idle monitor)
- 569ca25 fix(test): remove tests for daemon infrastructure removed in b3decc2
- 4e65285 fix(test): remove tests for daemon infrastructure removed in b3decc2
- c8f61cb fix(tests): align tests with cross-type blocking validation
- 16b425e fix: add contributor auto-routing fallback to show/update/close (GH#2345)
- 049ec26 fix: add id tiebreaker to all ORDER BY clauses for deterministic ordering
- 864bbc2 fix: address code review findings for hook marker handling
- a304bc3 fix: commit per batch in deleteWispBatch to avoid write timeout
- b597fa1 fix: config-aware prefix detection in ResolvePartialID
- b1b6835 fix: config-aware prefix detection in ResolvePartialID (GH#2381)
- 4197335 fix: deterministic ordering in SearchIssues and GetReadyWork (GH#2368)
- a489b11 fix: handle orphaned BEGIN marker in injectHookSection (GH#2344)
- 1ec62df fix: handle orphaned BEGIN marker in injectHookSection (GH#2344)
- fade3b1 fix: make bd doctor --fix repair broken hook markers (GH#2344)
- df1e6bb fix: remove dead 3-way merge config remnants (GH#2353)
- 0e286c0 fix: restore DerivePort as standalone default in DefaultConfig
- 2e1ea1e fix: skip Docker Hub network calls when Dolt image not cached (GH#2277)
- bb7be24 fix: skip tombstone entries in bd init --from-jsonl
- c21ffcb fix: warn on user-modified legacy hooks during migration
- daaaf8e fix: warn on user-modified legacy hooks during migration (GH#2370)
Others
- b9c549b /internal/storage/embeddeddolt/store.go: fix formatting
- 7bfa0e4 /internal/storage/embeddeddolt: add store
- 5404b0f /internal/storage/embeddeddolt: handle context canceled in cleanup func
- fb22268 /internal/storage/embeddeddolt: pr feedback
- 45b5e84 /internal/storage/embeddeddolt: refactor to use short-lived access pattern
- f0f66ef /internal/storage/embeddeddolt: wip, add open sql and concurrency test
- 5d159dd Merge PR #2317: Add nvim-beads by fancypantalons to COMMUNITY_TOOLS.md
- 637c817 Merge PR #2318: docs: update GIT_INTEGRATION.md re deprecated beads-merge binary and Jujutsu integration
- 7a53725 Merge PR #2319: docs: add fancypantalons/nvim-beads to Community Tools
- 251680e Merge PR #2369: refactor: remove 3-way merge engine remnants (bd-hhh)
- cd033d5 Merge remote-tracking branch 'origin/polecat/obsidian/bd-m7sy@mmaw77ig'
- f31acbb Remove stale sync mode documentation
- 472fb64 bd: backup 2026-03-05 22:09
- facfd75 bd: backup 2026-03-05 22:24
- 959aa7f chore(testutil): remove unused port field from doltServer struct (bd-m7sy)
- c63c11a ci: retrigger
- f7ad9dd ci: retrigger (PR was briefly closed during prior push)
- 93a934e docs(dolt): deprecate bd migrate --to-dolt in docs
- 95c85e3 docs(doltserver): document birthday-problem collision recovery in DerivePort
- fff12b2 docs(troubleshooting): add circuit breaker and upgrade recovery docs
- 3872308 refactor(tests): migrate all test files from StartTestDoltServer to container-native API
- 76aec3c refactor(testutil): expand Dolt readiness to 5-state enum (#2304)
- 6cb2863 refactor(testutil): remove StartTestDoltServer/TestDoltServer, add crash detection functions
- f4c575e refactor: consolidate ExtractPrefix into types package
- 1838b30 refactor: remove 3-way merge engine remnants (bd-hhh)
- 570becd refactor: remove legacy daemon lock infrastructure
- d878ff9 style: fix gofmt alignment in init_hooks_test.go
- 246b0e8 style: fix gofmt trailing blank lines
v0.58.0
beads v0.58.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 94b699c Merge PR #1995: feat: allow per-worktree .beads/redirect to override main repo
- f6b04f7 Merge PR #1996: feat(query): add has_metadata_key to bd query DSL
- 24e12a3 Merge PR #2088: feat: Add the option to use the Jira V2 api
- 21ca845 Merge PR #2143: feat: add dolt-data-dir config for custom dolt data directory
- a9ca7b7 Merge PR #2178: feat(dolt): SSH push/pull fallback + dual-surface remote management
- feb8a00 Merge PR #2221: feat: phase 1 hook census and migration planning (#2217)
- 2ec8c10 Merge PR: feat: add --backend flag to bd init with SQLite deprecation notice (bd-7xj5)
- e688ea7 feat(backup): add 'bd backup restore' command to bootstrap from JSONL backup
- d821109 feat(backup): add JSONL backup command and auto-backup support
- 051a43d feat(backup): auto-enable JSONL backup when git remote exists
- 84c9540 feat(cli): add --comment alias for bd close, --yes/-y alias for bd mol burn
- a3dd653 feat(cli): show titles in command feedback (GH#1384)
- 587eabb feat(doctor): bridge pending hook migrations into --fix
- 573bdd1 feat(dolt): add 'bd dolt remote' subcommands (add/list/remove)
- f710909 feat(dolt): auto-push to Dolt remote with 5-minute debounce
- 20516a4 feat(dolt): dual-surface remote management (SQL + CLI)
- a30e02a feat(init): add --database flag to configure existing server database (#2102)
- 8cc0874 feat(init): wire sync.git-remote config into bd init for auto-bootstrap
- 9a2eea8 feat(labels): inherit parent labels on child creation
- e17d73a feat(linear): add Project sync support
- 3a86e9f feat(mcp): add dedicated claim tool for atomic start-work (#2071)
- 5f0b3be feat(protocol): lane 6 — 10 new protocol invariant tests
- 74ffe23 feat(ready): add metadata filtering to bd ready (GH#1406)
- 5fd7fe3 feat(regression): replace bd export with snapshot harness (list+show)
- 52d7447 feat(show): add --current flag to show active issue (GH#2184)
- 0467fb0 feat(test): parallelize dolt storage tests for 3.5x speedup (bd-5ua)
- 801965a feat(test): parallelize protocol tests for 3x speedup (bd-dgp)
- 11f5f43 feat(testutil): branch-per-test isolation for dolt, tracker, molecules (L2)
- 982164a feat(testutil): reuse existing Dolt server via BEADS_DOLT_PORT (L1)
- 82a5f89 feat(testutil): server crash detection + doctor branch-per-test (L2)
- dcf5c22 feat(update): add --set-metadata and --unset-metadata flags (GH#1406)
- ef4c996 feat(wisp): add --root-only flag to bd mol wisp create
- 89569b9 feat: add --backend flag to bd init with SQLite deprecation notice (bd-7xj5)
- 157135f feat: add --long flag to bd show for full-detail output (bd-unav)
- 1c6f373 feat: add --metadata flag to bd create (GH#1406)
- fb23623 feat: add --state as hidden alias for --status in bd list (bd-9h3w)
- f1a299d feat: add --stdin flag as alias for --body-file - on bd create/update (bd-gz2o)
- 0ed2e1a feat: add .dolt/ and *.db to project .gitignore on bd init (GH#2034)
- b769a00 feat: add Dolt-native conflict detection to bd doctor validate (GH-2249)
- 02e177b feat: add JSONL-to-Dolt migration script (GH#2276)
- 6abc586 feat: add PreToolUse hook to block interactive cp/mv/rm prompts (bd-tm2p)
- bd3fb06 feat: add ResetTestBranch and migrate tests to shared server + branch-per-test (bd-tk8y)
- fecf282 feat: add bd backup init/sync for Dolt-native backups (bd-zafu)
- 8d5e3ef feat: add bd doctor --agent mode for AI agent diagnostics (bd-6ud)
- 6157920 feat: add bd dolt start/stop commands for server lifecycle management (bd-rbzi)
- 97ae54d feat: add bd export command for JSONL backup (bd-xav)
- 5e0e83a feat: add bd gc, bd compact, bd flatten for standalone Beads lifecycle (bd-kzn)
- 0ec5d2e feat: add bd mol last-activity command for molecule progress tracking (GH-1456)
- a7325f7 feat: add bd purge command to delete closed ephemeral beads (GH-1692)
- ed8dc56 feat: add bd remember/memories/forget/recall for persistent agent memory
- 0cb7936 feat: add circuit breaker for Dolt server connections (bd-05an)
- 7228991 feat: add dolt-data-dir config for custom dolt data directory
- 20f2d19 feat: add gofmt + golangci-lint pre-commit hook (GH#2179)
- 9457158 feat: add has_metadata_key to bd query DSL
- eafff36 feat: add hk (hk.jdx.dev) as supported git hook manager
- dfd9b56 feat: add hook migration census + doctor signal (bd-w4x.1, #2217)
- e926d52 feat: add memory instructions to bd prime output and changelog
- 02197ee feat: add stale database detection to bd doctor and bd dolt clean-databases
- c402711 feat: add staleness check for read-only commands against JSONL (bd-2q6d)
- 464c952 feat: add type index on wisp_dependencies for blocker queries
- 7dca9e7 feat: align bd preflight --check with CI checks (GH#2230)
- 1dcaa50 feat: allow per-worktree .beads/redirect to override main repo .beads
- dab2a20 feat: apply error wrapping to remaining bare returns in dolt storage (bd-bwk2)
- 24ed5a3 feat: auto-migrate SQLite to Dolt on first bd command (bd-3dx)
- 13a8daa feat: auto-migration shim: SQLite to Dolt via sqlite3 CLI (bd--3y8)
- 4fd1f6e feat: auto-push to git remote after Dolt commits
- 7dafce0 feat: auto-update stale hooks during bd init (GH#1466) (#2008)
- 06eff8a feat: centralize error handling in dolt storage layer (bd-bwk2)
- 580e7db feat: complete branch-per-test migration with dolt reset --hard (bd-tk8y)
- 00aa5dc feat: config-driven metadata schema enforcement (GH#1416 Phase 2) (#2027)
- 8e22d27 feat: make IsInfraType config-driven via types.infra (bd-39c)
- 1fda04c feat: port collision fallback, idle monitor, and crash watchdog for Dolt server (test-hqvv5t, test-n99ihy)
- 9d64fc1 feat: route infra beads (agent/rig/role/message) to dolt-ignored wisps table
- 893f6fc feat: self-managing Dolt server for standalone users (GH#2049, GH#2050)
- 87f3286 feat: support issue_id_mode=counter for sequential IDs (#2013)
- 1b56f58 feat: use section markers for git hooks (GH#1380)
Bug Fixes
- 807091e Merge PR #1893: fix: resolve pre-existing CI failures (fmt-check, tests, lint)
- b3d2535 Merge PR #2005: fix(deps): update opentelemetry-go monorepo to v1.40.0
- 21e52ef Merge PR #2044: fix: add missing columns to SQLite-to-Dolt migration INSERT
- e0417d4 Merge PR #2067: fix: follow-up to GH#2002 counter-mode review
- 0ff6443 Merge PR #2105: fix: unify hook outdated detection
- d6f2266 Merge PR #2106: fix(routing): check local store before prefix routing
- 4044dc1 Merge PR #2107: fix(test): clean orphaned temp dirs for all test server prefixes
- f70dce8 Merge PR #2108: fix(storage): batch SQL IN-clause queries to prevent query explosion
- 373149d Merge PR #2114: fix:...
v0.57.0
beads v0.57.0
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 94b699c Merge PR #1995: feat: allow per-worktree .beads/redirect to override main repo
- f6b04f7 Merge PR #1996: feat(query): add has_metadata_key to bd query DSL
- 24e12a3 Merge PR #2088: feat: Add the option to use the Jira V2 api
- 21ca845 Merge PR #2143: feat: add dolt-data-dir config for custom dolt data directory
- a9ca7b7 Merge PR #2178: feat(dolt): SSH push/pull fallback + dual-surface remote management
- feb8a00 Merge PR #2221: feat: phase 1 hook census and migration planning (#2217)
- e688ea7 feat(backup): add 'bd backup restore' command to bootstrap from JSONL backup
- d821109 feat(backup): add JSONL backup command and auto-backup support
- 051a43d feat(backup): auto-enable JSONL backup when git remote exists
- 84c9540 feat(cli): add --comment alias for bd close, --yes/-y alias for bd mol burn
- a3dd653 feat(cli): show titles in command feedback (GH#1384)
- 573bdd1 feat(dolt): add 'bd dolt remote' subcommands (add/list/remove)
- f710909 feat(dolt): auto-push to Dolt remote with 5-minute debounce
- 20516a4 feat(dolt): dual-surface remote management (SQL + CLI)
- a30e02a feat(init): add --database flag to configure existing server database (#2102)
- 8cc0874 feat(init): wire sync.git-remote config into bd init for auto-bootstrap
- 9a2eea8 feat(labels): inherit parent labels on child creation
- e17d73a feat(linear): add Project sync support
- 3a86e9f feat(mcp): add dedicated claim tool for atomic start-work (#2071)
- 5f0b3be feat(protocol): lane 6 — 10 new protocol invariant tests
- 74ffe23 feat(ready): add metadata filtering to bd ready (GH#1406)
- 5fd7fe3 feat(regression): replace bd export with snapshot harness (list+show)
- 0467fb0 feat(test): parallelize dolt storage tests for 3.5x speedup (bd-5ua)
- 801965a feat(test): parallelize protocol tests for 3x speedup (bd-dgp)
- 11f5f43 feat(testutil): branch-per-test isolation for dolt, tracker, molecules (L2)
- 982164a feat(testutil): reuse existing Dolt server via BEADS_DOLT_PORT (L1)
- 82a5f89 feat(testutil): server crash detection + doctor branch-per-test (L2)
- dcf5c22 feat(update): add --set-metadata and --unset-metadata flags (GH#1406)
- ef4c996 feat(wisp): add --root-only flag to bd mol wisp create
- 1c6f373 feat: add --metadata flag to bd create (GH#1406)
- 0ed2e1a feat: add .dolt/ and *.db to project .gitignore on bd init (GH#2034)
- 6abc586 feat: add PreToolUse hook to block interactive cp/mv/rm prompts (bd-tm2p)
- bd3fb06 feat: add ResetTestBranch and migrate tests to shared server + branch-per-test (bd-tk8y)
- fecf282 feat: add bd backup init/sync for Dolt-native backups (bd-zafu)
- 8d5e3ef feat: add bd doctor --agent mode for AI agent diagnostics (bd-6ud)
- 6157920 feat: add bd dolt start/stop commands for server lifecycle management (bd-rbzi)
- 97ae54d feat: add bd export command for JSONL backup (bd-xav)
- 5e0e83a feat: add bd gc, bd compact, bd flatten for standalone Beads lifecycle (bd-kzn)
- 0cb7936 feat: add circuit breaker for Dolt server connections (bd-05an)
- 7228991 feat: add dolt-data-dir config for custom dolt data directory
- 9457158 feat: add has_metadata_key to bd query DSL
- eafff36 feat: add hk (hk.jdx.dev) as supported git hook manager
- dfd9b56 feat: add hook migration census + doctor signal (bd-w4x.1, #2217)
- 02197ee feat: add stale database detection to bd doctor and bd dolt clean-databases
- c402711 feat: add staleness check for read-only commands against JSONL (bd-2q6d)
- 1dcaa50 feat: allow per-worktree .beads/redirect to override main repo .beads
- dab2a20 feat: apply error wrapping to remaining bare returns in dolt storage (bd-bwk2)
- 24ed5a3 feat: auto-migrate SQLite to Dolt on first bd command (bd-3dx)
- 13a8daa feat: auto-migration shim: SQLite to Dolt via sqlite3 CLI (bd--3y8)
- 4fd1f6e feat: auto-push to git remote after Dolt commits
- 7dafce0 feat: auto-update stale hooks during bd init (GH#1466) (#2008)
- 06eff8a feat: centralize error handling in dolt storage layer (bd-bwk2)
- 580e7db feat: complete branch-per-test migration with dolt reset --hard (bd-tk8y)
- 00aa5dc feat: config-driven metadata schema enforcement (GH#1416 Phase 2) (#2027)
- 8e22d27 feat: make IsInfraType config-driven via types.infra (bd-39c)
- 1fda04c feat: port collision fallback, idle monitor, and crash watchdog for Dolt server (test-hqvv5t, test-n99ihy)
- 9d64fc1 feat: route infra beads (agent/rig/role/message) to dolt-ignored wisps table
- 893f6fc feat: self-managing Dolt server for standalone users (GH#2049, GH#2050)
- 87f3286 feat: support issue_id_mode=counter for sequential IDs (#2013)
- 1b56f58 feat: use section markers for git hooks (GH#1380)
Bug Fixes
- 807091e Merge PR #1893: fix: resolve pre-existing CI failures (fmt-check, tests, lint)
- b3d2535 Merge PR #2005: fix(deps): update opentelemetry-go monorepo to v1.40.0
- 21e52ef Merge PR #2044: fix: add missing columns to SQLite-to-Dolt migration INSERT
- e0417d4 Merge PR #2067: fix: follow-up to GH#2002 counter-mode review
- 0ff6443 Merge PR #2105: fix: unify hook outdated detection
- d6f2266 Merge PR #2106: fix(routing): check local store before prefix routing
- 4044dc1 Merge PR #2107: fix(test): clean orphaned temp dirs for all test server prefixes
- f70dce8 Merge PR #2108: fix(storage): batch SQL IN-clause queries to prevent query explosion
- 373149d Merge PR #2114: fix: use doltserver.DefaultConfig for port resolution
- 088d9bf Merge PR #2116: fix: suppress git upstream warning for repos with no remotes
- b8d9e0a Merge PR #2119: fix(migrate): skip auto-migration when backend is already Dolt
- 2bb4cc6 Merge PR #2120: fix(doctor): auto-import JSONL issues on fresh clone migration
- f165654 Merge PR #2124: fix(doctor): create dolt marker directory after store creation
- a138db4 Merge PR #2135: fix(dolt): reset AUTO_INCREMENT after DOLT_PULL
- 4dd4b9b Merge PR #2144: fix(linear): include stateId in push updates to sync status changes
- 0b0586f Merge PR #2147: fix: sanitize hyphens to underscores in dolt_database name
- 6af5f5a Merge PR #2148: fix: doctor checks now use hash-derived port instead of hardcoded 3307
- e5647f7 Merge PR #2150: fix: escape # in SQLite URI paths to prevent truncation
- f2e0284 Merge PR #2151: fix(dep): traverse blocks-type edges in dep tree and graph
- 4ab9d55 Merge PR #2152: fix(init): stealth mode no longer creates Claude-specific settings
- d0c3e98 Merge PR #2153: fix: honor BEADS_DOLT_SERVER_PORT and BEADS_DOLT_SERVER_HOST in store
- 4b816c7 Merge PR #2171: fix: handle Windows connectex syscall in verifyServerTarget ECONNREFUSED check
- 72b7847 Merge PR #2173: fix(testutil): eliminate port allocation race with flock-based coordi...
v0.56.1
beads v0.56.1
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 8561884 feat(cook): support standalone expansion formula execution in bd mol wisp (#1903)
- 1d4ff86 feat(import): add --skip-prefix-validation flag for legacy data migration
- 0c2d95c feat(metadata): add human-readable metadata visibility to bd show and bd list --long (#1905)
- 6e4ad9b feat(otel): opt-in OpenTelemetry instrumentation (#1940)
- f383ce3 feat(setup): add Mux setup recipe with layered AGENTS and managed hooks
- b2f7cc3 feat(storage): add sentinel errors ErrNotFound, ErrNotInitialized, ErrPrefixMismatch
- 32a3bba feat: add SIGTERM/SIGHUP batch commit flush and improve commit messages
- 836835d feat: add batch auto-commit mode for Dolt to reduce commit bloat
- f06c280 feat: add bd migrate wisps command for SQLite-to-Dolt ephemeral data migration
- 8244818 feat: add commit message parameter to RunInTransaction for Dolt history
- b13720d feat: add dolt_ignore patterns and create wisps table (bd-f6b62)
- 1ade634 feat: drop dolthub/driver dependency — binary size 168MB → 41MB
- 87d49a6 feat: embed AGENTS.md templates with embed.FS and add --agents-template flag
- 00e802f feat: make metadata queryable from bd list, bd search, and bd query (#1908)
- c4010c1 feat: remove CGO build-tag bifurcation for dolt commands
- ec62bc3 feat: remove SQLite ephemeral store code and dependencies
- 8e5710b feat: remove embedded Dolt mode from doctor checks (server-only)
- e2e3410 feat: remove embedded Dolt mode from init and main command paths
- 630e102 feat: route wisp CRUD to dolt_ignored wisps table, remove SQLite ephemeral store
- 00f546f feat: transaction isolation, retry, and batch wrapping for Dolt concurrency
Bug Fixes
- 7269df8 fix(cook): make cookFormula atomic — single transaction for issues, labels, deps
- e751888 fix(cook): propagate cross-expansion dependencies to expanded steps
- 129e973 fix(dep): populate ParentID in dependency tree and show [BLOCKED] for root
- 8f11f7d fix(deps): update dependency fastmcp to v3 (#1991)
- effebb1 fix(deps): update dependency pydantic-settings to v2.13.1 (#1985)
- c926c03 fix(deps): update module github.com/anthropics/anthropic-sdk-go to v1.26.0 (#1986)
- 77a07f2 fix(doctor): check configured backend, not directory presence, for SQLite artifacts
- 620233d fix(doctor): exclude external: deps from orphaned dependency check (#1593)
- a0a076c fix(doctor): include database param in embedded connection string (#1924)
- a3267ee fix(doctor): pass configured db name to remaining dolt.New() call sites
- 6c6a93c fix(doctor): run Dolt health checks before federation checks (#1925)
- 59c5db3 fix(doctor): use configured database name in federation checks (#1904)
- ae4a5bb fix(dolt): add ~15 missing filter fields to searchWisps for parity with SearchIssues
- 71b0106 fix(dolt): always apply server connection defaults in applyConfigDefaults
- 583ed3b fix(dolt): commit writes via execContext when server runs with --no-auto-commit
- f6d788f fix(dolt): normalize metadata and waiters in UpdateIssue
- 0b23adc fix(dolt): persist labels, comments, and deps during batch import
- 960dee4 fix(dolt): preserve ORDER BY in scanIssueIDs results
- 09a1d50 fix(dolt): re-init schema after branch checkout for untracked tables
- 94d8607 fix(hooks): use 'bd hooks run' instead of nonexistent 'bd hook' in init hook body
- a7e1203 fix(hooks): use bd hooks run instead of nonexistent bd hook in shim templates
- da93dbb fix(jira): use correct API v3 /search/jql endpoint
- 373a365 fix(lint): resolve 4 golangci-lint violations in queries.go and wisps.go
- 2bcca39 fix(list): separate parent-child deps from blocking deps in bd list
- d54a663 fix(mcp): sanitize raw dependency records before Pydantic validation
- 2814016 fix(mol): auto-close wisp root after squash (#1898)
- dc715bd fix(plugin): correct inverted bd dep add argument order in docs
- 5916bf4 fix(queries): add nil guard in GetBlockedIssues and GetEpicsEligibleForClosure
- b4489d1 fix(ready): pass --parent filter to GetReadyWork/GetBlockedIssues and propagate blocked status to children (GH#2009, GH#1495)
- 4bdbba9 fix(ready): respect SortPolicy and preserve result ordering (#1883)
- 55f06f9 fix(release): prevent non-CGO bd binaries from shipping (#1870)
- 48bfaaa fix(release): remove verify-cgo hook from CGO_ENABLED=0 builds
- e7d0d93 fix(test): isolate regression tests from production Dolt server
- 25cfad9 fix(test): use dynamic port in ServerModeFailsWithoutServer test
- 6219b86 fix: CI formatting, lint, and test failures blocking release
- 9b745dc fix: add DOLT_COMMIT to CRUD operations and fix transaction safety
- 8380155 fix: add Limit to wisp gc/list SearchIssues to prevent OOM
- fba7dd8 fix: add promoted wisp fallback routing and fix PromoteFromEphemeral
- b0c8abf fix: add routing transaction for ephemeral store (bd-3wi7r5)
- 3631aba fix: bd list --limit applies after --sort, trim whitespace in edit (GH#1237, GH#1234)
- ff29346 fix: consolidate single-entry changelog versions to fix TestVersionChangesCoverage
- 3790768 fix: correct help text, dead code in markdown parser, stale cgo build tags
- da8a1bf fix: doctor lock false positive and stale bd sync references (GH#1981, GH#2007)
- 95234e9 fix: early CGO detection with clear error for non-CGO binaries
- 713a03a fix: ephemeral store read routing — beads created with --ephemeral now queryable
- 6ccb0b2 fix: ephemeral store routing gaps (bd-h3hhu0, bd-n8tbnx, bd-hoio75)
- 34fa288 fix: gofmt alignment on cache fields in DoltStore struct
- 00d8d84 fix: gofmt formatting and doctor test expectation for auto-initialized dolt
- d10ae6f fix: guard issue_prefix SetConfig to prevent clobber when rigs share a Dolt database
- 6dce2f6 fix: handle "nothing to commit" race in CommitPending
- e4c7a3b fix: handle error return from hash.Write to satisfy gosec G104
- 200c1d2 fix: hydrate labels in getWispsByIDs for search results
- 70f251d fix: isolate dolt package tests from production server (test-ckvw)
- 2e425d0 fix: isolate test suite from production Dolt server (bd-2lf6)
- 41a64b6 fix: make bond spawn+attach and squash operations atomic (bd-wvplu, bd-4kgbq)
- 6c724d1 fix: remove dead openDoltDB function, fix stale embedded-mode message
- f2c7d03 fix: remove stale --from-main flag from prime.go session prompts
- bd68c87 fix: remove stale embedded Dolt references after server-only migration
- 362608a fix: repair all cmd/bd tests broken by embedded Dolt removal (bd-9z7pf)
- 625aeb2 fix: repo sync cross-prefix hydration and close guard consistency (GH#1945, GH#1524)
- 0884c41 fix: resolve CI lint, format, and flaky test warnings
- 5500634 fix: restore .beads/issues.jsonl.new accidentally deleted in rebase
- f549c7f...
v0.55.4
beads v0.55.4
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
Installation
Homebrew (macOS/Linux):
brew install beadsQuick Install (macOS/Linux/FreeBSD):
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 79ab4a4 feat: add SQLite ephemeral store for wisps/molecules (bd-pedpnn)