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 pagination guard and fix Retry-After jitter
- 860ef59 lint: suppress gosec G404 for retry jitter (math/rand is fine for backoff)
- db5b05a release: beads v1.0.0
- 11d366c tests: add coverage for explain logic, cycle detection, and engine warnings
- 4fc7410 tests: add integration tests for config set-many mixed key routing and validation