bcmr v0.6.0
§ changelog

what changed.

every release published on github, mirrored here verbatim from the release notes. newest first.

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.20...v0.6.0

Changes since v0.5.20:

Features

  • feat: serve upload resume via Put{offset}; drop dispatcher bypass for files (#25) (3eb749b)
  • feat: ListEntry carries mtime, check uses it on remote paths (#24) (2e990b5)

Bug Fixes

  • fix: check --exclude symmetry + --sync honored on legacy downloads (#26) (cdcbef0)
  • fix: serve bypass for --resume/--strict/--append + --sync on big downloads (#19) (1d4cabc)
  • fix: serve recursive --exclude filter + check mtime comparison per docs (#18) (38e4890)
  • fix: serve-path feature parity (--verify, --preserve, check multi-src) (#17) (4927be1)
  • fix: direct-TCP rendezvous concurrent verify + client dial timeout (#16) (96f1255)
  • Fix transfer integrity regressions and local copy jobs (#13) (b8d0444)

Other

  • refactor: split commands/remote_copy.rs into legacy + serve submodules (#15) (774c6d2)
  • cache cap_bytes + strict-clippy test code + CI --all-targets (b2510bb)
  • test: widen e2e_pipeline_copy_honors_jobs_concurrency signal-to-noise (71a9ada)
  • session: unify find_resume_offset errors, uid-namespace tmp fallback, size-hint serialize (09ca586)
  • tier-3: session_path NUL separator + selective comment restoration (793b952)
  • refactor: split serve_client.rs, remote.rs, and main.rs (#14) (e8b149e)
  • tier-2 follow-ups: session lookup-key, AUTH_HELLO_TAG dedup, stricter comments (432238a)
  • address post-review audit: correctness, structure, comments (0fbaa7a)
Maintenance
  • chore: rewrite external messaging to a modern-but-honest voice (804402a)
  • chore: bump to v0.6.0 (1a51912)
  • chore(deps): bump actions/checkout from 4 to 6 (#23) (6ab0552)
  • chore(deps): bump actions/configure-pages from 4 to 6 (#22) (4ce25df)
  • chore(deps): bump actions/deploy-pages from 4 to 5 (#21) (8224121)
  • chore: add SECURITY, CONTRIBUTING, dependabot config (#20) (74e335f)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.19...v0.5.20

Changes since v0.5.19:

Features

  • feat: Path B — direct-TCP data plane with AES-256-GCM framing (fc08057)
  • feat(direct-tcp): wire single-file striping into the CLI path (f26a93e)
  • feat(direct-tcp): single-file striping across N streams (protocol + handlers + client) (b937fec)
  • feat(direct-tcp): mandatory AEAD on rendezvous sessions — downgrade guard (55fb83a)
  • feat(direct-tcp): AEAD framing on the data plane + --direct CLI flag (493f679)
  • feat(direct-tcp): end-to-end rendezvous with AuthHello + full data session (926f35e)
  • feat(direct-tcp): one-shot rendezvous listener, session-scoped lifetime, no escalation over TCP (cb5153d)
  • feat(direct-tcp): CAP_DIRECT_TCP gate + zeroize session_key (ba09fcd)
  • feat(path-b phase 3c1): AEAD wire format primitives (0332e3c)
  • feat(path-b phase 3b): server handler for OpenDirectChannel (e737046)
  • feat(path-b phase 3a): protocol messages for direct-TCP rendezvous (ed029f9)
  • feat(path-b phase 2): bcmr serve --listen binds TCP, dispatch runs over socket (289e1d9)

Bug Fixes

  • fix(direct-tcp): squatter-resistant rendezvous accept (ba82772)
  • fix(direct-tcp): bind rendezvous listener to SSH_CONNECTION server_ip (a7a15a0)

Other

  • style: cargo fmt (d185ed3)
  • style: strip explanatory / narrative comments across the whole crate (020e349)
  • refactor: second-pass audit — Transport collapse + helper extraction (8aa22e7)
  • review: address Critical + Important findings from Path B code review (726905c)
  • polish(direct-tcp): pipelined+pool coverage, ProxyJump diagnostics, session-key zeroize (e48e633)
  • test(serve): split 1611-line e2e_serve_tests.rs into four files (7b0460b)
  • refactor(client): ServeClient holds Transport enum + Box<dyn AsyncRead/Write> (8b917be)
  • cleanup: strip phase-narrating comments, rewrite design doc without ASCII art (9e635fa)
  • bench(path-b): crypto microbench decides ring::AES-256-GCM (4a71e38)
  • refactor(path-b phase 1): extract SSH spawn into core::transport::ssh (828c9c8)
Maintenance
  • chore: address reviewer Minors + bump to v0.5.20 (1b002d0)
  • docs(path-b): note ProxyJump limitation (2978a8e)
  • docs(ablation): strip retrospective / defensive prose from Exp 10/13/14/16/17/18/19 (6be0e36)
  • docs(exp-20): trim to Exp 19's narrative style, use host-N/host-L codenames (b52ca69)
  • docs(exp-20): best-of-3 bench numbers + scp head-to-head (daa8b06)
  • docs(path-b): design doc for SSH rendezvous + direct TCP (956aac7)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.18...v0.5.19

Changes since v0.5.18:

Bug Fixes

  • fix(ui): ProgressRunner Drop aborts ticker; fallback warning now config-gated (a6d1735)
Maintenance
  • chore: bump version to v0.5.19 (aac2d43)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.17...v0.5.18

Changes since v0.5.17:

Other

  • polish: Exp 19 chart, README acks, defaults (parallel=4, update_check=off), fallback warning (e9d02d8)
Maintenance
  • chore: bump version to v0.5.18 (d735a9c)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.16...v0.5.17

Changes since v0.5.16:

Bug Fixes

  • fix(clippy): drop redundant .into_iter() on rhs of .zip() (rust 1.95) (652090a)

Other

  • perf(serve): ServeClientPool — parallel SSH connections, --parallel N wins (587a6af)
Maintenance
  • chore: bump version to v0.5.17 (e5dec4f)
  • docs(ablation): Experiment 19 on parallel SSH sessions + Path B sketch (8455c6b)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.15...v0.5.16

Changes since v0.5.15:

Other

  • refactor(serve): FileTransfer struct + helpers, per-chunk progress, GET size check (0199032)
Maintenance
  • chore: bump version to v0.5.16 (df7b7a3)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.14...v0.5.15

Changes since v0.5.14:

Bug Fixes

  • fix(serve): honor --verify on recursive upload (pipelined dir path) (91b8628)

Other

  • perf(serve): pipeline many-file PUT + GET via writer task split (336ac6e)
Maintenance
  • chore: bump version to v0.5.15 (47e0e81)
  • docs(ablation): Experiment 18 on client-side request pipelining (2b65486)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.13...v0.5.14

Changes since v0.5.13:

Other

  • perf(serve): gate per-file fsync on CAP_SYNC, default off (0ef963c)
Maintenance
  • chore: bump version to v0.5.14 (9110b12)
  • docs(ablation): Experiment 17 on per-file fsync gate + path-jail UX trap (767c267)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.9...v0.5.13

Changes since v0.5.9:

Bug Fixes

  • fix(clippy): drop unused Write import in splice path (24c4eb1)

Other

  • test(serve): cfg(unix) the whole e2e_serve_tests file (87b3c00)
  • test(fix): cfg(unix) the security tests + handle .exe suffix (b8aaaad)
  • perf(serve): rewrite CAP_FAST splice path to remove regression (067f2b0)
  • perf(stream): gate session + block-hash + checkpoint fsync on explicit resume intent (47c7847)
  • security(serve): root jail + PUT size bound (e97ac2e)
Maintenance
  • chore: bump version to v0.5.13 (213e8b7)
  • chore: bump version to v0.5.12 (bed3cca)
  • docs(ablation): Experiment 16 + scope clarity for auditors (365fd26)
  • docs: document v0.5.7-v0.5.9 features across all 3 locales (35726ed)
  • docs(ablation): replace Mermaid flowcharts with D2-rendered SVGs (2aba8c4)
  • docs(ablation): host codenames, mermaid diagrams, two new experiments (b1b8b3a)
  • docs(ablation): record Experiments 13 + CAS cap + CAP_FAST landings (94215a1)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.8...v0.5.9

Changes since v0.5.8:

Features

  • feat(serve): CAP_FAST — skip server hash, splice(2) on Linux (282ed76)
  • feat(cas): LRU eviction with configurable byte cap (c816f56)

Other

  • perf(stream): one spawn_blocking for the whole copy loop (c87e282)
Maintenance
  • docs(ablation): split monolithic page into Internals subsections (5a3a1c2)
  • docs(ablation): Experiments 10-12 (hash skip, dedup, cross-host compress) (8f0656b)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.7...v0.5.8

Changes since v0.5.7:

Features

  • feat(serve): content-addressed dedup for PUT (CAP_DEDUP) (73f3fe0)
  • feat(copy): preserve extended attributes on -p (9cf9112)

Bug Fixes

  • fix(deps): gate xattr dev-dep to Unix to unblock Windows CI (1a275f8)

Other

  • perf: skip whole-source BLAKE3 when nothing needs it (4ee7400)
Maintenance
  • chore: bump version to v0.5.8 (ae8cf9e)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.6...v0.5.7

Changes since v0.5.6:

Features

  • feat(serve): wire compression for Data frames (LZ4 + Zstd) (343ae55)

Other

  • bench: harness for local and compression benchmarks (64459f9)
  • perf: parallel local multi-file copy via --jobs/-j (1418470)
  • perf: skip per-file dir fsync unless --sync (25a3719)
Maintenance
  • chore: bump version to v0.5.7 (f30125f)
  • docs(ablation): add Experiments 7-9 for fsync gate, --jobs, and wire compression (4dfee9e)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.5...v0.5.6

Changes since v0.5.5:

Features

  • feat: emit error events to log + job state machine (e8128dd)

Bug Fixes

  • fix(remove): handle symlinks and all non-directory entries (d41abc7)

Other

  • test(ci): symlink remove + --json error events + status state machine (4560aa9)
Maintenance
  • chore: bump version to v0.5.6 (3c4af7d)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.4...v0.5.5

Changes since v0.5.4:

Bug Fixes

  • fix: emit scanning heartbeat during remove --json to avoid looking hung (4206679)
  • fix: replace unwrap with proper error handling in check remote paths (9f1c95d)

Other

  • refactor: extract scanning-runner helpers, extend --json fix to copy/move (e9a7303)
Maintenance
  • chore: bump version to v0.5.5 (abc716e)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.3...v0.5.4

Changes since v0.5.3:

Features

  • feat: --json detaches to background with job management (44b33a6)

Bug Fixes

  • fix: platform-guard libc::kill for Windows compatibility (3e99ead)
  • fix: graceful fallback when serve list exceeds frame limit (e58be3e)
Maintenance
  • chore: bump version to v0.5.4 (6bf337d)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.2...v0.5.3

Changes since v0.5.2:

Other

  • perf: single SSH connection for check, eliminate redundant stat (9806ff6)
Maintenance
  • chore: bump version to v0.5.3 (3c2a763)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.1...v0.5.2

Changes since v0.5.1:

Other

  • perf: check uses serve protocol for fast remote listing, adds scanning feedback (52c65fc)
Maintenance
  • chore: bump version to v0.5.2 (90f8618)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.5.0...v0.5.1

Changes since v0.5.0:

Features

  • feat: add remote path support for check command (ac2aabd)

Bug Fixes

  • fix: add missing inline_src_hash field on Linux copy_file_range path (f655c14)

Other

  • refactor: relocate ProgressRunner, unify TransferOptions, complete FinalizeCtx (de27a1f)
  • refactor: unify check command with collect+diff architecture (acd5832)
Maintenance
  • chore: bump version to v0.5.1 (7d904fb)
  • docs: add check command, --json flag, and AI-Agent feature to docs site (3fa2a00)
  • docs: add --json and check to README highlights and quick start (fdff6cc)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.19...v0.5.0

Changes since v0.4.19:

Features

  • feat: add --json flag with NDJSON streaming progress and check subcommand (fd27749)

Bug Fixes

  • fix: resolve clippy CI failures (63d6404)

Other

  • style: cargo fmt (5768c08)
  • refactor: trait defaults, scan dedup, output reorganization (f0c5c65)
  • refactor: decompose copy_file and extract shared helpers (bac9c55)
  • refactor: unify Copy/Move CLI args, extract TestMode helper, remove dead code (f549db1)
  • refactor: reduce parameter redundancy across command functions (ed7ea6d)
Maintenance
  • chore: bump version to v0.5.0 (0e7bde7)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.17...v0.4.19

Changes since v0.4.17:

Bug Fixes

  • fix: path traversal in serve, sync consistency, resume Decision enum (c20d339)
  • fix: path validation in serve, opt-level, fallocate error handling (f16a85e)
  • fix: avoid double-sync on copy_file_range path (7f60ba2)
Maintenance
  • chore: bump version to v0.4.19 (c65ac3b)
  • chore: switch license from GPL-3.0 to Apache-2.0 (c17f04c)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.17...v0.4.18

Changes since v0.4.17:

Other

  • refactor: decompose copy_file into strategy modules (de21412)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.16...v0.4.17

Changes since v0.4.16:

Other

  • refactor: extract resume logic to core::resume module, clean up comments (77d5a37)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.15...v0.4.16

Changes since v0.4.15:

Features

  • feat: add bcmr deploy command for remote installation (1bd025a)
  • feat(serve): wire serve protocol into remote copy with auto-fallback (d7e1457)
  • feat(serve): add serve client with typed request/response API (fb26bb4)
  • feat(serve): add binary frame protocol for bcmr serve (3f1b8a5)
  • feat: wire session-based resume with tail-block verification and add SCC integration tests (2d4c048)
  • feat: streaming checkpoint copy with durable sync and parallel SSH (a580485)

Bug Fixes

  • fix: session integrity checksum, block size assert, and carry-forward test (bbffb3e)
  • fix: address code review findings before release (d6a2c09)
  • fix: skip unix-only inode test on Windows (18665de)
  • fix(serve): fix double-write bug, resource leaks, and protocol safety (4751c1f)
  • fix: prevent fork bomb in serve tests and add child process cleanup (9a938e2)
  • fix: carry forward block hashes on resume for multi-crash resilience (75edd42)
  • fix: install markdown-it-mathjax3, fix VitePress image paths (d2b3a98)
  • fix: resolve clippy errors (io_other_error, too_many_arguments) (eddfffa)

Other

  • test: add unit tests for deploy and io modules (d8ed4f9)
  • test: add end-to-end integration tests for copy, resume, and verify (4aa5fad)
  • style: cargo fmt (bf4adc0)
  • refactor: rename SPARSE_BLOCK and block_bytes_in_current for clarity (0d70020)
Maintenance
  • docs: add serve protocol section to internals page (7319341)
  • docs: add serve protocol and deploy guide to all locales (4d2bbcf)
  • docs: update README and add Internals nav for zh/zh-Hant locales (23b1ea8)
  • chore: bump version to v0.4.16 (9dc3e5f)
  • docs: add bcmr serve implementation plan (2b75b9e)
  • docs: rewrite SCC documentation with algorithm design, math, and VitePress integration (5a1d872)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.14...v0.4.15

Changes since v0.4.14:

Bug Fixes

  • fix: report remove progress after successful deletion, finish dry-run runner (3cd90fd)
  • fix: improve reliability and feature parity for remote transfers (9df7d28)
  • fix: comprehensive code audit fixes across 12 source files (57b9af7)
Maintenance
  • chore: bump version to v0.4.15 (85ceecc)
  • chore: update docs links to custom domain, bump to v0.4.14 (36aee22)
  • chore: remove install_cn.sh, add TLS fallback retry to install.sh (48677a3)
  • docs: update install script URL to /install endpoint (8b2b7d6)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.13...v0.4.14

Changes since v0.4.13:

Features

  • feat: add -V/-p/-e/-n support for remote downloads (018cdb7)
  • feat: add resume/strict/append support for remote downloads (1c4b952)
  • feat: add -s (strict) support for remote uploads (1254933)
  • feat: add -C (resume) support for remote uploads, consolidate append logic (b8c3427)
  • feat: add -V (verify) support for remote uploads (2b38231)
  • feat: add -p (preserve) support for remote uploads (82bb4b2)
  • feat: add -e (exclude) and -n (dry-run) support for remote transfers (7e7af38)

Bug Fixes

  • fix: replace unwrap() with safe alternatives in remote_copy (dc723cf)
  • fix: suppress unused variable warning on Windows for mode parameter (869c549)
  • fix: ETA calculation excludes skipped bytes in append mode (95c1ffc)
  • fix: -a (append) now works for non-parallel directory uploads (89ca7c8)

Other

  • refactor: code quality cleanup (e8e453d)
  • test: add unit tests for checksum, traversal, utils, state, config, remote, cli (a48a523)
  • refactor: move remote copy orchestration to commands/remote_copy.rs (9653fa0)
  • refactor: extract shared resume/append/strict logic (64e9a7d)
  • refactor: code quality cleanup (785c4ed)
  • refactor: unify TUI rendering, eliminate parallel/non-parallel clear hack (f2e90b8)
  • refactor: replace scattered booleans with RemoteTransferOptions struct (e718bf0)
Maintenance
  • chore: update docs links to custom domain, bump to v0.4.14 (ca36856)
  • ci: update test workflow with stricter checks (e2c3e9b)
  • ci: split test and release into separate workflows (8e8e404)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.12...v0.4.13

Changes since v0.4.12:

Bug Fixes

  • fix: TUI double-draw on parallel switch and add remote append support (662a955)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.11...v0.4.12

Changes since v0.4.11:

Bug Fixes

  • fix: TUI worker bars now use gradient colors, proper alignment, and longer file names (34f2503)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.10...v0.4.11

Changes since v0.4.10:

Bug Fixes

  • fix: TUI parallel workers display issues (7a9b45a)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.9...v0.4.10

Changes since v0.4.9:

Bug Fixes

  • fix: TUI progress bar panic on multi-byte UTF-8 characters (875eee5)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz

Changelog

Full Changelog: https://github.com/Bengerthelorf/bcmr/compare/v0.4.8...v0.4.9

Changes since v0.4.8:

Bug Fixes

  • fix: alias completions now support remote path completion (bcp A100://) (4b845bd)

Download

Choose the appropriate binary for your platform:

  • Linux x86_64: bcmr-x86_64-linux.tar.gz (statically linked)
  • Linux ARM64: bcmr-aarch64-linux.tar.gz (statically linked)
  • macOS Intel: bcmr-x86_64-macos.tar.gz
  • macOS Apple Silicon: bcmr-aarch64-macos.tar.gz
  • Windows x86_64: bcmr-x86_64-windows.zip
  • Windows ARM64: bcmr-aarch64-windows.zip
  • FreeBSD x86_64: bcmr-x86_64-freebsd.tar.gz