diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index d1e717fd..41fc5259 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,7 +9,7 @@ "name": "beads", "source": "./", "description": "AI-supervised issue tracker for coding workflows", - "version": "0.43.0" + "version": "0.44.0" } ] } diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 4184212b..e38e51af 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "beads", "description": "AI-supervised issue tracker for coding workflows. Manage tasks, discover work, and maintain context with simple CLI commands.", - "version": "0.43.0", + "version": "0.44.0", "author": { "name": "Steve Yegge", "url": "https://github.com/steveyegge" diff --git a/CHANGELOG.md b/CHANGELOG.md index 95451f66..ea27be51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,121 @@ All notable changes to the beads project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.44.0] - 2026-01-04 + +### Added + +- **Recipe-based setup architecture** - Major refactor of `bd init` (bd-i3ed) + - Modular, composable setup via recipes + - Cleaner separation of init concerns + +- **Gate evaluation system** - Phases 2-4 + - `bd gate check` for timer and GitHub gate evaluation (GH#884) + - `bd gate discover` for auto-discovery of gh:run await_id (bd-z6kw) + - `bd gate add-waiter` and `bd gate show` for phase handoff + - Cross-rig bead gate support + - Gate-aware beads-release.formula v2 (bd-r24e) + - Merge-slot gate for serialized conflict resolution + +- **Dependency command improvements** + - `--blocks` shorthand flag for natural dependency syntax (GH#884) + - `--blocked-by` and `--depends-on` flag aliases (bd-09kt) + +- **Multi-prefix support** - `allowed_prefixes` config option (#881) + - Configure multiple valid prefixes per rig + - Enables flexible issue routing + +- **Sync improvements** + - Detect uncommitted JSONL changes before sync (GH#885) + - `bd doctor` sync divergence check for JSONL/SQLite/git + - `BD_DEBUG_SYNC` env for protection debugging + +- **`PRIME.md` override** - Workflow customization (GH#876) + - Custom prime output per project + +- **Daemon config** - `daemon.auto_*` settings in config.yaml (GH#871) + +- **Compound visualization** - `bd mol show` displays compound structure (bd-iw4z) + +- **`/handoff` skill** - Session cycling slash command (bd-xwvo) + +### Fixed + +- **`bd ready` now shows in_progress issues** (#894) + - Previously filtered out your active work + +- **`bd show` displays external_ref field** in text output (#899) + +- **macOS case-insensitive path handling** (GH#880) + - Worktree validation, daemon paths, git operations + - Canonicalize path case for consistency + +- **Sync metadata timing** - Finalize after commit, not push (GH#885) + - Defer SQLite metadata updates until after git commit + - Prevents sync state corruption + +- **Sparse checkout isolation** - Prevent config leaking to main repo (GH#886) + - Disable sparse checkout on main repo after worktree creation + +- **`close_reason` preserved** during merge/sync (GH#891) + +- **Parent hub contamination** during `bd init` (GH#896) + +- **NoDb mode** - Set cmdCtx.StoreActive correctly (GH#897) + +- **Event storm prevention** when gitRefsPath is empty (#883) + +- **Doctor improvements** + - Detect status mismatches between DB and JSONL (GH#885) + - Detect missing git repo, improve daemon startup message (#890) + - Skip JSONL tracking checks in sync-branch mode (GH#858) + +- **`bd rename-prefix`** - Sync JSONL before and after (#893) + +- **`sync.remote` config** now respected in `bd sync` (GH#872) + +- **Snapshot protection** made timestamp-aware (GH#865) + +- **Hyphenated rig names** supported in agent IDs (GH#854, GH#868) + +- **Cross-repo agent routing** (#864) + +- **Config key normalization** - GetYamlConfig matches SetYamlConfig (#874) + +- **Daemon startup failure** - Propagate reason to user (GH#863) + +- **Molecule variable substitution** in root bead title/desc + +- **Submodule detection** - Correct main repo root detection (#849) + +- **`bd merge` output** sorted by issue id (#859) + +- **Auto-create agent bead** when `bd agent state` called on non-existent agent + +- **Windows zip extraction** - Add retry logic for npm install + +- **Cycle detection** runs in daemon mode for --blocks flag + +- **`bd slot set`** cross-beads prefix routing (bd-hmeb) + +- **`git status` noise** - Hide issues.jsonl when sync.branch configured (GH#870) + +### Changed + +- **Skill names** updated from `/bd-*` to `/beads:*` (#862) + +### Performance + +- **Batch external dep checks** by project (bd-687v) + +### Internal + +- Extract warnIfCyclesExist helper +- Gate field parsing and creation tests +- Sync unit tests for gitHasUncommittedBeadsChanges +- SQLite cache rebuild benchmarks +- Repository guards in deployment workflows + ## [0.43.0] - 2026-01-02 ### Added diff --git a/cmd/bd/info.go b/cmd/bd/info.go index 12663ac9..0e469d13 100644 --- a/cmd/bd/info.go +++ b/cmd/bd/info.go @@ -296,6 +296,41 @@ type VersionChange struct { // versionChanges contains agent-actionable changes for recent versions var versionChanges = []VersionChange{ + { + Version: "0.44.0", + Date: "2026-01-04", + Changes: []string{ + "NEW: Recipe-based setup - bd init refactored to modular recipes (bd-i3ed)", + "NEW: Gate evaluation phases 2-4 - Timer, GitHub, cross-rig gate support", + "NEW: bd gate check/discover/add-waiter/show - Gate workflow commands", + "NEW: --blocks flag for bd dep add - Natural dependency syntax (GH#884)", + "NEW: --blocked-by/--depends-on aliases for bd dep add (bd-09kt)", + "NEW: Multi-prefix support - allowed_prefixes config option (#881)", + "NEW: Sync divergence detection - JSONL/SQLite/git consistency checks (GH#885)", + "NEW: PRIME.md override - Custom prime output per project (GH#876)", + "NEW: Compound visualization - bd mol show displays compound structure (bd-iw4z)", + "NEW: /handoff skill - Session cycling slash command (bd-xwvo)", + "FIX: bd ready now shows in_progress issues (#894)", + "FIX: macOS case-insensitive path handling for worktrees/daemon (GH#880)", + "FIX: Sync metadata timing - finalize after commit not push (GH#885)", + "FIX: Sparse checkout isolation - prevent config leak to main repo (GH#886)", + "FIX: close_reason preserved during merge/sync (GH#891)", + "FIX: Hyphenated rig names supported in agent IDs (GH#854, GH#868)", + }, + }, + { + Version: "0.43.0", + Date: "2026-01-02", + Changes: []string{ + "NEW: Step.Gate evaluation Phase 1 - Human gates for workflow control", + "NEW: bd lint command - Template validation against schema", + "NEW: bd ready --pretty - Formatted human-friendly output", + "FIX: Cross-rig routing for bd close and bd update", + "FIX: Agent ID validation accepts any rig prefix (GH#827)", + "FIX: bd sync in bare repo worktrees - Exit 128 error (GH#827)", + "FIX: bd --no-db dep tree shows complete tree (GH#836)", + }, + }, { Version: "0.42.0", Date: "2025-12-30", diff --git a/cmd/bd/templates/hooks/post-checkout b/cmd/bd/templates/hooks/post-checkout index 20baa157..79ea13a2 100755 --- a/cmd/bd/templates/hooks/post-checkout +++ b/cmd/bd/templates/hooks/post-checkout @@ -1,6 +1,6 @@ #!/usr/bin/env sh # bd-shim v1 -# bd-hooks-version: 0.43.0 +# bd-hooks-version: 0.44.0 # # bd (beads) post-checkout hook - thin shim # diff --git a/cmd/bd/templates/hooks/post-merge b/cmd/bd/templates/hooks/post-merge index 5dbc5661..1cd62cae 100755 --- a/cmd/bd/templates/hooks/post-merge +++ b/cmd/bd/templates/hooks/post-merge @@ -1,6 +1,6 @@ #!/usr/bin/env sh # bd-shim v1 -# bd-hooks-version: 0.43.0 +# bd-hooks-version: 0.44.0 # # bd (beads) post-merge hook - thin shim # diff --git a/cmd/bd/templates/hooks/pre-commit b/cmd/bd/templates/hooks/pre-commit index c3df5a79..799c5a24 100755 --- a/cmd/bd/templates/hooks/pre-commit +++ b/cmd/bd/templates/hooks/pre-commit @@ -1,6 +1,6 @@ #!/usr/bin/env sh # bd-shim v1 -# bd-hooks-version: 0.43.0 +# bd-hooks-version: 0.44.0 # # bd (beads) pre-commit hook - thin shim # diff --git a/cmd/bd/templates/hooks/pre-push b/cmd/bd/templates/hooks/pre-push index 3a80cc30..58509019 100755 --- a/cmd/bd/templates/hooks/pre-push +++ b/cmd/bd/templates/hooks/pre-push @@ -1,6 +1,6 @@ #!/usr/bin/env sh # bd-shim v1 -# bd-hooks-version: 0.43.0 +# bd-hooks-version: 0.44.0 # # bd (beads) pre-push hook - thin shim # diff --git a/cmd/bd/version.go b/cmd/bd/version.go index d59ba9cd..6cc7b264 100644 --- a/cmd/bd/version.go +++ b/cmd/bd/version.go @@ -14,7 +14,7 @@ import ( var ( // Version is the current version of bd (overridden by ldflags at build time) - Version = "0.43.0" + Version = "0.44.0" // Build can be set via ldflags at compile time Build = "dev" // Commit and branch the git revision the binary was built from (optional ldflag) diff --git a/integrations/beads-mcp/pyproject.toml b/integrations/beads-mcp/pyproject.toml index ecde59bb..fd6884c3 100644 --- a/integrations/beads-mcp/pyproject.toml +++ b/integrations/beads-mcp/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "beads-mcp" -version = "0.43.0" +version = "0.44.0" description = "MCP server for beads issue tracker." readme = "README.md" requires-python = ">=3.10" diff --git a/integrations/beads-mcp/src/beads_mcp/__init__.py b/integrations/beads-mcp/src/beads_mcp/__init__.py index 5b4d7365..75edf87e 100644 --- a/integrations/beads-mcp/src/beads_mcp/__init__.py +++ b/integrations/beads-mcp/src/beads_mcp/__init__.py @@ -4,4 +4,4 @@ This package provides an MCP (Model Context Protocol) server that exposes beads (bd) issue tracker functionality to MCP Clients. """ -__version__ = "0.43.0" +__version__ = "0.44.0" diff --git a/npm-package/package.json b/npm-package/package.json index 9b759dcf..35d71b03 100644 --- a/npm-package/package.json +++ b/npm-package/package.json @@ -1,6 +1,6 @@ { "name": "@beads/bd", - "version": "0.43.0", + "version": "0.44.0", "description": "Beads issue tracker - lightweight memory system for coding agents with native binary support", "main": "bin/bd.js", "bin": {