diff --git a/CHANGELOG.md b/CHANGELOG.md index 6dfbb75f..95451f66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,29 @@ 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.43.0] - 2026-01-02 + +### Added + +- **Step.Gate evaluation** - Phase 1: Human Gates + - Gate steps that require human approval before proceeding + - Foundation for workflow control points + +- **`bd lint` command** - Template validation + - Validate issue templates against schema + - `--validate` flag also added to `bd create` + +- **`bd ready --pretty`** - Formatted output + - Human-friendly display of ready work + +### Fixed + +- **Cross-rig routing** - `bd close` and `bd update` now support cross-rig operations via prefix routing +- **Agent ID validation** - Now accepts any rig prefix (GH#827) +- **`bd sync` in bare repo worktrees** - Fixed exit 128 error (GH#827) +- **`bd --no-db dep tree`** - Now shows complete tree (GH#836) +- **`.beads/last-touched`** - Restored to gitignore template (GH#838) + ## [0.42.0] - 2025-12-30 ### Added diff --git a/cmd/bd/version.go b/cmd/bd/version.go index 76e3c236..d59ba9cd 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.42.0" + Version = "0.43.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/cmd/bd/version_tracking_test.go b/cmd/bd/version_tracking_test.go index d82c1ea8..3daadf91 100644 --- a/cmd/bd/version_tracking_test.go +++ b/cmd/bd/version_tracking_test.go @@ -6,6 +6,7 @@ import ( "path/filepath" "testing" + "github.com/steveyegge/beads/internal/git" "github.com/steveyegge/beads/internal/storage/sqlite" ) @@ -96,6 +97,9 @@ func TestGetVersionsSinceOrder(t *testing.T) { } func TestTrackBdVersion_NoBeadsDir(t *testing.T) { + // Reset global state for test isolation + ensureCleanGlobalState(t) + // Save original state origUpgradeDetected := versionUpgradeDetected origPreviousVersion := previousVersion @@ -104,10 +108,21 @@ func TestTrackBdVersion_NoBeadsDir(t *testing.T) { previousVersion = origPreviousVersion }() + // Reset state to ensure clean starting point + versionUpgradeDetected = false + previousVersion = "" + // Change to temp directory with no .beads tmpDir := t.TempDir() t.Chdir(tmpDir) + // Reset git caches so IsWorktree() returns fresh results for the temp dir + git.ResetCaches() + + // Set BEADS_DIR to temp directory to prevent FindBeadsDir from walking up + // or finding the worktree's main repository .beads directory + t.Setenv("BEADS_DIR", tmpDir) + // trackBdVersion should silently succeed trackBdVersion()