Repository navigation
Releases: Olize/mch
Release list
MCH v0.2.2 — native ARM64 release packages
MCH v0.2.2 adds native downloadable Linux AArch64 (glibc) and Android/Termux AArch64 (Bionic) binaries alongside Windows x86_64, macOS Apple Silicon and Linux x86_64, plus source archives and SHA-256 checksums. The core file copy/move/Unix single-file resume implementation remains unchanged from v0.2.1. Experimental directory-tree resume is NOT part of v0.2.2. The release packaging workflow attaches verified artifacts after publication; verify downloaded files against SHA256SUMS.txt. The software is not code-signed or notarized. Refer to the README and CHANGELOG for safety limits.
MCH v0.2.1
Mighty Copy with Hash v0.2.1
This is a security and reliability maintenance release for the Rust command-line copy/move utility MCH. It replaces v0.2.0; no new user-facing command-line modes are introduced.
Security and reliability fixes
- Prevent a second writer from silently replacing a destination created after the initial no-overwrite check. Linux/Android use atomic RENAME_NOREPLACE; other platforms use a safe no-replace hard-link approach or refuse unsupported publication.
- Keep the owner-private staging file handle open during copying instead of reopening its path; publish and then restore the source file permissions.
- Sync staging data before explicit destructive overwrites and sync published metadata/destination directories on Unix, including --resume --overwrite without --move.
- Retry interrupted system reads and move the large progress buffer off worker stacks.
- Add race-condition and resume-overwrite regression tests.
Verification
- Private source commit: 23b4b5b63015262cf947e6d4eb4d652853bd221c.
- Release branch commit: e8022cf; only the 13-file public allowlist was carried over.
- Final public main commit: 88ee11b.
- GitHub Actions checks and optimized builds passed on Linux, Windows and macOS (both on the PR and merged main).
- Termux and Fedora vm01 checks passed, including 13 unit tests, 49 integration tests, 12 private release-guard tests, independent SHA-256 copying/moving checks, actual SIGKILL/resume and overwrite refusal.
Install from source
Download the source archive below or clone the public repository, then run:
cargo build --release --locked
The executable is target/release/mch (Windows: mch.exe). Ready-to-use native binaries are now available in the Assets section as Windows x86_64 ZIP, Apple Silicon macOS AArch64 TAR.GZ and Linux x86_64 TAR.GZ. The exact release source is provided as both ZIP and TAR.GZ. Use SHA256SUMS.txt to verify downloads. Windows binaries are unsigned; macOS binaries are neither Apple-notarized nor developer-signed.
Safety limitations
MCH is not a transactional backup or universally crash-proof data store. Integrity verification normally uses the operating-system page cache; storage controllers and filesystems may still lose data on power failure. Hostile parent-path races and multi-file transaction rollback are not fully supported. The Unix --resume mode applies to a single regular file only; Windows, directories and multi-file resume are intentionally unsupported. Use independent backups before destructive moves. Refer to the README and specification for details.
MCH v0.2.0
Mighty Copy with Hash 0.2.0
MCH is a Rust CLI for integrity-checked copying and moving files and directory trees (default hash: BLAKE3).
What's new
- Accessible, line-based live transfer progress, transfer speed, and estimated copy time (--progress auto|always|never).
- Optional preservation of source access/modification times (--preserve-times).
- Resumable, verified copying of a single regular file on Unix (--resume); verifies the existing partial prefix byte-by-byte and independently hashes full source and staged output. Not supported on Windows, directory trees, or multiple source files.
- Improved --move protections against unexpected source changes, with destination syncs on Unix before deleting planned source files.
- Hardened temporary file permissions, integrity reporting, tests, and documentation.
Verification
The final public commit was built and tested on Ubuntu, macOS, and Windows by GitHub Actions. Termux and Fedora vm01 tests passed, including actual SIGKILL/restart, corrupted partial refusal, concurrency locking, and verified moves.
Installation
Download the source archive below or clone this repository and run:
cargo build --release --locked
The executable is target/release/mch (mch.exe on Windows).
Safety limitations
MCH is not a transactional backup system. Verification may use the OS page cache and does not guarantee disk durability after sudden power loss. Concurrent hostile filesystem races, controller faults, and some metadata/ownership details are not covered. The README and specification explain further limitations; keep independent backups before using --move for important data.
This release contains GitHub's source archives; no precompiled binaries are attached.