Release 1.6.3 ------------- . Fixed an underflow error when using flat_xor_hd. . Added a build option to allow a suffix to be added to library names passed to dlopen(). To use, define LIBERASURECODE_SO_SUFFIX via CFLAGS when building. This is useful when renaming libraries for PyEClib wheels, for example, so they don't conflict with system packages that may be installed. Release 1.6.2 ------------- . Allow the writing of fragments with the legacy, non-standard CRC-32. This is intended to smooth upgrades from liberasurecode 1.5.0 and earlier in a system with multiple readers and writers. See https://bugs.launchpad.net/liberasurecode/+bug/1886088 for more information, including a script you can run on already-written fragments to determine whether you are affected. If you are affected: - Before upgrading, ensure every writer will have the environment variable LIBERASURECODE_WRITE_LEGACY_CRC=1 set upon restart. - Upgrade liberasurecode on all systems, restarting processes as needed. Upgraded writers will continue writing CRCs that not-yet-upgraded readers can use. - After liberasurecode is upgraded everywhere, remove the environment variable. zlib CRCs will be used for new writes, and data written with either CRC will still be readable. Release 1.6.1 ------------- . Fixed CRC validation of little-endian fragments on big-endian . Fixed compile warning about unaligned pointers Release 1.6.0 ------------- . Use zlib for CRC-32 . Allow support for reading of little-endian framents on big-ending and vice-versa . Added check to return error for negative data or parity arguments . Added better argument validation for flat_xor_hd Release 1.5.0 ------------- . Added support for Phazr.IO libphazr library . Fixed memory leaks and initialization errors in Jerasure . Fixed memory leak in ISA-L . Changed the Galois Field multiplication table in ISA-L to be calculated only on init. . Fixed valgrind-check to enable finding memory-leaks. . Fixed several memory leaks in tests and also in the built-in rs_vand implementation. . Fixed warning on automake tool . Added compiler flag to disable AVX optimizations. Release 1.4.0 ------------- . Added support for ISA-L Cauchy . Added get_version functionality to library . Fixed reconstruct to return an error when memory allocation failed . Fixed posix_memalign error handling Release 1.3.1 ------------- . Fixed the internal version number. It was inadvertently skipped in 1.3.0. Release 1.3.0 ------------- . Fixed error handling on gf_ivnert_matrix in isa-l backend . Added get_by_desc return value handling to get_fragment_size . Other minor fixes and updates Release 1.2.0 ------------- . Add functionality to enable consumers to check which backends are present on a system . Fix segfault when fragment index is out of range . Add fragment metadata checksumming support Release 1.1.0 ------------- . Fix for a segfault related to Jerasure uninit() function that is being looked up by the jerasure EC backend (Issue#19) . Split helpers.h include for backward compatibility . Create header symlinks in std locations for backward compat (<= 1.0.8) . Eliminate erasurecode_stdinc.h dependency on log.h . Move fragment_header defn to main erasurecode header . doxygen documentation fixes Release 1.0.9 ------------- . Minor bugfixes including removing offending MAJOR/MINOR version macros . Enforce upper limit 32 on the number of erasure coding fragments (#data + #chunks) < 32 Release 1.0.8 ------------- . Introduce 'liberasurecode_rs_vand', a native, software-based Reed-Soloman Vandermonde backend . Properly set W in the new internal RS backend. Without this change, the fragment length passed up is incorrect. . Remove all GPLv3 m4 references for CPUID checks . Properly dedupe fragments in fragments_to_string() function . Prevent backends from reconstructing an index when it is not missing, ie, is available . Make ./configure to obey CFLAGS . Add missing pkg-config templates . Remove autoconf installed files from git control . Fix get_supported_flags() arguments . Properly detect 64-bit architecture. . Add -f argument to autoreconf to regenerate aclocal macros . Silent autoconf warning for ac_cv_sizeof_long . Fix C++ build issues (add missing cplusplus macros definitions) . Make liberasurecode header installs to a specific include directory . Fix 'make test' to properly run null and installed backend tests. . Fix a uint < 0 warning reported by Clang . Fix memory leak in alg_sig init . Fix decode when m > k and all parities are chosen as input to decode