diff --git a/CHANGELOG.md b/CHANGELOG.md index 914e7ef2..72243455 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.26.2] - 2025-11-29 + +### Fixed + +- **Hash-Based Staleness Detection (bd-f2f)**: Prevents stale DB from corrupting JSONL when counts match + - Previous count-based check (0.26.1) missed cases where DB and JSONL had similar issue counts + - New detection computes SHA256 hash of JSONL content and stores it after import + - On export, compares current JSONL hash against stored hash to detect modifications + - If JSONL was modified externally (e.g., by git pull), triggers re-import before export + - Ensures database is always synchronized with JSONL before exporting changes + ## [0.26.1] - 2025-11-29 ### Fixed diff --git a/cmd/bd/info.go b/cmd/bd/info.go index fb722c1b..b2a668ad 100644 --- a/cmd/bd/info.go +++ b/cmd/bd/info.go @@ -287,6 +287,15 @@ type VersionChange struct { // versionChanges contains agent-actionable changes for recent versions var versionChanges = []VersionChange{ + { + Version: "0.26.2", + Date: "2025-11-29", + Changes: []string{ + "FIX (bd-f2f): Hash-based staleness detection prevents stale DB from corrupting JSONL", + "Detects content differences even when issue counts match between DB and JSONL", + "Computes SHA256 hash of JSONL content to detect mismatches missed by count-based checks", + }, + }, { Version: "0.26.1", Date: "2025-11-29", diff --git a/cmd/bd/version.go b/cmd/bd/version.go index 57267a22..43919b69 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.26.1" + Version = "0.26.2" // Build can be set via ldflags at compile time Build = "dev" // Commit and branch the git revision the binary was built from (optional ldflag)