v0.2.0
Both placeholder full-hash strategies from 0.1.0 are now real:
--algo sha256 (cryptographic, audit-trail value), --algo bytewise
(literal byte-for-byte comparison, no probabilistic argument).
The pipeline architecture didn't have to change for either — both
slot into the FullHashStrategy dispatch that was reserved in v0.1.0.
sha256 implements the DigestHasher trait like xxh3. bytewise gets a
parallel bucketing function (bucket_one_group_bytewise) that compares
files pairwise within each candidate group; for the typical case after
partial-xxh3 (all entries truly identical) it's O(N) comparisons.
Also in this release: cleaner CLI error messages (no more redundant
"scan failed:" prefix on the underlying ScanError variants), updated
--algo help text, README install paths now lead with cargo install fifi from crates.io.
Highlights:
- --algo sha256 actually computes SHA-256, no longer a placeholder
- --algo bytewise actually does pairwise comparison, no longer a
placeholder - xxh3 remains the default; the partial-hash prefilter (head + tail
of files ≥ 64 KiB) is always xxh3 regardless of --algo - Error output dropped the "scan failed:" wrapper
- README: install via
cargo install fifidocumented up front
See CHANGELOG.md for the full entry.