chore: Bump version to 0.49.0
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
Steve Yegge
parent
5264d7aa60
commit
9381190462
@@ -9,7 +9,7 @@
|
|||||||
"name": "beads",
|
"name": "beads",
|
||||||
"source": "./claude-plugin",
|
"source": "./claude-plugin",
|
||||||
"description": "AI-supervised issue tracker for coding workflows",
|
"description": "AI-supervised issue tracker for coding workflows",
|
||||||
"version": "0.48.0"
|
"version": "0.49.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
124
CHANGELOG.md
124
CHANGELOG.md
@@ -7,48 +7,134 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.49.0] - 2026-01-21
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
- **Dolt federation for multi-repo sync** - Peer-to-peer issue synchronization across repositories
|
||||||
|
- `bd federation sync` command for syncing with configured peers
|
||||||
|
- `bd federation status` shows connection and sync state
|
||||||
|
- SQL-server mode for daemon (`--federation` flag) enables peer connections
|
||||||
|
- SQL user authentication for secure peer-to-peer sync
|
||||||
|
- Doctor federation health checks validate connectivity and sync state
|
||||||
|
- See docs/FEDERATION.md for setup guide
|
||||||
|
|
||||||
|
- **SQLite to Dolt migration** - Migrate existing repos to version-controlled storage
|
||||||
|
- `bd migrate dolt` converts SQLite database to Dolt backend
|
||||||
|
- Preserves full issue history during migration
|
||||||
|
- Automatic JSONL bootstrap for routes and interactions
|
||||||
|
|
||||||
|
- **New commands**
|
||||||
|
- `bd children <id>` - Display child issues for a parent
|
||||||
|
- `bd rename <old-id> <new-id>` - Rename issue IDs
|
||||||
|
- `bd view` - Alias for `bd show` command (#1249)
|
||||||
|
- `bd config validate` - Validate sync configuration
|
||||||
|
- `bd mol seed --patrol` - Seed patrol molecules (#1149)
|
||||||
|
|
||||||
|
- **Sync improvements**
|
||||||
|
- Per-field merge strategies for fine-grained conflict resolution
|
||||||
|
- Interactive conflict resolution with `--manual` strategy
|
||||||
|
- Incremental export for large repositories (performance improvement)
|
||||||
|
- `sync.mode` configuration to control sync behavior
|
||||||
|
|
||||||
|
- **CLI conveniences**
|
||||||
|
- `-m` flag as alias for `--description` in `bd create`
|
||||||
|
- `--type` and `--exclude-type` flags for Linear sync filtering (#1205)
|
||||||
|
- `--tree --parent` combination for hierarchical display (#1211)
|
||||||
|
|
||||||
|
- **Jujutsu (jj) version control support** - Beads now works with jj repositories
|
||||||
|
- Hook support for jj operations
|
||||||
|
- Proper detection of jj-managed repositories
|
||||||
|
|
||||||
|
- **Codex CLI setup recipe** - Automated setup for OpenAI Codex CLI integration (#1243)
|
||||||
|
|
||||||
|
- **Real-time activity feed** - Uses fsnotify for instant updates
|
||||||
|
|
||||||
|
- **Per-worktree export state tracking** - Each worktree maintains independent sync state
|
||||||
|
|
||||||
- **Automatic multi-repo hydration in `bd init --contributor`** - Routing and hydration now configured together
|
- **Automatic multi-repo hydration in `bd init --contributor`** - Routing and hydration now configured together
|
||||||
- `bd init --contributor` automatically adds planning repo to `repos.additional`
|
- `bd init --contributor` automatically adds planning repo to `repos.additional`
|
||||||
- Routed issues appear in `bd list` immediately after setup
|
- Routed issues appear in `bd list` immediately after setup
|
||||||
- No manual `bd repo add` required for contributor workflow
|
- No manual `bd repo add` required for contributor workflow
|
||||||
|
|
||||||
- **Doctor check for routing+hydration mismatch** - Validates configuration consistency
|
- **Doctor improvements**
|
||||||
- Warns when `routing.mode=auto` configured without `repos.additional`
|
- Routing+hydration mismatch detection - warns when routing configured without hydration
|
||||||
- Detects routing targets missing from hydration list
|
- Hydrated repo daemon check - ensures JSONL stays fresh in additional repos
|
||||||
- Suggests remediation: `bd repo add <routing-target>`
|
- Patrol pollution detection and fix
|
||||||
|
- `--gastown` flag for Gas Town-specific checks (#1162)
|
||||||
|
- Federation health checks
|
||||||
|
|
||||||
- **Doctor check for hydrated repo daemons** - Ensures JSONL stays fresh
|
- **Nix shell completions** - Baked into default package (#1229)
|
||||||
- Warns if daemons not running in `repos.additional` repos
|
|
||||||
- Without daemons, JSONL becomes stale and hydration breaks
|
### Changed
|
||||||
- Suggests: `cd <repo> && bd daemon start --local`
|
|
||||||
|
- **Auto-routing disabled by default** - Explicit opt-in required (#1177)
|
||||||
|
- Prevents unexpected cross-repo routing
|
||||||
|
- Enable with `routing.mode: auto` in config.yaml
|
||||||
|
|
||||||
|
- **Gas Town types removed from core** - Beads core no longer includes Gas Town-specific types
|
||||||
|
- Types like `patrol`, `convoy` moved to Gas Town configuration
|
||||||
|
- Cleaner separation between beads and Gas Town
|
||||||
|
- Ongoing cleanup tracked in bd-741si, bd-7nd6t, bd-31ajf
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- **Daemon zombie state after database file replacement** - Improved reconnection resilience
|
- **Daemon zombie state after database file replacement** - Improved reconnection resilience (#1213)
|
||||||
- Added `checkFreshness()` calls to `GetMetadata()`, `GetConfig()`, and `GetAllConfig()`
|
|
||||||
- Health checks now properly detect and handle database file replacements
|
- Health checks now properly detect and handle database file replacements
|
||||||
- Refactored `reconnect()` to validate new connection before closing old one
|
- Prevents "sql: database is closed" errors
|
||||||
- Prevents "sql: database is closed" errors that left daemon running but unable to serve requests
|
|
||||||
- Added conditional debug logging via `BD_DEBUG_FRESHNESS` environment variable
|
|
||||||
|
|
||||||
- **Routed issues invisible in `bd list` (split-brain bug)** - Auto-flush JSONL after routing
|
- **Routed issues invisible in `bd list` (split-brain bug)** - Auto-flush JSONL after routing (#1251)
|
||||||
- `bd create` now flushes JSONL immediately in target repo (via daemon RPC or direct export)
|
- `bd create` now flushes JSONL immediately in target repo
|
||||||
- Fixes issue where routed issues weren't visible until manual sync
|
|
||||||
- Hydration now sees new issues immediately
|
- Hydration now sees new issues immediately
|
||||||
|
|
||||||
|
- **WSL2 Docker Desktop compatibility** - Detect bind mounts and disable WAL mode (#1224)
|
||||||
|
- Prevents database corruption on Docker Desktop file systems
|
||||||
|
|
||||||
|
- **Daemon stack overflow** - Prevent recursion in handleStaleLock (#1238)
|
||||||
|
|
||||||
|
- **Molecule steps excluded from `bd ready`** - Filter out non-actionable items (#1246)
|
||||||
|
|
||||||
|
- **Tree ordering stabilization** - Consistent `--tree` output (#1228)
|
||||||
|
|
||||||
|
- **Cross-repo orphan detection** - Honor `--db` flag (#1200)
|
||||||
|
|
||||||
|
- **Custom types with daemon** - Show custom types when daemon is running (#1216)
|
||||||
|
|
||||||
|
- **Dolt backend fixes**
|
||||||
|
- Parse timestamps from TEXT columns correctly
|
||||||
|
- Single-process mode enforcement (daemon/autostart disabled) (#1221)
|
||||||
|
- Read-only daemon commands now work
|
||||||
|
- Init/daemon/doctor integration fixes (#1218)
|
||||||
|
|
||||||
|
- **Redirect handling** - Follow redirect when creating database
|
||||||
|
|
||||||
|
- **Auto-import tombstone handling** - Auto-correct deleted status to tombstone (#1231)
|
||||||
|
|
||||||
|
- **Routing store cleanup** - Close original store before replacing (#1215)
|
||||||
|
|
||||||
|
- **Worktree redirect paths** - Correct path computation in `bd worktree create` (#1217)
|
||||||
|
|
||||||
|
- **Sync-branch worktree** - Use worktree for `--full --no-pull` (#1183)
|
||||||
|
|
||||||
|
- **Custom types from config** - Load types.custom during init auto-import (#1226)
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
|
- **Federation setup guide** - Added docs/FEDERATION.md
|
||||||
|
- Peer configuration and authentication
|
||||||
|
- Sync workflow documentation
|
||||||
|
|
||||||
|
- **Daemon troubleshooting guide** - Added docs/TROUBLESHOOTING.md and docs/DAEMON.md
|
||||||
|
- Common daemon issues and solutions
|
||||||
|
- Database replacement handling
|
||||||
|
|
||||||
- **Multi-repo hydration guide** - Added comprehensive section to docs/ROUTING.md
|
- **Multi-repo hydration guide** - Added comprehensive section to docs/ROUTING.md
|
||||||
- Explains hydration requirement when using routing
|
- Explains hydration requirement when using routing
|
||||||
- Troubleshooting guide for common issues
|
- Troubleshooting guide for common issues
|
||||||
- Daemon requirements for optimal hydration
|
|
||||||
|
|
||||||
- **Contributor vs maintainer setup** - Added to README.md
|
- **Contributor vs maintainer setup** - Added to README.md
|
||||||
- Clarifies when to use `bd init --contributor`
|
- Clarifies when to use `bd init --contributor`
|
||||||
- Documents `git config beads.role maintainer` (only needed for HTTPS without credentials)
|
- Documents role configuration options
|
||||||
- Explains auto-detection via SSH and HTTPS with credentials
|
|
||||||
## [0.48.0] - 2026-01-17
|
## [0.48.0] - 2026-01-17
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -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.48.0",
|
"version": "0.49.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Steve Yegge",
|
"name": "Steve Yegge",
|
||||||
"url": "https://github.com/steveyegge"
|
"url": "https://github.com/steveyegge"
|
||||||
|
|||||||
@@ -296,6 +296,28 @@ type VersionChange struct {
|
|||||||
|
|
||||||
// versionChanges contains agent-actionable changes for recent versions
|
// versionChanges contains agent-actionable changes for recent versions
|
||||||
var versionChanges = []VersionChange{
|
var versionChanges = []VersionChange{
|
||||||
|
{
|
||||||
|
Version: "0.49.0",
|
||||||
|
Date: "2026-01-21",
|
||||||
|
Changes: []string{
|
||||||
|
"NEW: Dolt federation - Peer-to-peer issue sync with bd federation sync command",
|
||||||
|
"NEW: SQLite to Dolt migration - bd migrate dolt converts existing repos",
|
||||||
|
"NEW: bd children <id> - Display child issues for a parent",
|
||||||
|
"NEW: bd rename <old> <new> - Rename issue IDs",
|
||||||
|
"NEW: bd view - Alias for bd show command",
|
||||||
|
"NEW: bd config validate - Validate sync configuration",
|
||||||
|
"NEW: Jujutsu (jj) VCS support - Beads now works with jj repositories",
|
||||||
|
"NEW: Per-field merge strategies for conflict resolution",
|
||||||
|
"NEW: -m flag as alias for --description in bd create",
|
||||||
|
"CHANGED: Auto-routing disabled by default - Enable with routing.mode: auto (#1177)",
|
||||||
|
"CHANGED: Gas Town types removed from core - Use types.custom configuration",
|
||||||
|
"FIX: Daemon zombie state after DB replacement (#1213)",
|
||||||
|
"FIX: WSL2 Docker Desktop - Detect bind mounts and disable WAL mode (#1224)",
|
||||||
|
"FIX: Daemon stack overflow in handleStaleLock (#1238)",
|
||||||
|
"FIX: Molecule steps excluded from bd ready (#1246)",
|
||||||
|
"FIX: Tree ordering stabilization for consistent --tree output (#1228)",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Version: "0.48.0",
|
Version: "0.48.0",
|
||||||
Date: "2026-01-17",
|
Date: "2026-01-17",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.48.0
|
# bd-hooks-version: 0.49.0
|
||||||
#
|
#
|
||||||
# bd (beads) post-checkout hook - thin shim
|
# bd (beads) post-checkout hook - thin shim
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.48.0
|
# bd-hooks-version: 0.49.0
|
||||||
#
|
#
|
||||||
# bd (beads) post-merge hook - thin shim
|
# bd (beads) post-merge hook - thin shim
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.48.0
|
# bd-hooks-version: 0.49.0
|
||||||
#
|
#
|
||||||
# bd (beads) pre-commit hook - thin shim
|
# bd (beads) pre-commit hook - thin shim
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.48.0
|
# bd-hooks-version: 0.49.0
|
||||||
#
|
#
|
||||||
# bd (beads) pre-push hook - thin shim
|
# bd (beads) pre-push hook - thin shim
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -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.48.0"
|
Version = "0.49.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)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{ pkgs, self }:
|
{ pkgs, self }:
|
||||||
pkgs.buildGoModule {
|
pkgs.buildGoModule {
|
||||||
pname = "beads";
|
pname = "beads";
|
||||||
version = "0.48.0";
|
version = "0.49.0";
|
||||||
|
|
||||||
src = self;
|
src = self;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "beads-mcp"
|
name = "beads-mcp"
|
||||||
version = "0.48.0"
|
version = "0.49.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"
|
||||||
@@ -66,7 +66,7 @@ warn_return_any = false
|
|||||||
check_untyped_defs = false
|
check_untyped_defs = false
|
||||||
|
|
||||||
[tool.ruff]
|
[tool.ruff]
|
||||||
target-version = "0.48.0"
|
target-version = "0.49.0"
|
||||||
line-length = 115
|
line-length = 115
|
||||||
|
|
||||||
[tool.ruff.lint]
|
[tool.ruff.lint]
|
||||||
|
|||||||
@@ -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.48.0"
|
__version__ = "0.49.0"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@beads/bd",
|
"name": "@beads/bd",
|
||||||
"version": "0.48.0",
|
"version": "0.49.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": {
|
||||||
|
|||||||
Reference in New Issue
Block a user