chore: Bump version to 0.24.0

Updated all component versions:
- bd CLI: 0.23.1 → 0.24.0
- Plugin: 0.23.1 → 0.24.0
- MCP server: 0.23.1 → 0.24.0
- npm package: 0.23.1 → 0.24.0
- Documentation: 0.23.1 → 0.24.0

Added comprehensive CHANGELOG.md entry for 0.24.0 with 179 commits:
- Critical bug fixes (auto-import resurrection, sync conflicts, resource leaks)
- Performance improvements (GetReadyWork optimization, N+1 query elimination)
- New features (bd doctor --fix, bd clean, auto-detection)
- Enhanced AI agent support (context propagation, error handling)
- Cross-platform improvements (Windows, macOS stability)
This commit is contained in:
Steve Yegge
2025-11-20 22:14:44 -05:00
parent 167ab6788b
commit 00840aa72f
11 changed files with 265 additions and 10 deletions

View File

@@ -9,7 +9,7 @@
"name": "beads", "name": "beads",
"source": "./", "source": "./",
"description": "AI-supervised issue tracker for coding workflows", "description": "AI-supervised issue tracker for coding workflows",
"version": "0.23.1" "version": "0.24.0"
} }
] ]
} }

View File

@@ -1,7 +1,7 @@
{ {
"name": "beads", "name": "beads",
"description": "AI-supervised issue tracker for coding workflows. Manage tasks, discover work, and maintain context with simple CLI commands.", "description": "AI-supervised issue tracker for coding workflows. Manage tasks, discover work, and maintain context with simple CLI commands.",
"version": "0.23.1", "version": "0.24.0",
"author": { "author": {
"name": "Steve Yegge", "name": "Steve Yegge",
"url": "https://github.com/steveyegge" "url": "https://github.com/steveyegge"

View File

@@ -7,6 +7,261 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [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 ## [0.23.1] - 2025-11-08
### Fixed ### Fixed

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# bd-hooks-version: 0.23.1 # bd-hooks-version: 0.24.0
# #
# Beads post-checkout hook # Beads post-checkout hook
# Automatically imports JSONL to SQLite database after checking out branches # Automatically imports JSONL to SQLite database after checking out branches

View File

@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# bd-hooks-version: 0.23.1 # bd-hooks-version: 0.24.0
# #
# bd (beads) post-merge hook # bd (beads) post-merge hook
# #

View File

@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# bd-hooks-version: 0.23.1 # bd-hooks-version: 0.24.0
# #
# bd (beads) pre-commit hook # bd (beads) pre-commit hook
# #

View File

@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# bd-hooks-version: 0.23.1 # bd-hooks-version: 0.24.0
# #
# bd (beads) pre-push hook # bd (beads) pre-push hook
# #

View File

@@ -14,7 +14,7 @@ import (
var ( var (
// Version is the current version of bd (overridden by ldflags at build time) // Version is the current version of bd (overridden by ldflags at build time)
Version = "0.23.1" Version = "0.24.0"
// Build can be set via ldflags at compile time // Build can be set via ldflags at compile time
Build = "dev" Build = "dev"
// Commit and branch the git revision the binary was built from (optional ldflag) // Commit and branch the git revision the binary was built from (optional ldflag)

View File

@@ -1,6 +1,6 @@
[project] [project]
name = "beads-mcp" name = "beads-mcp"
version = "0.23.1" version = "0.24.0"
description = "MCP server for beads issue tracker." description = "MCP server for beads issue tracker."
readme = "README.md" readme = "README.md"
requires-python = ">=3.10" requires-python = ">=3.10"

View File

@@ -4,4 +4,4 @@ This package provides an MCP (Model Context Protocol) server that exposes
beads (bd) issue tracker functionality to MCP Clients. beads (bd) issue tracker functionality to MCP Clients.
""" """
__version__ = "0.23.1" __version__ = "0.24.0"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@beads/bd", "name": "@beads/bd",
"version": "0.23.1", "version": "0.24.0",
"description": "Beads issue tracker - lightweight memory system for coding agents with native binary support", "description": "Beads issue tracker - lightweight memory system for coding agents with native binary support",
"main": "bin/bd.js", "main": "bin/bd.js",
"bin": { "bin": {