|
|
|
|
@@ -7,6 +7,261 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
|
|
|
|
|
|
|
## [Unreleased]
|
|
|
|
|
|
|
|
|
|
## [0.24.0] - 2025-11-20
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
|
|
- **bd doctor --fix**: Automatic repair functionality (bd-ykd9, 7806937)
|
|
|
|
|
- Automatically fixes issues detected by `bd doctor`
|
|
|
|
|
- Repairs common database inconsistencies without manual intervention
|
|
|
|
|
|
|
|
|
|
- **bd clean**: Remove temporary merge artifacts (e8355c2)
|
|
|
|
|
- Cleans up `.base`, `.ours`, `.theirs` snapshot files
|
|
|
|
|
- Helps maintain clean `.beads/` directory after merges
|
|
|
|
|
|
|
|
|
|
- **bd cleanup**: Enhanced bulk deletion command
|
|
|
|
|
- Delete multiple closed issues efficiently
|
|
|
|
|
- Improved from previous versions with better performance
|
|
|
|
|
|
|
|
|
|
- **.beads/README.md Generation**: Auto-generated during `bd init` (bd-m7ge, e1c8853)
|
|
|
|
|
- Provides project-specific beads documentation
|
|
|
|
|
- Helps new contributors understand the setup
|
|
|
|
|
|
|
|
|
|
- **blocked_issues_cache Table**: Performance optimization for GetReadyWork (62c1f42, ed23f8f)
|
|
|
|
|
- Caches blocked issue relationships
|
|
|
|
|
- Dramatically improves `bd ready` performance on large databases
|
|
|
|
|
|
|
|
|
|
- **Commit Hash in Version Output**: Enhanced version reporting (bd-hpt5, 7c96142)
|
|
|
|
|
- `bd version` now shows git commit hash
|
|
|
|
|
- Helps identify exact build for debugging
|
|
|
|
|
|
|
|
|
|
- **Auto-detection of Issue Prefix**: Scans git history to detect prefix (#277, 8f37904)
|
|
|
|
|
- Automatically discovers project's issue prefix
|
|
|
|
|
- Reduces manual configuration needed
|
|
|
|
|
|
|
|
|
|
- **external_ref Support in Daemon RPC**: Full daemon mode support (#304, 57b6ea6)
|
|
|
|
|
- MCP server can now set external references in daemon mode
|
|
|
|
|
- Parity with CLI functionality
|
|
|
|
|
|
|
|
|
|
- **Context Optimization Features**: AI agent improvements (#297, f7e80dd)
|
|
|
|
|
- Context propagation with graceful cancellation (bd-rtp, bd-yb8, bd-2o2, 57253f9)
|
|
|
|
|
- Better memory management for long-running agent sessions
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
- **Critical: Auto-import Resurrection Bug** (bd-khnb, 0020eb4, e28e3ea, 7b6370f)
|
|
|
|
|
- Fixed critical bug where deleted issues were resurrected during auto-import
|
|
|
|
|
- Cleaned up 497+ resurrected issues from production database
|
|
|
|
|
- Prevents data corruption from improper JSONL replay
|
|
|
|
|
|
|
|
|
|
- **Critical: bd sync Auto-resolves Conflicts** (bd-ca0b, a1e5075)
|
|
|
|
|
- `bd sync` now automatically resolves conflicts instead of failing
|
|
|
|
|
- Dramatically improves multi-agent workflow reliability
|
|
|
|
|
- Eliminates manual conflict resolution in most cases
|
|
|
|
|
|
|
|
|
|
- **Critical: Content-based Timestamp Skew Prevention** (bd-lm2q, d0e7047)
|
|
|
|
|
- Fixed false-positive "JSONL is newer than database" warnings
|
|
|
|
|
- Uses content-based comparison instead of timestamp-only
|
|
|
|
|
- Prevents unnecessary imports that would corrupt state
|
|
|
|
|
|
|
|
|
|
- **Critical: bd sync DB Changes After Import** (81c741b)
|
|
|
|
|
- Ensures database changes are properly applied after import
|
|
|
|
|
- Fixes desync issues between JSONL and database
|
|
|
|
|
|
|
|
|
|
- **Critical: Context Propagation Lifecycle Bugs** (bd-rtp, bd-yb8, bd-2o2, 57253f9, a17e4af)
|
|
|
|
|
- Fixed multiple context propagation issues causing crashes
|
|
|
|
|
- Graceful cancellation support for long-running operations
|
|
|
|
|
- Improved stability for AI agent workflows
|
|
|
|
|
|
|
|
|
|
- **Critical: Race Condition in Auto-flush** (bd-52, a9b2f9f)
|
|
|
|
|
- Fixed race condition in auto-flush mechanism
|
|
|
|
|
- Prevents data loss during concurrent operations
|
|
|
|
|
|
|
|
|
|
- **Critical: Resource Leaks and Error Handling** (#327, fb65163)
|
|
|
|
|
- Fixed critical resource leaks in daemon mode
|
|
|
|
|
- Improved error handling throughout codebase
|
|
|
|
|
|
|
|
|
|
- **Critical: In-memory Database Deadlock** (bd-yvlc, 944ed10)
|
|
|
|
|
- Fixed deadlock in migrations when using in-memory database
|
|
|
|
|
- Improves test reliability
|
|
|
|
|
|
|
|
|
|
- **MCP Schema Generation Recursion Bug** (GH#346, f3a678f)
|
|
|
|
|
- Fixed infinite recursion in MCP schema generation
|
|
|
|
|
- Prevents stack overflow crashes
|
|
|
|
|
|
|
|
|
|
- **FK Constraint Failures** (bd-5arw, 345766b)
|
|
|
|
|
- Fixed foreign key constraint failures in AddComment and ApplyCompaction
|
|
|
|
|
- Improved data integrity
|
|
|
|
|
|
|
|
|
|
- **--parent Flag Behavior** (b9919fe)
|
|
|
|
|
- Now correctly creates parent-child dependency relationships
|
|
|
|
|
- Previously was creating wrong dependency type
|
|
|
|
|
|
|
|
|
|
- **Exact ID Matching Priority** (gh-316, 934ae04)
|
|
|
|
|
- Prefers exact ID matches over prefix matches
|
|
|
|
|
- Prevents ambiguous ID resolution
|
|
|
|
|
|
|
|
|
|
- **Daemon Lifetime on macOS** (GH#278, 68f9bef)
|
|
|
|
|
- Fixed daemon exiting after 5s on macOS due to PID 1 parent monitoring
|
|
|
|
|
- Daemon now runs reliably on macOS
|
|
|
|
|
|
|
|
|
|
- **Daemon Export/JSONL Sync** (GH#301, #321, 04a1996)
|
|
|
|
|
- Fixed daemon export leaving JSONL newer than database
|
|
|
|
|
- Ensures proper sync between export and database state
|
|
|
|
|
|
|
|
|
|
- **bd doctor Hash ID Detection** (GH#322, 8c1f865)
|
|
|
|
|
- Fixed doctor incorrectly diagnosing hash IDs as sequential
|
|
|
|
|
- Improved detection logic for ID format validation
|
|
|
|
|
|
|
|
|
|
- **ResolvePartialID Handling** (GH#336, 4432af0)
|
|
|
|
|
- Improved ResolvePartialID / ResolveID handling for `bd show`
|
|
|
|
|
- Better partial ID matching and error messages
|
|
|
|
|
|
|
|
|
|
- **bd sync Windows Upstream Detection** (#281, 1deaad1)
|
|
|
|
|
- Fixed upstream branch detection on Windows
|
|
|
|
|
- Improved cross-platform compatibility
|
|
|
|
|
|
|
|
|
|
- **Compact Command Daemon Mode** (#294, d9904a8)
|
|
|
|
|
- Fixed compact command failing with 'SQLite DB needed' error when daemon running
|
|
|
|
|
- Removed premature store check, uses ensureDirectMode
|
|
|
|
|
|
|
|
|
|
- **DB mtime Update After Import** (#296, 9dff345)
|
|
|
|
|
- Fixed DB mtime not being updated after import with 0 changes
|
|
|
|
|
- Prevents false staleness warnings
|
|
|
|
|
|
|
|
|
|
- **FOREIGN KEY Constraint on Non-existent Issues** (09666b4)
|
|
|
|
|
- Fixed constraint failures when operating on non-existent issues
|
|
|
|
|
- Better error handling and validation
|
|
|
|
|
|
|
|
|
|
- **Monitor WebUI Daemon Detection** (e36baee)
|
|
|
|
|
- Fixed monitor-webui failure to detect running daemon
|
|
|
|
|
- Improved daemon health checking
|
|
|
|
|
|
|
|
|
|
- **Onboard Test Deadlock on Windows** (4e22214)
|
|
|
|
|
- Fixed deadlock in onboard tests on Windows
|
|
|
|
|
- Improved test stability
|
|
|
|
|
|
|
|
|
|
- **Windows Concurrent Issue Creation** (4cd26c8)
|
|
|
|
|
- Fixed concurrent issue creation failures on Windows
|
|
|
|
|
- Better file locking on Windows
|
|
|
|
|
|
|
|
|
|
- **Missing Git Hook Message** (#306, 92f3af5)
|
|
|
|
|
- Improved messaging when git hooks are missing
|
|
|
|
|
- Clearer instructions for users
|
|
|
|
|
|
|
|
|
|
- **Prefix Detection for Hyphenated Apps** (83472ac, bd-fasa)
|
|
|
|
|
- Fixed prefix detection to only use first hyphen
|
|
|
|
|
- Handles hyphenated application names correctly
|
|
|
|
|
|
|
|
|
|
- **External Ref Migration Failures** (8be792a)
|
|
|
|
|
- Fixed external_ref migration failure on old databases
|
|
|
|
|
- Backward compatibility improvements
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
|
|
- **Performance Improvements** (#319, 690c73f):
|
|
|
|
|
- Optimized GetReadyWork to use blocked_issues_cache (ed23f8f)
|
|
|
|
|
- Replaced N+1 label queries with bulk fetch in `bd list` (968d9e2)
|
|
|
|
|
- Cache invalidation for blocked_issues_cache (614ba8a)
|
|
|
|
|
- Significant speedup for large databases
|
|
|
|
|
|
|
|
|
|
- **FlushManager Improvements** (445857f)
|
|
|
|
|
- Added constants for magic numbers
|
|
|
|
|
- Enhanced error logging
|
|
|
|
|
- Comprehensive functional tests
|
|
|
|
|
|
|
|
|
|
- **Auto-upgrade .beads/.gitignore** (#300, f4a2f87)
|
|
|
|
|
- Automatically upgrades .gitignore on bd operations
|
|
|
|
|
- Ensures latest patterns are always applied
|
|
|
|
|
|
|
|
|
|
- **Code Refactoring**:
|
|
|
|
|
- Extract duplicated validation logic to internal/validation (d5239ee)
|
|
|
|
|
- Centralize error handling patterns in storage layer (bd-bwk2, 3b2cac4)
|
|
|
|
|
- Extract duplicated validation and flag logic (bd-g5p7, bbfedb0)
|
|
|
|
|
- Improved code organization and maintainability
|
|
|
|
|
|
|
|
|
|
- **Documentation Improvements**:
|
|
|
|
|
- Document files created by bd init and clarify .gitattributes (721274b, e7fd1dd)
|
|
|
|
|
- How to resolve merge conflicts in .beads/beads.jsonl (4985a68)
|
|
|
|
|
- Document MCP tools loading issue in Claude Code (GH#346, 79b8dbe)
|
|
|
|
|
- Add uv prerequisite to Claude Code plugin docs (#293, a020c6c)
|
|
|
|
|
- Don't auto-install Go in Windows installer (#302, 0cba73b)
|
|
|
|
|
|
|
|
|
|
- **Improved Error Messages** (#349, 27c0c33)
|
|
|
|
|
- Compact error messages
|
|
|
|
|
- Remove bogus merge suggestion
|
|
|
|
|
- Add daemon/maintenance docs
|
|
|
|
|
|
|
|
|
|
- **AGENTS.md Refactoring** (21a0656)
|
|
|
|
|
- Extracted detailed instructions to prevent context pollution
|
|
|
|
|
- Better organization for AI agent consumption
|
|
|
|
|
|
|
|
|
|
- **Type Safety Improvements** (9e57cb6)
|
|
|
|
|
- Improved type safety in beads-mcp
|
|
|
|
|
- Fixed minor type issues
|
|
|
|
|
|
|
|
|
|
- **Test Improvements**:
|
|
|
|
|
- Fix CI regressions and stabilize tests (7b63b5a)
|
|
|
|
|
- Fix parallel test deadlock (1fc9bf6)
|
|
|
|
|
- Annotate gosec-safe file accesses (bf9b2c8)
|
|
|
|
|
|
|
|
|
|
- **Local-only Git Repo Support** (bd-biwp, 4de9f01)
|
|
|
|
|
- Support repositories without remote origin
|
|
|
|
|
- Better handling of local development workflows
|
|
|
|
|
|
|
|
|
|
- **Version Marker in Post-checkout Hook** (ad2154b)
|
|
|
|
|
- Add version marker to post-checkout hook
|
|
|
|
|
- Include in CheckGitHooks for better version tracking
|
|
|
|
|
|
|
|
|
|
### Performance
|
|
|
|
|
|
|
|
|
|
- **GetReadyWork Optimization** (bd-5qim, 690c73f, 62c1f42, ed23f8f)
|
|
|
|
|
- Introduced blocked_issues_cache table
|
|
|
|
|
- Eliminated expensive recursive queries
|
|
|
|
|
- Dramatically faster for large dependency graphs
|
|
|
|
|
|
|
|
|
|
- **bd list N+1 Query Elimination** (968d9e2)
|
|
|
|
|
- Replaced per-issue label queries with bulk fetch
|
|
|
|
|
- Significant speedup when listing many labeled issues
|
|
|
|
|
|
|
|
|
|
### Community
|
|
|
|
|
|
|
|
|
|
- **Pull Requests**:
|
|
|
|
|
- #338: Prevent daemon from exiting when launcher process exits (@cpdata)
|
|
|
|
|
- #337: Improve ResolvePartialID handling (@cpdata)
|
|
|
|
|
- #333: Fix doctor incorrectly diagnosing hash IDs (@cpdata)
|
|
|
|
|
- #327: Address critical resource leaks and error handling
|
|
|
|
|
- #306: Improve missing git hook message
|
|
|
|
|
- #304: Add external_ref support to daemon mode RPC
|
|
|
|
|
- #302: Windows installer improvements
|
|
|
|
|
- #300: Automatic .beads/.gitignore upgrade
|
|
|
|
|
- #297: Context optimization features for AI agents
|
|
|
|
|
- #296: Fix DB mtime update after import
|
|
|
|
|
- #294: Fix compact command in daemon mode
|
|
|
|
|
- #293: Add uv prerequisite documentation
|
|
|
|
|
- #281: Fix bd sync Windows upstream detection
|
|
|
|
|
- #277: Auto-detection of issue prefix from git history
|
|
|
|
|
|
|
|
|
|
- **Dependency Updates**:
|
|
|
|
|
- Bump github.com/anthropics/anthropic-sdk-go from 1.17.0 to 1.18.0 (#330)
|
|
|
|
|
- Bump golang.org/x/mod from 0.29.0 to 0.30.0 (#331)
|
|
|
|
|
- Bump fastmcp from 2.13.0.2 to 2.13.1 (#332)
|
|
|
|
|
- Bump pydantic from 2.12.0 to 2.12.4 (#285)
|
|
|
|
|
- Bump pydantic-settings from 2.11.0 to 2.12.0 (#286)
|
|
|
|
|
- Bump golangci/golangci-lint-action from 8 to 9 (#287)
|
|
|
|
|
- Bump golang.org/x/sys from 0.36.0 to 0.38.0 (#288)
|
|
|
|
|
- Bump github.com/ncruces/go-sqlite3 from 0.29.1 to 0.30.1 (#290)
|
|
|
|
|
- Bump github.com/google/go-cmp from 0.6.0 to 0.7.0 (#291)
|
|
|
|
|
|
|
|
|
|
### Notes
|
|
|
|
|
|
|
|
|
|
This release represents a major stability and performance improvement with **179 commits** since 0.23.1. Key themes:
|
|
|
|
|
- **Reliability**: Fixed critical auto-import resurrection bug and multiple daemon issues
|
|
|
|
|
- **Performance**: Significant optimizations for `bd ready` and `bd list`
|
|
|
|
|
- **AI Agent Support**: Improved context propagation and error handling
|
|
|
|
|
- **Cross-platform**: Better Windows and macOS support
|
|
|
|
|
- **Developer Experience**: Auto-detection, better error messages, improved docs
|
|
|
|
|
|
|
|
|
|
## [0.23.1] - 2025-11-08
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|