Release 1.8.0
. Added a new ISA-L backend implementing locally-recoverable codes. These
allow reconstruction with less than k fragments.
. Added locks to ensure thread-safety.
. The maximum total number of fragments (k + m) is increased from 32 to 256.
. Properly fail reconstruction when there are too many failures for
flat_xor_hd to handle.
. Other minor fixes and updates.
Release 1.7.1
-------------
. Fixed version number.
Release 1.7.0
-------------
. Added a new ISA-L backend based on Vandermonde matrices but allowing optimal
codes even with more than four parity.
. Properly fail when there are too many failures for flat_xor_hd to handle.
Previously, this could segmentation fault or return corrupt data.
. Fixed compiler warning about maybe-uninitialized tables.
. Other minor fixes and updates.
Release 1.6.5
-------------
. Fixed a segmentation fault when multiple liberasurecode_rs_vand descriptors
have been created then one of them is destroyed.
. Fixed several compiler warnings regarding strict prototypes.
. Other minor fixes and updates.
Release 1.6.4
-------------
. Fixed a bounds check in get_fragment_partition that could lead to stray
writes or segmentation faults.
. Fixed builds on non-Bash shells.
. Other minor fixes and updates.
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 ( k and all parities are chosen as input to decode