Breaking change: --dupes-only output is now strictly NUL-delimited,
as documented — every path is terminated by a NUL byte, making the
stream safe for xargs -0. Previously a newline separated duplicate
groups, which glued adjacent paths together under xargs -0. Group
boundaries are no longer represented in this format; use --json if
you need the grouping. Non-UTF-8 file names now pass through unmangled.
Scans are more trustworthy: directories that could not be entered are
warned about and counted (skipped_dirs in the JSON statistics and the
summary line), duplicate root arguments are scanned once, and the
bytewise comparison handles unreadable files and short reads correctly.
Library API: walk_paths returns a WalkResult; ScanResult gains
skipped_dirs; unused ScanError::Io, util::path_sort and
util::path_sort_paths were dropped.
See CHANGELOG.md for the full entry.