diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b15079a..722a42ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.30.3] - 2025-12-17 + +### Fixed + +- **Data loss race condition** (bd-b6xo) - Removed unsafe `ClearDirtyIssues()` method + - Old method cleared ALL dirty issues, risking data loss if export failed partway + - All code now uses `ClearDirtyIssuesByID()` which only clears exported issues + - Affects: `internal/storage/sqlite/dirty.go`, `internal/storage/memory/memory.go` + +### Closed (Already Implemented) + +- **Stale database warning** (bd-2q6d) - Commands now warn when database is out of sync with JSONL +- **Staleness check error handling** (bd-n4td, bd-o4qy) - Proper warnings and error returns + ## [0.30.2] - 2025-12-16 ### Added diff --git a/cmd/bd/info.go b/cmd/bd/info.go index 4eb91f4b..81bf2a4e 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.30.3", + Date: "2025-12-17", + Changes: []string{ + "SECURITY: Data loss race condition fixed (bd-b6xo) - Removed unsafe ClearDirtyIssues() method", + "Stale database warning (bd-2q6d) - Commands now warn when DB is out of sync with JSONL", + "Staleness check error handling improved (bd-n4td, bd-o4qy) - Proper warnings on check failures", + }, + }, { Version: "0.30.2", Date: "2025-12-16", diff --git a/cmd/bd/version.go b/cmd/bd/version.go index 55abceef..9442389e 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.30.2" + Version = "0.30.3" // Build can be set via ldflags at compile time Build = "dev" // Commit and branch the git revision the binary was built from (optional ldflag)