Release Notes: ddr_hash was enhanced. A bug where sha512/sha384 could have overflown a buffer was fixed. sha1 support has been added. Most importantly, there are now options to conveniently check and store checksums in xattrs and md5sum/sha256sum/... style files. A ddr_null plugin was added.
Release Notes: The MD5 plugin has been renamed to hash, reflecting that other cryptographic hashes such as sha1, sha256, sha224, sha512, sha384 are now supported as well. (The commandline syntax stays backwards-compatible.)
Release Notes: The focus of 1.43 is a well-working lzo plugin (libddr_lzo.so, short: ddr_lzo). ddr_lzo allows the user to de/compress data during dd_rescue processing using the fast lzo algorithms. The result is compatible with lzop. ddr_lzo supports holes (sparse files), multipart files, and appending to lzo files, and allows (partial) decompression in the face of corrupt lzo data, so it fits dd_rescue's purpose and feature set nicely. A number of little fixes and doc improvements have been done, as well as some speedup for the zero-block detection (option -a/--sparse) using ARMv8 (aka ARM64 aka AArch64) assembly.
Release Notes: This version includes a plugin interface (that allows analysis or transformation of data prior to being written) an MD5 plugin, the use of posix_fadvise(), and the output of only short usage info on incorrect input parameters.
Release Notes: Refactoring allows for better runtime and build time feature detection, resulting in support for building against Android (NDK) and in fast AVX2 sparse block detection. This version also brings a new option -u/--rmvtrim that removes a written (typically zero-filled) file again after completion and issuing an fstrim operation.
Release Notes: The -p/--preserve option now also copies extended attributes (including ACLs) if there are any. Many checks and test cases have been added to make check. Half-empty blocks are now detected now in sparse detection. If copying with an odd file offset, the odd-sized write will be done first so that further accesses should be better aligned, which should help with performance (and optionally sparse detection).
Release Notes: The main change is a fix for a bug where the last block could have appended zeros if hardbs==softbs (bnc #833765). Beyond that, ARM sparse detection has been sped up a bit (~15%), and the man page has a clarification w.r.t. the meaning of -y. autoconf is now used to detect platform features to help portability.
Release Notes: This release brings some further optimization of the SSE2 sparse block detection (adding 40% performance). There's also code for AVX2, but it's disabled, as it couldn't be tested. There's a test case for the 1.35/1.36 bug now that can be run by make check. ETA and curr.rate have been improved a bit (floating averages), and the --force/-f switch gained the capability to override a non-zero output position for non-seekable ouput files.
Release Notes: The SSE2 optimized sparse block detection had a bug that slipped through the test cases in 1.35/1.36. Fortunately, --sparse / -a is not on by default. The bug is fixed, and that's the reason for a quick release. Apart from that, there are some fixes for this routine for big-endian machines, though that's not relevant for dd_rescue itself.
Release Notes: This release fixes an issue with an overflow when displaying avg.load after a while. It also enables faster detection of zero-filled blocks (sparse mode, option -a) on x86 (32-bit) with runtime detection (unlike x86-64 where you always have SSE2-capable CPUs). There's also some asm code to achieve a 3x speedup of ARM CPUs on this task.