chore: Bump version to 0.49.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
beads/crew/emma
2026-01-21 23:42:07 -08:00
committed by Steve Yegge
parent 5264d7aa60
commit 9381190462
13 changed files with 139 additions and 31 deletions

View File

@@ -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"
} }
] ]
} }

View File

@@ -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

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.48.0", "version": "0.49.0",
"author": { "author": {
"name": "Steve Yegge", "name": "Steve Yegge",
"url": "https://github.com/steveyegge" "url": "https://github.com/steveyegge"

View File

@@ -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",

View File

@@ -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
# #

View File

@@ -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
# #

View File

@@ -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
# #

View File

@@ -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
# #

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.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)

View File

@@ -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;

View File

@@ -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]

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.48.0" __version__ = "0.49.0"

View File

@@ -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": {