Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: steveyegge/beads

v0.52.0

17 Feb 00:12

Choose a tag to compare

beads v0.52.0

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

Bug Fixes

  • bb3fef9 fix(ci): resolve gosec G204 and unparam lint warnings
  • 9652a5e fix: block rename-prefix in git worktrees to prevent JSONL staleness (#1645)
  • 3f4c0ab fix: expand tilde in core.hooksPath on Windows (GH#1796)
  • 780be2d fix: guard dolt directory creation with server-mode check (#1800)
  • 2beaad3 fix: guard dolt directory creation with server-mode check (bd-vyr)
  • abfcdd3 fix: resolve worktree redirect paths from worktree root, not .beads/ dir (#1266)

Others

  • 180030c Block rename-prefix from running in git worktrees (#1792)
  • f581cf9 Fix CI: add stubs.go to gosec G204 exclusion (#1790)
  • 7eaea49 Fix bd ready excluding ephemeral issues, add --include-ephemeral flag
  • a6273c1 Fix doctor redirect target resolution
  • 11ccf7a Fix doctor redirect target resolution (#1803)
  • ba15514 Fix getRedirectTarget() path resolution in worktree list (#1791)
  • bf6b47e Fix tilde expansion in core.hooksPath on Windows (#1798)
  • 5075a87 Remove dead git-portable sync functions (#1793)

v0.51.0

16 Feb 19:18

Choose a tag to compare

beads v0.51.0

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

Bug Fixes

  • 0c6ef53 fix(create): swap dependency direction for explicit blocks: prefix
  • 1590e01 fix(doctor): add AccessLock to doctor Dolt health checks
  • b24ee90 fix(doctor): add error-path tests and CloseWithTimeout documentation
  • 7440ef8 fix(doctor): honor --yes for repo fingerprint auto-fix
  • b8ba2de fix(doctor): migrate remaining Dolt checks to shared AccessLock connection
  • 3db18e3 fix(doctor): restore sqliteConnString pragmas dropped by Phase 8 cleanup
  • 7c10563 fix(dolt): batch DeleteIssues queries to prevent hang on large ID sets
  • 4244855 fix(dolt): harden batch DeleteIssues correctness and add comprehensive tests
  • b47f2b9 fix(dolt): seed types.custom in default config
  • 02f4326 fix(mol): use analyzeMoleculeParallel for step readiness in bd mol current (#1276)
  • fa5622e fix(types): add message as built-in issue type
  • f4f70a3 fix: add non-CGO build stubs for goreleaser cross-compilation
  • 6a6c501 fix: deleteBatch signature mismatch and unused types import
  • 63544a5 fix: dolt config tests corrupt rig metadata.json in worktree environments
  • 6caf05a fix: filter workflow/identity types from Dolt GetReadyWork
  • 304c684 fix: gofmt formatting across 24 files and 2 lint warnings (bd-i4o4e)
  • b74fc06 fix: malformed test names and obsolete SQLite-backend doctor tests (bd-gwm8z, bd-yqpwy)
  • 817efc9 fix: read Dolt database name from metadata.json in embedded mode (bd-pqn2e)
  • dd01a65 fix: repair test suite for Dolt-only backend (bd-h0zvj.4)
  • dc0dc1c fix: serialize dolt.New() and stdio redirection to eliminate test race conditions (bd-cqjoi)

Others

  • 896d5ed Dolt-native cleanup: remove legacy code, rename API, add server watchdog
  • 225ee74 Fix typo in dolt migrate command
  • 97fa7cc Revise INSTALLING.md for mise installation methods
  • 5083873 cleanup: delete deprecated SQLite-era docs (EXTENDING.md, MULTI_REPO_HYDRATION.md)
  • 03a1415 cleanup: remove stale golangci suppressions and dead compact methods
  • 85ba9bd cleanup: remove stale sqlite refs, fix lint warnings, update Makefile benchmarks
  • 5f59039 perf(dolt): leverage CASCADE deletes to cut deletion queries by 60%
  • fa191af perf: skip schema init when already at current version
  • 5ffd625 refactor: Phase 8 CLI & config cleanup - remove SQLite/daemon remnants (dolt-1s40.8)
  • 0e74612 refactor: fix stale NewSQLiteStorage refs in docs and monitor-webui import (bd-h0zvj.8)
  • 76b2f1e refactor: gut JSONL sync engine, keep simple manual import/export (bd-h0zvj.2)
  • d6a8462 refactor: make bd sync a no-op, fix test suite for Dolt-only backend (bd-h0zvj.4)
  • 6a5da90 refactor: prune 12 dead/duplicate DoltStore methods and 650 lines (bd-h0zvj.6)
  • eacaa51 refactor: prune 5 legacy doctor checks and 1457 lines of dead code (bd-h0zvj.4)
  • 5102512 refactor: remove 3-way merge engine (Phase 3)
  • 8e10fd0 refactor: remove JSONL sync layer (Phase 5)
  • a3bf3ee refactor: remove SQLite backend (Phase 6)
  • 6c82467 refactor: remove SQLite migration code and legacy backend detection (bd-h0zvj.3) [WIP]
  • cddddf7 refactor: remove all no-op stubs and dead functions (bd-h0zvj.1)
  • 5b6e015 refactor: remove daemon compat stub and --no-daemon flag (Phase 2)
  • 64c3031 refactor: remove internal/beads type aliases and fix stale examples (bd-h0zvj.7)
  • a5da57e refactor: remove storage factory, memory backend, and provider abstraction (Phase 7)
  • 7eed8b8 refactor: remove tombstone/soft-delete system (Phase 4)
  • 12f9037 refactor: replace factory/memory imports with direct dolt calls (Phase 7 cleanup)
  • b62e495 refactor: restore --to-dolt migration, fix tests for Dolt-only backend (bd-h0zvj.3)
  • 6a81082 release: v0.51.0 — Dolt-native cleanup
  • 87c7693 style: fix gofmt alignment in sync_git_remote_test.go
  • 31c9107 syncbranch: enforce bounded lock contention behavior in read/write tests (#1776)
  • 4eba911 test(doctor): add E2E tests for Dolt AccessLock integration

v0.50.3

15 Feb 02:35

Choose a tag to compare

beads v0.50.3

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

  • 3728ac1 feat: add PullHooks/PushHooks to SyncEngine for battle-tested CLI behaviors

Bug Fixes

  • 0987367 fix: add routing and label-based agent check to bd slot commands (bd-yw7ui)
  • 118e451 fix: remove stale State assignment in jiraToTrackerIssue
  • 1f59a21 fix: use Required field for formula variable validation
  • 3b8562e fix: use errors.New for Jira sentinel error, add Jira tracker tests
  • 7de76f3 fix: wire FormatDescription hook in doPush, add GenerateID/FormatDescription tests

Others

  • d582e00 perf(tests): replace ~60 git init subprocess calls with cached template copy
  • fe2b537 refactor: extract Jira integration into internal/jira/ package
  • 3c45dcb refactor: inline tracker adapters into internal packages
  • 8f00fb7 refactor: wire Jira CLI through SyncEngine, delete duplicated sync code
  • 5a5407f refactor: wire Linear/GitLab CLI through SyncEngine, delete duplicated sync code
  • db1c3d7 style: fix gofmt formatting across 14 files

v0.50.2

14 Feb 23:46

Choose a tag to compare

beads v0.50.2

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

  • 3894fd3 feat: nudge all SQLite users to migrate to Dolt

Bug Fixes

  • 6c00524 fix(beads): stop FindBeadsDir walk from escaping sibling worktree boundary (#1731)
  • 1eb3bc1 fix(doctor): correct plugin install command in doctor output (#1732)
  • 3bdc978 fix: bump npm package version to 0.50.2
  • f7311e9 fix: reliable metadata writes for Dolt backend (bd_version, repo_id, clone_id) (#1741)
  • 53694a8 fix: update backend descriptions to reflect Dolt as default since v0.50

Others

  • 1c92e9c perf(doctor): fix O(n) full-table scans causing 130s doctor runs (#1706)

v0.50.1

14 Feb 22:40

Choose a tag to compare

beads v0.50.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

  • cf4ffec feat: add GitLab adapter for tracker framework (GH#1150)
  • 7b3148d feat: add Linear adapter for tracker framework (GH#1150)
  • 66ffc44 feat: add audit log for bd dolt config set changes
  • 9d29ffd feat: add plugin-based issue tracker framework (GH#1150)

Bug Fixes

  • 32e3e83 fix(ci): remove dead RPC test code and fix CI failures for v0.50.0
  • 7dca841 fix(lint): add missing exclusions for tracker adapters and dolt audit log
  • 8319a85 fix: gofmt tracker adapter files
  • c0ad80d fix: remove auto-fallback from dolt server mode to embedded mode
  • 9861144 fix: remove t.Parallel() from graph tests that race on os.Stdout

v0.49.6

08 Feb 06:06

Choose a tag to compare

beads v0.49.6

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

Others

  • c064f2a release: v0.49.6
  • 2137693 revert: restore embedded Dolt mode (was only supposed to be removed from Gas Town)

v0.49.5

08 Feb 04:34

Choose a tag to compare

beads v0.49.5

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

  • 3c167b8 feat(dolt): fail-fast TCP check before MySQL protocol initialization
  • e06e0cc feat: add bd find-duplicates for AI-powered duplicate detection (bd-581b80b3)
  • 4d16070 feat: add bd promote command for wisp-to-bead promotion (gt-7mqd.9)
  • 55a4140 feat: add bd todo command for lightweight task management
  • 24ba7e3 feat: add bd validate command for data-integrity health checks (bd-e108)
  • 6d99a8c feat: add content and null-check filters to bd search (bd-au0.5)
  • a6cbb7c feat: centralize AI model config into ai.model with DefaultAIModel()
  • 6fe7f20 feat: default to chaining hooks in bd init instead of prompting (bd-bxha)
  • 66b7fc4 feat: embed Windows PE version info to reduce antivirus false positives (bd-t4u1)
  • e533064 feat: remove embedded Dolt mode, keep server-only connections (bd-esqfe)

Bug Fixes

  • f5e0de4 fix(ci): resolve lint failures and test guard false positive (#1550)
  • f763b15 fix(ci): resolve lint failures and test guard false positive on main
  • 31687be fix(ci): unbreak Nix and Windows CI
  • 307cd1b fix(ci): update vendorHash, fix pre-existing lint failures
  • 9affc8f fix(config): log when viper uninitialized in getConfigList
  • d0cb650 fix(config): write beads.role to git config instead of SQLite
  • 3ba6bc3 fix(daemon): use rpc.ShortSocketPath for daemon status/health/metrics
  • 7057b08 fix(docs): correct markdown link syntax in COMMUNITY_TOOLS.md
  • 3d4ac66 fix(doctor): correct brew upgrade command from "bd" to "beads"
  • c9f68c2 fix(doctor): improve output formatting with summary-first layout (bd-4qfb)
  • 282c13e fix(dolt): clean test tables in setupTestStore to prevent duplicate primary key errors
  • ac0ff2e fix(gitignore): add .jsonl.lock to template and requiredPatterns
  • 85bd4bb fix(lint): suppress unparam for doctor/sqlite_open.go readOnly
  • 1296242 fix(merge): use strings.HasPrefix to prevent panic on short error messages
  • 3e8bc4f fix(migrate): check for running daemon before dolt migration
  • 8566c34 fix(nix): update flake.lock, remove CI workaround
  • a96df5a fix(rpc): pass issueID via closure to prevent empty mutation events
  • fea2bc7 fix(rpc): replace hardcoded /tmp paths with t.TempDir() in tests
  • 531f7a9 fix(security): path traversal in export handler and command injection in import
  • 85a5b84 fix(security): upgrade Go toolchain to 1.25.7 for CVE-2025-68121
  • eb1049b fix(sqlite): make Close() idempotent to prevent WAL retry deadlock (bd-4ri)
  • 0f14a11 fix(sync): apply --ours/--theirs strategy to conflict resolution
  • 914146d fix(sync): include tombstones in auto-flush full export
  • f72000a fix(tests): add missing assertions to RPC coverage and list filter tests
  • 5b8090e fix(tests): re-enable deadlock test and add timeout guards for peer sync (dolt-test-ebm)
  • 3273834 fix(update): log DB error when GetCustomTypes fails
  • 182655c fix(update): skip type pre-validation in daemon mode
  • 16ac05c fix: ShouldExportJSONL reads DB directly, returns false in dolt-native mode
  • 3d01c7f fix: Support cross-prefix ID resolution in multi-repo scenarios (GH#1513)
  • 69ab6b6 fix: add bounds checks for slice/string access in migrate.go (dolt-test-atg)
  • b78a67a fix: add exclusive lock to flushToJSONLWithState to prevent race conditions
  • f291727 fix: add nil storage guard to handleCommentList and handleCommentAdd (dolt-test-w1p)
  • 48574fe fix: add staleness check to export, graph, history, gate list commands (bd-2q6d)
  • fd274c9 fix: apply approved fixes before returning on stdin read error (dolt-test-hp8)
  • de5f702 fix: bd dep list cross-rig routing broken from town root (bd-ciouf)
  • 8ea2353 fix: bd doctor --check=validate re-checks after fix, reuses doctor infra (bd-e108)
  • 2b90ed1 fix: bd list --all disables default limit (bd-u0l9f)
  • dd2e1c6 fix: block BD_BACKEND env var to prevent data fragmentation (bd-hevyw)
  • bf3af46 fix: centralize error handling patterns in storage layer (bd-bwk2)
  • 656c806 fix: detect cross-rig contamination in post-migration check (bd-73cf5)
  • 75fd768 fix: dolt_conflicts column name, doctor gastown detection, explicit routing mode
  • 831c6ab fix: drain in-flight requests before closing storage in Server.Stop (dolt-test-rgh)
  • 2a0cd4c fix: handle json.Marshal error in runServerHealth (dolt-test-hk6)
  • a66165a fix: include dependencies and comments in issueEqual comparison (dolt-test-7e4)
  • 1b42ec3 fix: isolate Dolt tests with per-test databases (dolt-test-1cf)
  • 8a18582 fix: log warnings for label and dependency import errors in migration (dolt-test-qf0)
  • 342af3b fix: make "connection refused" retryable in Dolt retry logic (bd-p3ytz)
  • 81a87a7 fix: make TestRoutingIntegration/maintainer_with_SSH_remote deterministic (bd-g9eu)
  • e73f16f fix: prevent stdout export from clearing dirty flags and auto-flush state (dolt-test-f8l)
  • c4c54cb fix: remove global os.Stderr redirect during daemon import (dolt-test-s6y)
  • db232c8 fix: remove output_schema=None workaround, FastMCP 2.14.4 handles union return types (bd-49kw)
  • a8bc581 fix: remove unreachable RPC import method and dead code
  • 766f6dc fix: replace hardcoded 100ms sleep with response-write-then-shutdown pattern (dolt-test-931)
  • 2f4c26f fix: resolve gosec lint warnings in migrate_sync.go and migration_hint.go
  • 7b9c581 fix: separate parent-child from blocks in bd list output (bd-ohn7c)
  • ac09cde fix: standardize JSON output across commands (bd-au0.7)
  • 4eafe63 fix: sync labels during import by removing DB labels absent from JSONL (dolt-test-96u)
  • 6be7133 fix: use SQLITE_BUSY retry logic for all BEGIN IMMEDIATE calls (bd-ola6)
  • 1d77673 fix: use port 3307 consistently for Dolt server connections (bd-ig3re)
  • 249609d fix: use prefix-based Dolt database names to prevent cross-rig contamination (bd-u8rda)
  • 4bf6e8f fix: use unique temp filename in writeMergedStateToJSONL to avoid collisions (dolt-test-1so)

Others

  • 556836b Add beads-manager plugin to community tools list
  • 17e54c5 Enable Dolt on Windows via gms_pure_go build tag
  • 8cc9344 Fix bd doctor fix suggestion: bd daemon stop requires workspace path
  • 3126997 Fix daemon ignoring auto-sync config from YAML
  • 89e4ec5 Fix doctor --fix migration for legacy spec_id
  • 976fbe6 Fix doctor role check false positive when role set via bd config
  • df0204d Initialize bd after merge
  • 7593042 Merge remote-tracking branch 'origin/main' into fix/nix-and-windows-ci
  • a39cf8b Newsletter generator: automated narrative summaries of releases (#1197)
  • a0450ec cleanup: remove G5 flock semaphore remnants (server mode makes them obsolete)
  • e54ac33 hygiene: consolidate internal/util into internal/utils
  • 16cdc21 hygiene: consolidate sqliteConnString into internal/storage
  • d182aa...
Read more

v0.49.4

05 Feb 18:28

Choose a tag to compare

beads v0.49.4

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

  • ebead13 feat(bd): add wisp_type field support for TTL-based compaction (gt-7mqd.2)
  • e8158ae feat(cli): add --metadata flag to bd update (bd-0vud2)
  • feae3bc feat(config): support .beads/config.local.yaml for local overrides
  • 30e8c99 feat(doctor): add Dolt migration validation checks (gt-nibe)
  • 22e21c6 feat(dolt): add BD_SKIP_ACCESS_LOCK env var for lock testing
  • 8b24c12 feat(make): check repo is up-to-date before install
  • 909085b feat(migrate): add agent-managed Dolt upgrade path
  • c2ae767 feat(migrate): add orphan branch support for sync-branch mode
  • 7e21aef feat(migrate): make orphan branch default for bd migrate sync (#1148)
  • e5c8c1d feat(schema): add wisp_type column for TTL-based compaction (gt-7mqd.1)
  • 51dc5ff feat: add 'beads' alias for bd command during installation
  • 46b6b7a feat: add --label-pattern and --label-regex flags to bd list
  • fa1218d feat: add Dolt schema migration runner (bd-ijw)
  • f3874ed feat: add simple query language for complex filtering
  • cf185ce feat: add spec_id field for linking issues to specification documents (#1372)
  • a1c447e feat: add spec_id support
  • dc038c9 feat: allow UpdateIssue metadata updates via json.RawMessage/[]byte (#1417)

Bug Fixes

  • 7451ddc Merge PR #1279: fix: add JSONL file locking to prevent race conditions
  • 0b92eae Merge PR #1281: fix: add WAL checkpoint robustness with retry logic
  • f220cb4 fix(autoflush): use unique temp file names for concurrent writes
  • e48e94e fix(compact): restore safety logic accidentally removed in cb1e355
  • b5ae6e8 fix(daemon): add initial JSONL import on startup with hash update
  • 22bbbc4 fix(daemon): update hash after auto-import to prevent export validation failure
  • 4d9fced fix(daemon_lock): update race test to document transient PID state
  • 4564736 fix(dep): use factory.NewFromConfig for cross-rig dependency resolution
  • 1ee9fbe fix(doctor): use read-only mode to avoid creating database
  • 6ec1943 fix(dolt): add retry logic for server mode transient connection errors
  • 1c2166e fix(dolt): add spec_id column migration for existing databases
  • 9f2326b fix(dolt): add timeout to embedded Dolt close to prevent indefinite hang
  • eaa4e79 fix(dolt): fix driver bad connection errors from nested queries in server mode
  • 623c36b fix(dolt): remove FK constraint on depends_on_id for external references
  • 054e92d fix(dolt): use correct variable in initSchemaOnDB
  • ead2428 fix(dolt): work around merge join panic in ready_issues view
  • bc70460 fix(lint): address unparam warnings in gitlab_sync.go
  • bde38fd fix(lint): handle rows.Close() errors explicitly (G104)
  • 70bc384 fix(lint): suppress G304 false positive for @file.json syntax
  • 76e7aa2 fix(lint): use secure file permissions for lock file (G302)
  • f3317a3 fix(migrate): use --stdin for cross-platform empty tree creation
  • 1797e33 fix(nix): allow Go toolchain auto-download for version compatibility
  • 4af28d5 fix(nix): use Go 1.25.6 overlay for dolthub/driver compatibility
  • 24097e0 fix(nix): use buildGoModule.override for go-modules derivation
  • 7032113 fix(path): exclude routes.jsonl from FindJSONLInDir fallback
  • 5f8cb4c fix(routing): respect BEADS_DIR over prefix routing in show/close/update
  • aa5e92f fix(show): display relates-to deps correctly and deduplicate RELATED section
  • 69bf2c9 fix(sync): disable JSONL auto-flush in dolt-native mode (bd-zlih1)
  • 1c02b4e fix(sync): disable JSONL imports in dolt-native mode, keep local writes as safety net
  • cd9768d fix(sync): disable JSONL sync exports in dolt-native mode (bd-zlih1)
  • 2726e6b fix(sync): use GetGitCommonDir for worktree creation in bare repo setups
  • c5953db fix(sync): use content-based merge for daemon pulls (GH#1358)
  • 665863e fix(test): create database before use in migrations_test.go
  • 6f89e65 fix(test): use atomic counter in TestFetchIssues_ContextCancellation
  • f5b7025 fix(test): use atomic counter to fix data race in gitlab test
  • 047174e fix(update): add config.yaml fallback for custom types in daemon mode
  • 001a6ae fix: accept simple string vars in TOML [vars] section
  • 26bed83 fix: add JSONL file locking to prevent race conditions
  • 7165f31 fix: add JSONL locking to performIncrementalExport
  • 9e397bc fix: add WAL checkpoint robustness with retry logic
  • c96e62e fix: add atomic compare-and-swap semantics to bd claim (#1474)
  • 690adbb fix: add missing placeholder for spec_id in Dolt INSERT
  • 8457d9e fix: add missing spec_id to SQL queries using scanIssues
  • 6b46f3a fix: add process-level semaphore to limit concurrent dolt access (G5)
  • bb18dad fix: add routes.jsonl to FindJSONLInDir skip list to prevent corruption
  • 823efe6 fix: add toml tags for snake_case fields in formula structs
  • 7dcfb1c fix: add transaction safety and daemon lock improvements
  • 5619c50 fix: add wisp_type to Dolt GetIssuesByIDs and insertIssueTx queries
  • 1269368 fix: advisory flock to prevent zombie bd processes from dolt lock contention
  • 9acaa85 fix: align resolve_conflicts tie-breaking with merge driver (#1481)
  • 2aff2db fix: bd cleanup --hard always prunes tombstones immediately (bd-4q8)
  • 4b80094 fix: bd ready now excludes in_progress issues to show only claimable work
  • 92d1e59 fix: deduplicate children in bd list --tree
  • 49cf54e fix: enable govet linter and resolve all IPv6 address format issues
  • dfeac38 fix: merge driver silently drops issue fields (#1480)
  • f013db9 fix: merge driver silently drops issue fields (#1480) (#1482)
  • ed71a9a fix: remove unused source return value from getGitLabConfigValue (unparam)
  • 60978cf fix: replace daemonLogger with *slog.Logger for proper structured logging
  • 62c9f9b fix: resolve all CI failures (lint, tests, nix) (#1464)
  • 87a22e0 fix: resolve connection pool deadlock in dolt dependency resolution (G10)
  • c2f3d46 fix: resolve errcheck violations in cmd/bd/gitlab.go and gitlab_sync.go
  • 309bab4 fix: resolve failing tests in daemon autostart, gitlab, and syncbranch
  • 3db3d2c fix: resolve gosec G104 unhandled rows.Close() error in doctor/perf_dolt.go
  • b169dc1 fix: resolve gosec G104 unhandled rows.Close() errors in dependencies.go
  • a7f9e86 fix: resolve remaining errcheck violations in gitlab files
  • 789ffe7 fix: resolve unused ctx lint warning in filterByLabelRegex
  • 78b657c fix: scope Dolt migration helpers to current database (bd-0gfm6)
  • 74920a8 fix: skip CREATE DATABASE for read-only commands in dolt store
  • 0bca2f5 fix: use types.Dependency end-to-end, add JSONL round-trip tests (#1481)

Others

  • 1a6bedd Document ICU build deps and hint in in...
Read more

v0.49.3

01 Feb 04:41

Choose a tag to compare

beads v0.49.3

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

  • 0b25ff2 feat: make embedded Dolt the default, server mode opt-in

Bug Fixes

  • a7cc4e1 fix(dolt): eliminate all three-table joins that trigger mergeJoinIter panic
  • 9234aa9 fix(dolt): prevent mergeJoinIter panic on type-filtered queries
  • 1079786 fix(template): filter Handlebars keywords in extractVariables (#1411)
  • 5d81329 fix(tests): extract initConfigForTest helper to prevent config state pollution
  • fe8d7c1 fix: eliminate dolt split-brain root cause (B1+B2) and fix CGO build
  • 987f5db fix: guard auto-import against nil pointer panic in dolt-native mode

v0.49.2

31 Jan 09:26

Choose a tag to compare

beads v0.49.2

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

  • e02c44d Merge PR #1290: feat: Add GitLab backend for bidirectional issue sync
  • dc8bb7a feat(cli): add bd backend and bd sync mode subcommands
  • 7810c63 feat(config): add env var overrides for Dolt server connection settings
  • 9df801e feat(config): make agent roles configurable (bd-hx8w)
  • 857d2b6 feat(context): add UserRole detection to RepoContext
  • 9e37767 feat(dep): resolve external refs in dep list for cross-rig dependencies
  • e4886a0 feat(doctor): add Dolt-specific diagnostics and performance profiling
  • abbc091 feat(gitlab): implement GitLab REST API client wrapper
  • fc27840 feat(import): process JSONL deletion markers (bd-9qywp)
  • d5a8e0f feat(init): add interactive contributor role prompt
  • a2a94e1 feat(init): auto-detect dolt server and enable server mode (gt-1mf.3)
  • 03ba29f feat(jira): add pull_prefix and push_prefix config options
  • eb07ed9 feat(kv): add key-value store commands
  • 13dbef5 feat(kv): add key-value store commands (#1164)
  • 82a2354 feat(mol): add hint to view step instructions in mol current output (#1403)
  • 9e16f34 feat(role): implement explicit role configuration via git
  • b080961 feat(sync): detect push permission errors during sync
  • 774cc5b feat: add comment_count to issue JSON views (list, ready, search)
  • c23a848 feat: add events JSONL export (opt-in via events.export config)
  • 92fd124 feat: add optional per-issue JSON metadata field (SQLite + Dolt) (#1407)

Bug Fixes

  • 2879554 fix: handle nil pointer dereference in bd restore with invalid issue ID
  • e66b775 fix(build): add CGO build tags to Dolt storage for cross-compilation
  • 9e5ea59 fix(ci): disable CGO for Windows build in goreleaser
  • 051aeb0 fix(cli): address code review feedback for backend/sync mode commands
  • e07ac18 fix(cli): use abstract error messages instead of exposing internals (bd-ats9.3.2)
  • 7448754 fix(config): add YAML config support for daemon auto-sync settings (#1294)
  • 3abec58 fix(create): remove Gas Town-specific --role-type flag (bd-31ajf)
  • 02b445e fix(daemon): make daemon start idempotent (#1334)
  • 9939e71 fix(doctor): add Dolt backend detection to all fix functions (gt-doctor-dolt-fix)
  • cb1a379 fix(doctor): add fix for stale JSONL in dolt-native mode (bd-bbo8)
  • 289512a fix(doctor): address review issues in Dolt diagnostics
  • bf194b7 fix(doctor): skip SQLite-specific checks when using Dolt backend
  • ba3a725 fix(formula): add dev build handling to local-install step
  • 93965b4 fix(formula): ignore undeclared handlebars in description text (gt-ky9loa) (#1394)
  • a907203 fix(gitlab): P0 - conflict detection before push and SyncContext
  • f9f3a03 fix(gitlab): P1 - add pagination limit and context cancellation
  • 745002e fix(gitlab): P2 - fix error handling and type safety
  • 917d8be fix(gitlab): P2-P3 - cleanup deprecated code and improve docs
  • 96a28ee fix(gitlab): address PR review findings for merge readiness
  • 8604c5e fix(gitlab): address code review round 3 feedback
  • a176177 fix(importer): remove dead code with sqlite.IsUniqueConstraintError (bd-2kgr)
  • dbc5f3c fix(kv): add key validation and exit code on missing key
  • d8f5e1f fix(linear): exclude ephemeral issues from sync push by default (#1397)
  • 9d75d41 fix(lint): add gosec nolint for events.jsonl file permissions
  • 18b7baa fix(lint): use 0600 permissions for events.jsonl
  • 7e3b828 fix(main): use GetDoltDatabase() instead of raw cfg.Database for server mode
  • ba8ca25 fix(mcp): Update Stats model to match bd stats --json output (#1392)
  • a5c1664 fix(merge): tombstone should win over closed in resolve_conflicts.go
  • 82f6435 fix(migrate): use storage factory for backend-aware database access
  • 306de3b fix(rpc): handle EINVAL from chmod on Unix sockets in containers (#1399)
  • e880159 fix(state): allow event type in CreateIssue validation (#1398)
  • 1752e58 fix(storage): document SQLite-only API and make FindAllDatabases backend-aware
  • aa663c4 fix(storage): move BatchCreateOptions to storage package for backend-agnostic batch creation
  • de64d81 fix(storage): use factory for backend-aware storage creation (bd-m2jr)
  • e78bcc0 fix(sync): normalize JSONL path in CommitToSyncBranch for sync-branch mode (#1340)
  • 6320e2a fix(sync): respect dolt-native mode in JSONL export paths
  • 1f24187 fix(sync): respect dolt-native mode in daemon_sync_branch.go (bd-ats9.3.1)
  • e22f7d8 fix(sync): set GIT_DIR and GIT_WORK_TREE in GitCmd for worktree support
  • 9d669e0 fix(sync): use store.Path() for database mtime update
  • 704affb fix(types): generalize RoleType comment, file followup (bd-hx8w)
  • c156580 fix(update): use IsValidWithCustom for --type validation (#1356)
  • ed6d21d fix: Auto-stage JSONL files after flush in pre-push hook
  • b1f0774 fix: check rows.Err() in SQLite GetAllEventsSince
  • 1fefbaf fix: code review fixes for bd-hx8w
  • 8afd0a0 fix: correct error message for --gated flag (#1391)
  • a696a36 fix: detect and clean stale Dolt lock files (gt-dolt-lockfiles)
  • 6f707fc fix: ensure sync-branch worktree exists on fresh clone (#1349)
  • 8b3432a fix: exclude tombstones from external_ref uniqueness validation
  • b6b5a0a fix: graceful server-to-embedded fallback when Dolt server unreachable (gt-dolt-fallback)
  • 617d4ac fix: rename events.export config key to events-export
  • 02f889f fix: skip JSONL staleness check in dolt-native mode (gt-dolt-stale-jsonl)
  • bd17093 fix: skip sync when source and destination JSONL paths are identical (#1367)

Others

  • c8abf99 Add GitLab types for beads integration (Issue #4)
  • 04b34b2 Add bd gitlab command with sync, status, projects subcommands
  • 789a0a4 Add export-state/ to gitignore template
  • efe31b4 Add integration tests for GitLab backend (Issue #11)
  • 70e5cc1 Add review fixes: URL encoding, WithEndpoint, FetchIssueByIID, CreateIssueLink
  • f271075 Add unit tests for GitLab backend (Issue #10)
  • b600c47 Fix code review issues: path-based IDs, ID collisions, warnings
  • 78adcf5 Fix daemon to respect BD_SOCKET environment variable
  • 7af8153 Implement GitLab sync (Issue #7): pull, push, conflict detection
  • e8dd9b4 Implement GitLab to beads mapping (Issue #6)
  • 1f5cb9f Implement conflict resolution strategies (Issue #8)
  • 2c7e2d8 Revert Dolt lock cleanup workaround; fix embedded Dolt open via driver retries (#1389)
  • c6bb265 Show blocking dependencies inline in bd list output
  • 5457c1d Update COMMUNITY_TOOLS.md
  • ed3d36d chore(beads): sync after closing bd-7nd6t
  • 379c4c1 chore(deps): bump fastmcp in /integrations/beads-mcp (#1345)
  • b8f4f91...
Read more