beads v1.0.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/gastownhall/beads/main/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/gastownhall/beads/main/install.ps1 | iexManual Install:
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
Changelog
Features
- 72b6cf0 feat(gate): add 'bd gate create' for ad-hoc blocking gates (#3257)
- 8b691be feat(prune): add
bd prunefor deleting closed non-ephemeral beads (#3353) - 8518e71 feat: BD_JSON_ENVELOPE=1 opt-in for uniform JSON wrapping (#3393)
- 0d4b979 feat: JSON schema contract, bd ping, structured errors, import enhancements (#3368)
- 34a580c feat: add --exclude-label flag to bd ready and bd list
- 73d72ec feat: add --remote flag to bd dolt push/pull commands (#3211)
- a54ab6f feat: add starter formula examples (#3248)
- 5715f54 feat: make CGO_ENABLED=0 the blessed go install path (GH#3303)
- a78e583 feat: support Unix domain sockets for Dolt server connections (#3300)
Bug Fixes
- 397eb4d fix(ado): use date-only format for WIQL ChangedDate queries (#3345)
- 7bd9e18 fix(audit): use atomic write to prevent torn lines under concurrent O_APPEND (#3301)
- 0dce51a fix(autopush): bound auto-push, throttle failed attempts (#3370) (#3381)
- 80255b6 fix(bootstrap): clone via SQL server in external server mode (#3346)
- 813fdfa fix(ci): unblock main — gosec G122 + credentials_test signatures (#3389)
- 165bd6e fix(config): default Dolt database name when metadata.json is missing (#3380)
- 66da480 fix(config): reject issue-prefix config set
- 5affdbe fix(doctor): resolve Dolt password/TLS for externally-hosted servers (#3361)
- d57dc71 fix(dolt): auto-recover from corrupt manifest on startup (GH#3290) (#3327)
- be8edaa fix(dolt): bd dolt status recognizes externally-hosted Dolt servers (#3362)
- 456a660 fix(dolt): disable auto-push by default; require explicit opt-in (#3446)
- 395935b fix(dolt): exit 0 when push/pull finds no remote configured (GH#3031) (#3194)
- add1759 fix(dolt): pre-push integrity check via dolt fsck (#3447)
- f990135 fix(export): add _type discriminator to JSONL issue lines (#3272)
- d0f0ad6 fix(export): scrub git hook env and skip cross-worktree git-add (GH#3311) (#3347)
- bc74f7e fix(fetch): run GC after failed DOLT_FETCH to prevent tmp_pack_* accumulation (#3326)
- 5b4b8a5 fix(formula): auto-register custom types used by formula gate steps (#3214)
- 6681fdc fix(formula): carry step metadata through cook and pour (GH#3341) (#3359)
- fef7391 fix(gate): keep dry-run checks write-free
- 5c4362d fix(hooks): preserve husky v8/v9 hook layout when copying to .beads/hooks/ (#3197)
- c6d0cc2 fix(init): refuse --force when remote has Dolt history (#3455)
- 3c6c9db fix(init): skip hooks during from-jsonl bootstrap commit (#3342)
- c446a2e fix(linear): harden push against data clobbering (#3328)
- 4e3dbb6 fix(nix): update vendorHash after dependabot go.sum bumps (GH#3221) (#3297)
- 9db6b56 fix(schema): repair v0.63→v1.0 upgrades where issues.started_at is missing (GH#3363) (#3365)
- 39ee50d fix(setup): add alwaysApply frontmatter to Cursor rules template (GH#3191) (#3193)
- e312332 fix(setup): skip duplicate hooks when beads plugin is installed (GH#3192) (#3196)
- baf73a6 fix(worktree): don't prefer inherited .beads/ over shared fallback (#3425)
- dbf793f fix: auto-sanitize hyphenated dolt_database on embedded-mode upgrade (#3231) (#3232)
- e585a61 fix: avoid false shared-server bootstrap no-op for synthesized worktrees
- 43c1dca fix: bd config set --db now resolves BEADS_DIR for yaml-only keys (#3348) (#3379)
- dfde51f fix: bd dolt pull fails when remote added without branch tracking (#3443)
- 98173b0 fix: bd list --parent no longer echoes parent when it has no children (#3349) (#3374)
- 2c0fa6e fix: bd update --type honors custom types (fixes #3030) (#3093)
- 0e09598 fix: cross-rig prefix routing for issue resolution via routes.jsonl (#2954)
- 1e76efc fix: don't normalize user-provided sync.remote URLs (GH#3339) (#3432)
- 0271720 fix: linear tracker reads yaml-only config keys from config.yaml (#3315)
- a0c00d9 fix: make beads-mcp shared-worktree aware
- 27e9a85 fix: no-git-ops=true now implies export.git-add=false (#3314) (#3376)
- a42eded fix: pass CLI filters through tree mode recursive walk (#3384)
- ffe69aa fix: promote gate to built-in type so formula pour works (#3382)
- 3c67e86 fix: rebind selected workspace before db command startup (#3230)
- 0d7f87c fix: remove duplicate database name helper (bd-rrt)
- 7516a39 fix: remove orphan detection from compat migration hot path (#3344) (#3378)
- 6bda86f fix: show (none) placeholder when description is empty in bd show (#3336) (#3375)
- 8abad91 fix: skip DOLT_COMMIT when compat migrations produce no changes (#3366) (#3373)
- 20b9ed7 fix: support Jira Cloud token pagination (#3456)
- 5aa4eb7 fix: use routed ID resolution in bd comments (#3385)
- 5f0be23 fix: warn on unrecognized config keys in bd config set (#3293) (#3377)
- f368f98 fix: wire embedded backend compat migrations by relocating runner (#3413)
Others
- b76947f /.github/workflows/ci.yml: update comment
- c486c7d /default.nix: update vendor hash
- c129725 /{examples,go.mod}: bump go
- 74ad124 Add ADO round-trip integration tests and config documentation (#3305)
- 3906581 Add Linear round-trip fidelity integration test (upstream #3187) (#3255)
- 6e506b6 Add PR preflight and contributor intake guidance (#3470)
- cfdb75e Fix git-remote-cache tmp_pack file leak in embedded mode (#3355)
- 55625db Fix worktree-aware config.yaml resolution (#3265)
- abf03e1 Keep regular epics open after the last child closes (#3276)
- 1b2dd2c Release 1.0.3
- df25aa9 Rename ICU-only test path to explicit opt-in workflow (bd-b18) (#3291)
- ac085df Skip Dolt remote registration for plain git source repos during init (#3357)
- 04ec3f5 Tier embedded Dolt CI for PRs (bd-0gz) (#3459)
- 578524c [codex] Diagnose Dolt journal corruption and init lock hangs (#3457)
- 63a24bc [codex] Share epic DB setup in one suite (#3296)
- 3f866c0 add Thread to community tools - analytics and observability (#3329)
- 2ade22e chore(build): codify the gms_pure_go build-tag policy (GH#3303)
- a6152f7 chore(deps): bump actions/checkout from 4 to 6 (#3320)
- 5a51e33 chore(deps): bump actions/upload-pages-artifact from 4 to 5 (#3318)
- 37d30f2 chore(deps): bump charm.land/lipgloss/v2 from 2.0.2 to 2.0.3 (#3325)
- 632839c chore(deps): bump fastmcp from 3.2.3 to 3.2.4 in /integrations/beads-mcp (#3319)
- 8b5d546 chore(deps): bump github.com/anthropics/anthropic-sdk-go (#3322)
- e4f0738 chore(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutmetric (#3323)
- e3c26c6 chore(deps): bump golang.org/x/term from 0.41.0 to 0.42.0 (#3324)
- cf42092 chore(deps): bump pydantic in /integrations/beads-mcp (#3321)
- 4c240fc chore(gitignore): ignore .codex marker and .claude/*.lock
- b90ee4c ci: add nix build check to catch vendorHash drift (GH#3298) (#3364)
- 15f31dc ci: don't fail workflows when codecov upload has no token (#3386)
- f0057c7 ci: install dolt binary on Linux and macOS test runners (#3440)
- 26829ee ci: install dolt in regression workflow
- 8b30849 cleanup(agents): Delete spurious cmd/bd/@AGENTS.md file (#3198)
- 27c3338 docs(test): reference GH#3260 investigation near memory race workaround (#3287)
- ecd2f72 fix packaging and windows install regressions
- aed707a fix remote sync follow-ups
- 86d5511 fix(admin,dolt): allow admin + dolt show/status in embedded mode (#3330)
- 0b9d5a9 fix(go.mod): remove broken replace directive that blocks go install (GH#3303)
- 331bc3a perf(storage): amortize per-ID wisp routing via WispIDSetInTx (#3453)
- d8d298d refactor: extract create issue build and dry-run render helpers (bd-itp.4) (#3295)
- e3586db refactor: route duplicate commands through CommandContext accessors (bd-itp.2) (#3294)