github steveyegge/beads v0.56.1

20 hours ago

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 beads

Quick Install (macOS/Linux/FreeBSD):

curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iex

Manual 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 fix: route store-level event/comment methods to wisp tables for ephemeral IDs
  • 8c21783 fix: update version tests to handle bool cgo field
  • bb45e6c fix: use flock probe instead of file existence for noms LOCK health check (#1960)
  • 2480e7c fix: waits-for readiness in bd ready and molecule analysis (#1900)
  • ae79364 fix: wisp code cleanup — dead code, stale comments, minor bugs

Others

  • 5d1304a Add renovate.json
  • 111c81d Merge polecat/obsidian/bd-a15sp: route wisp CRUD to dolt_ignored wisps table
  • c210d42 Merge polecat/obsidian/bd-bsyux: batch DML auto-commit mode for Dolt
  • 9ff61c7 Merge polecat/quartz/bd-b2llu: add bd migrate wisps command for SQLite-to-Dolt migration
  • 4c95f1a Merge polecat/quartz/bd-jz0hz: hydrate labels in getWispsByIDs for search results
  • 7dd5d74 Merge remote-tracking branch 'origin/polecat/obsidian/bd-hbivw@mlx34nhi'
  • 7180470 Merge remote-tracking branch 'origin/polecat/quartz/bd-vzcxz@mlx3568g'
  • afbf65f chore(deps): update dependency node to v24 (#1987)
  • dffd5d9 chore(deps): update dependency typescript to ~5.9.0 (#1974)
  • f63c2b4 chore(deps): update goreleaser/goreleaser-action action to v7 (#1988)
  • 071237c chore(deps): update mcr.microsoft.com/devcontainers/go docker tag to v2 (#1990)
  • 3c54cf1 chore(deps): update python docker tag to v3.14
  • 96c096b doctor: make deep validation backend-aware
  • caf805d merge: sync with origin/main (refactor remove embedded-mode artifacts)
  • bfc49fe perf(dolt): batch N+1 queries, per-invocation caching, sentinel errors (#1874)
  • 90c8758 perf(tests): consolidate cmd/bd test suites to shared DB pattern (bd-1rh)
  • d00aea5 perf(tests): consolidate template_test.go to shared DB pattern (bd-1rh)
  • e43b491 perf(tests): optimize doctor test suite — 89s to 28s (bd-ktng)
  • dc5ff70 perf(tests): replace direct git init with newGitRepo template in init_test.go, consolidate template_test.go (bd-ktng)
  • da14834 perf(tests): tag import_prefix E2E test as integration (bd-1rh)
  • 6911eea refactor(bootstrap): remove JSONL bootstrap, Dolt clone only (gt-vemg9q.1)
  • 18522ec refactor(config): deprecate git-portable/belt-and-suspenders sync modes (gt-vemg9q.5)
  • d93ab35 refactor(doctor): remove JSONL recovery paths from bd doctor (gt-vemg9q.3)
  • 53e9f8c refactor(dolt): remove embedded mode, server-only operation
  • 9abb7dd refactor(dolt): remove vestigial embedded-mode artifacts
  • 1e1568f refactor(jsonl): remove JSONL plumbing — Dolt-native only (gt-vemg9q Phase 1)
  • 01500d7 refactor(jsonl): remove cross-rig JSONL flush from create and rename-prefix (gt-vemg9q.4)
  • 5446702 refactor(restore): replace JSONL git history with dolt_history_ tables (gt-vemg9q.2)
  • 34fa1c1 refactor(sync): make bd sync a deprecated no-op, update agent instructions
  • 9da9039 refactor: remove JSONL fork protection (dead code after Dolt migration)
  • 4766a4f refactor: remove embedded Dolt server code entirely
  • 4102096 refactor: standardize error handling with FatalError wrappers (bd-qioh)
  • 41e47e1 refactor: standardize error handling with FatalError wrappers (bd-qioh)
  • 0d72b10 refactor: unify tx-path scanner/insert to use full column set (PR #1872)
  • 05ebce9 style: gofmt cmd/bd/dep_test.go and import_prefix_test.go
  • 5aef09b test(dolt): add SQLite-backed unit tests for execContext and getAdaptiveIDLength
  • f456a26 test(regression): Dolt migration regression discovery (long-lived branch) (#1906)

Don't miss a new beads release

NewReleases is sending notifications on new releases.