Skip to content

br v0.2.16

Latest

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 29 Jun 17:25

What's Changed

Commits

  • chore: prepare br 0.2.16 release (5cf4310)
  • chore: clippy idiom cleanups + test-fixture maintenance (d994904)
  • feat(storage): bulk label + bulk dependency-import operations with transactional cycle detection (8f6bd70)
  • deps: bump fsqlite workspace from 0.1.7 to 0.1.12 (d7adadf)
  • style: apply rustfmt to JSONL-integrity test bodies (7a84bca)
  • feat(cli): harmonize agent-facing flag aliases across subcommands (#362) (4c46faf)
  • deps(deps): bump the rust-minor group with 15 updates (#361) (56e2309)
  • ci(deps): bump the actions group with 4 updates (#360) (02781ed)
  • fix(start): claim/start a child blocked only by an inherited :parent-blocked marker (#357) (5c4bf68)
  • fix(health): floor TruncatedWal classifier at >0 so a 0-byte WAL is healthy (#358) (1b6fccd)
  • fix(cli): drop stale history_config arg in main.rs auto_flush call (broken main) (fe71429)
  • fix(ready): surface truncation in br ready text output (#356) (f30234c)
  • fix(config): drop stale history_config arg in auto_flush_if_enabled (broken main) (2d824a8)
  • fix(sync): bound JSONL auto-flush diffs [bd-rzv8q.1] (bff86a4)
  • fix(sync): validate JSONL export before rename [bd-rzv8q] (9ad43c4)
  • perf(storage): add non-partial composite index for widened ready groups (#354) (e636398)
  • feat(ready): configurable ready status group via workflow.status_groups.ready (#354) (55e4ba6)
  • fix(close): a finished child is closable even when its parent epic is blocked (#355) (0e8565e)
  • deps(deps): bump the rust-minor group with 19 updates (#353) (77636b3)
  • ci(deps): bump taiki-e/install-action in the actions group (#352) (15d82f4)
  • test(sync): make git_export e2e robust to br auto-sync and git racy-clean (#334/#338) (b643907)
  • test(sync): quiesce JSONL before asserting git_export hashes (#338) (80db587)
  • fix(doctor): keep sync.metadata Ok for a fresh empty-JSONL workspace (#330) (8ca591e)
  • fix(show): dedup inherited ancestor blocks across sibling issues (#351) (0eddd6f)
  • feat(doctor): warn on pending-import and classify stuck merge artifacts (#330/#344/#328) (e478d7b)
  • feat(sync): add workspace_health, reliability_audit, and git_export to br sync --status --json (#334/#338) (ac04f9c)
  • fix(ci): clear pedantic clippy errors blocking the Check job on main (c1a7efd)
  • Reformat sqlite test closure to rustfmt block style (4bb0c7a)
  • cli: make list/ready complete by default, keep search capped (#349) (72ad01d)
  • doctor: honor --no-db (JSONL-only) and add dependency-graph audits (#329, #350) (eab6168)
  • main: route --json error envelope to stdout for one clean robot stream (#336) (84ff99f)
  • config: expose effective discovered DB path in config get db --json (#339) (020095c)
  • chore(beads): sync issues.jsonl for doctor sync-metadata work (07b868f)
  • doctor: classify sync-metadata health from stored booleans, not just messages (8061218)
  • ci(deps): bump the actions group with 2 updates (#343) (ab4c27f)
  • Harden #312 attribution lifecycle on recovery-retry and empty-update paths (9c59882)
  • feat: capture agent/harness/model attribution on create+update (#312 Layer 3, capture-only) (a8cc9dd)
  • feat(workflow): gate engine + br gate commands (#312 layer 2, #319) (20787fb)
  • test(contention): treat br doctor warn-level findings as non-fatal in replay (a03c6a0)
  • deps: bump fsqlite 0.1.3 -> 0.1.7 (#316 — resolves the MVCC #106 BusySnapshot) (2280f1f)
  • style(close_policy): drop needless raw-string hashes in #312 transition tests (8b977d6)
  • feat(workflow): per-project status transition rules (#312, layer 1) (6d4d797)
  • chore(history): name the throttle env var BR_HISTORY_MIN_INTERVAL_SECS (#313) (02521bc)
  • fix(history): avoid potential Duration overflow in the snapshot throttle (#313) (628eec0)
  • perf(history): throttle per-mutation .br_history snapshots (#313) (0bd3939)

Release Verification

Release reliability gates completed before artifacts were built:
failure-corpus replay, crash-injection sync matrix, long-lived single-workspace stress,
concurrent command-family integrity stress, and doctor/recovery postcondition checks.

Platforms

Platform Architecture File
Linux x86_64 (gnu) br-0.2.16-linux_amd64.tar.gz
Linux x86_64 (musl, static) br-0.2.16-linux_musl_amd64.tar.gz
Linux ARM64 (gnu) br-0.2.16-linux_arm64.tar.gz
Linux ARM64 (musl, static) br-0.2.16-linux_musl_arm64.tar.gz
macOS x86_64 (Intel) br-0.2.16-darwin_amd64.tar.gz
macOS ARM64 (Apple Silicon) br-0.2.16-darwin_arm64.tar.gz
Windows x86_64 br-0.2.16-windows_amd64.zip

Installation

Quick Install (Recommended)

curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/beads_rust/main/install.sh | bash

Cargo Install

cargo install --git https://github.com/Dicklesworthstone/beads_rust.git --tag v0.2.16

Manual Download

Download the appropriate binary for your platform from the assets below.

Verify checksum:

# Download checksums.sha256 and your binary
sha256sum -c checksums.sha256 --ignore-missing

Verify signature (optional):

Binaries are signed with Ed25519 using minisign. Install minisign and verify:

# Download the .minisig file for your binary
# Public key: RWSp4vEOdKsY8e95W9/4eLrSJ2B2GHv4U+CKMBXqRX3JhPrPn8J0DWBG
minisign -Vm br-0.2.16-*.tar.gz -P RWSp4vEOdKsY8e95W9/4eLrSJ2B2GHv4U+CKMBXqRX3JhPrPn8J0DWBG

Full Changelog

See CHANGELOG.md for the complete history.