summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: e1ba6f74a492bb4c44cdd60da0ff11b1aea1f6af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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