v0.1.2
π dfdisk v0.1.2
Forensic robustness, async child process stream draining, system safety hardening, and crate dependency modernization release.
β‘ Highlights & Changes
- Added Integration Test Suite: 105 integration tests across 6 dedicated test suites (
cli_test.rs,hashing_test.rs,discovery_test.rs,safety_test.rs,case_naming_test.rs,engine_robustness_test.rs) and mock test fixtures, bringing total test coverage to 151 passing tests. - Terminal State Recovery: Added global panic hook to reliably restore terminal state upon abnormal exit.
- Dependency Upgrades:
tokioupgraded to1.53clapupgraded to4.6regexupgraded to1.13- Transitive dependencies synchronized and modernized (
lru,mio,smallvec,unicode-width).
- Forensic Bug Fixes & Hardening:
- Asynchronous Child Process Draining: Resolved pipe buffer deadlocks in E01 (
ewfacquire) and rescue (ddrescue) engines by asynchronously draining process output streams. - Block Device Capacity Probing: Enhanced
MultiHashercapacity determination via seek/ioctl inspection for raw physical disks. - System Disk Guardrails: Hardened recursive device inspection to detect nested LVM logical volumes, LUKS containers, and active swap volumes (with
/proc/swapsfallbacks). - TUI UTF-8 Safety: Prevented multi-byte UTF-8 boundary slicing panics across text input and status line renders.
- Asynchronous Child Process Draining: Resolved pipe buffer deadlocks in E01 (
π¦ Installation & Packages
- Debian / Ubuntu: Download and install
dfdisk_0.1.2-1_amd64.debattached below. - Arch Linux: Build via
packaging/arch/PKGBUILD. - Nix / NixOS: Run directly with
nix run github:tylerstyle/dfdiskor build withnix build. - Pre-compiled Binary: Download and extract
dfdisk-v0.1.2-x86_64-unknown-linux-gnu.tar.gz.
Full Changelog: v0.1.1...v0.1.2