== 1.0.0 Stable Release == Fix chunk flag setup when compression fails in adaptive mode. Prevent display of non-fatal errors during compression. Add buffer overflow check in Ppmd compression routines. Fix pipe mode encryption check. Change file difference check in tests. Fix encryption with adaptive modes. Add missing zero-out of algorithm data field. Add a functionality test suite. Tweak chunking parameters for better block size distribution and dedupe ratio. Add some more debug mode info. Minor fix for adapt mode. Use Libbsc for XML data in adapt2 mode. == 0.9.1 Minor update Release == Portability to Debian based distros. Enable SSE4/AVX detection for AMD platforms (Bulldozer has both). Portable long long int print formatting to silence gcc 4.6 warnings. Add another example invocation. == 0.9.0 Major Release == Implement HMAC verification for chunk header. Do not ask for decryption passwd twice. Refactor crypto utility functions in a separate file. Add HMAC verification for file header. Add a few extra input validation checks. Include space in chunk header for HMAC. Support for chunk-level encryption using AES and Scrypt based PBE. Couple of minor fixes. Incorporate SSE/AVX optimized Intel SHA-256 implementation. Add support for runtime cpuid detection. Add support for SHA256 and SHA512 digests from OpenSSL library. == 0.8.6 Update Release == Fix polynomial computation. Fix incorrect block length when doing fixed-block dedupe. Remove unused structure member. Switch to multiplicative rolling hash for good == 0.8.5 Update Release == Update adaptive mode heuristic based on algorithms. Remove incorrect check in PPMd decompression code. Speed up adaptive modes by using heuristics to select compression algorithm. Select similarity percentage based on dedupe block size for effectiveness. Fix check for size reduction in dedupe. Fix polynomial table computation. Change hashing and length bias to reduce hashtable bucket collisions. Add support for user-selectable 60% or 40% similarity for Delta Compression. Overall slight speedup. Rewrite core dedupe logic to simplify code and improve performance. Hashtable based chunk-level deduplication instead of Quicksort. Fix a corner case bug in Dedupe decompression. Speed up Hash computation for dedupe blocks. Add support for Fixed-Block deduplication. Reduce dedupe loop checks for slight speed edge. Implement K-min-values Sketch for Similarity detection. == 0.8.1 Bugfix Release == Fix return code handling in LZP pre-compression, crashed adaptive modes. Allow user-specified minimum Dedupe block size. Compute similarity sketch only if Delta Compression enabled. Fix secondary sketch computation, some more accuracy in diff detection. Add xxHash for Rabin block checksums, slightly faster than CRC64. Fix missing initialization of character counts table. Some file reorganization. Add ASM version of Skein for x64 platforms with auto-detection Error checking for checksum flag when decompressing Add support for Skein512 and Skein256 checksums Import Skein code from NIST CD submission Make checksum algorithms pluggable Fix handling of huge buffers (>2GB) in LZP Cleanup of some buffer sizing code == 0.8 Beta release == Add support for libbsc a high-performance block sorting compressor. Enable external algorithm threading for single chunk compressed files. Add config script to generate Makefile based on flags. Add install target and installation readme file. Improve memory efficiency when total file size < total size of chunks. Fix freeing of Zlib structures. Add LZP Pre-Compression support ported from libbsc. Add generic pre-processing wrappers for future support of other pre-processors. Clean up computation of Rabin block sizes. Compute Rabin scratch space accurately to avoid RAM wastage. Delay allocation of per-thread chunks for performance and memory efficiency. Avoid allocating double-buffer for single-chunk files. Introduce lzmaMt option to indicate multithreaded LZMA. Add multithreaded LZMA port from p7zip Compute balanced thread count between chunk threads and algo threads Generic way to handle querying algorithm parameters Clean up unnecessary includes Speed up sort comparator function. Reduce memory consumption and improve performance in dedupe Re-introduce crc64 for dedup blocks to avoid wasted memcpy-s Restructe block array to be an array of pointers allocated on demand Fix a corner case issue when splitting chunks at a dedup boundary Improve Rabin computations using an irreducible polynomial Slight improvement to similarity computation A simple mechanism to include DEBUG mode stats Implement secondary sketch based on character counts to refine similarity checksum. Proper checksum update for last block. == 0.7 Beta release == Bump version to 0.7 Fix handling of compression flags in adaptive mode Fix error handling when chunk size is too small for dedupe Fix initialization of adaptive modes. Compute and compare Mean sketch cksum to improve similarity comparison Fix optflags settings in Makefile Small optimization in zero RLE encoder to avoid scanning during lookahead Some minor fixes Bias fingerprint value with occurrence counts for a better sketch Fix latent bug when calling algo deinit in decompression code Reduce diff threshold for slightly greater delta encoding Limit similar buffer size difference for less wasted diffing Change zlib compression wrapper to use faster deflateReset mechanism Reduce optimization level for Dedupe code, it goes faster Fix handling of incompressible chunks. Fix handling of various dedup failures. Add NULL compression option for dedup only compression. Remove unneeded checks in qsort comparator. Fix buffer sizing for LZ4. Fix exit condition checks in LZ4 decompression wrapper. Fix buffer size calculation when decompressing LZ4, Zlib and Bzip2 compressed chunks. Slight SSE optimization in LZ4HC. == 0.6 Alpha bugfix release == Fix crash when algo init function returns error. Fix LZFX error handling. More updates to README. Further improve LZMA compression parameters to utilize all the 14 levels. Tweak some Rabin parmeters for better reduction with zlib and Bzip2. Increase the small size slabs a bit. Fix slab sizing. Fix buffer size computation when allocating Rabin block array. Reduce memory usage of Rabin block array. Add an SSE optimization for bsdiff.