xref: /isa-l/Release_notes.txt (revision bc48c1e2dcfef19e81cc9ead4f324ad4fa54f978)
1v2.22 Intel Intelligent Storage Acceleration Library Release Notes
2==================================================================
3
4RELEASE NOTE CONTENTS
51. KNOWN ISSUES
62. FIXED ISSUES
73. CHANGE LOG & FEATURES ADDED
8
91. KNOWN ISSUES
10----------------
11
12* Perf tests do not run in Windows environment.
13
14* 32-bit lib is not supported in Windows.
15
162. FIXED ISSUES
17---------------
18v2.22
19
20* Fix ISA-L builds for other architectures.  Base function and examples
21  sanitized for non-IA builds.
22
23* Fix fuzz test script to work with llvm 6.0 builtin libFuzz.
24
25v2.20
26
27* Inflate total_out behavior corrected for in-progress decompression.
28  Previously total_out represented the total bytes decompressed into the output
29  buffer or temp internal buffer.  This is changed to be only the bytes put into
30  the output buffer.
31
32* Fixed issue with isal_create_hufftables_subset.  Affects semi-dynamic
33  compression use case when explicitly creating hufftables from histogram.  The
34  _hufftables_subset function could fail to generate length symbols for any
35  length that were never seen.
36
37v2.19
38
39* Fix erasure code test that violates rs matrix bounds.
40
41* Fix 0 length file and looping errors in igzip_inflate_test.
42
43v2.18
44
45* Mac OS X/darwin systems no longer require the --target=darwin config option.
46  The autoconf canonical build should detect.
47
48v2.17
49
50* Fix igzip using 32K window and a shared object
51
52* Fix igzip undefined instruction error on Nehalem.
53
54* Fixed issue in crc performance tests where OS optimizations turned cold cache
55  tests into warm tests.
56
57v2.15
58
59* Fix for windows register save in gf_6vect_mad_avx2.asm.  Only affects windows
60  versions of ec_encode_data_update() running with AVX2.  A GP register was not
61  properly restored resulting in corruption on return.
62
63v2.14
64
65* Building in unit directories is no longer supported removing the issue of
66  leftover object files causing the top-level make build to fail.
67
68v2.10
69
70* Fix for windows register save overlap in gf_{3-6}vect_dot_prod_sse.asm. Only
71  affects windows versions of erasure code.  GP register saves/restore were
72  pushed to same stack area as XMM.
73
743. CHANGE LOG & FEATURES ADDED
75------------------------------
76v2.22
77
78* Igzip: AVX2 version of level 3 compression added.
79
80* Erasure code examples
81  - New examples for standard EC encode and decode.
82  - Example of piggyback EC encode and decode.
83
84v2.21
85
86* Igzip improvements
87  - New compression levels added.  ISA-L fast deflate now has more levels to
88    balance speed vs. target compression level.  Level 0, 1 are as in previous
89    generations.  New levels 2 & 3 target higher compression roughly comparable
90    to zlib levels 2-3.  Level 3 is currently only optimized for processors with
91    AVX512 instructions.
92
93* New T10dif & copy function - crc16_t10dif_copy()
94  - CRC and copy was added to emulate T10dif operations such as DIF insert and
95    strip.  This function stitches together CRC and memcpy operations
96    eliminating an extra data read.
97
98* CRC32 iscsi performance improvements
99  - Fixes issue under some distributions where warm cache performance was
100    reduced.
101
102v2.20
103
104* Igzip improvements
105  - Optimized deflate_hash in compression functions.
106    Improves performance of using preset dictionary.
107  - Removed alignment restrictions on input structure.
108
109v2.19
110
111* Igzip improvements
112
113  - Add optimized Adler-32 checksum.
114
115  - Implement zlib compression format.
116
117  - Add stateful dictionary support.
118
119  - Add struct reset functions for both deflate and inflate.
120
121* Reflected IEEE format CRC32 is released out. Function interface is named
122  crc32_gzip_refl.
123
124* Exact work condition of Erasure Code Reed-Solomon Matrix is determined by new
125  added program gen_rs_matrix_limits.
126
127v2.18
128
129* New 2-pass fully-dynamic deflate compression (level -1).  ISA-L fast deflate
130  now has two levels.  Level 0 (default) is the same as previous generations.
131  Setting to level 1 will switch to the fully-dynamic compression that will
132  typically reach higher compression ratios.
133
134* RAID AVX512 functions.
135
136v2.17
137
138* New fast decompression (inflate)
139
140* Compression improvements (deflate)
141  - Speed and compression ratio improvements.
142  - Fast custom Huffman code generation.
143  - New features:
144    * Run-time option of gzip crc calculation and headers/trailer.
145    * Choice of static header (BTYPE 01) blocks.
146    * LARGE_WINDOW, 32K history, now default.
147    * Stateless full flush mode.
148
149* CRC64
150  - Six new 64-bit polynomials supported. Normal and reflected versions of ECMA,
151    ISO and Jones polynomials.
152
153v2.16
154
155* Units added: crc, raid, igzip (deflate compression).
156
157v2.15
158
159* Erasure code updates. New AVX512 versions.
160
161* Nasm support.  ISA-L ported to build with nasm or yasm assembler.
162
163* Windows DLL support.  Windows builds DLL by default.
164
165v2.14
166
167* Autoconf and autotools build allows easier porting to additional systems.
168  Previous make system still available to embedded users with Makefile.unx.
169
170* Includes update for building on Mac OS X/darwin systems. Add --target=darwin
171  to ./configure step.
172
173v2.13
174
175* Erasure code improvments
176  - 32-bit port of optimized gf_vect_dot_prod() functions.  This makes
177    ec_encode_data() functions much faster on 32-bit processors.
178  - Avoton performance improvements.  Performance on Avoton for
179    gf_vect_dot_prod() and ec_encode_data() can improve by as much as 20%.
180
181v2.11
182
183* Incremental erasure code.  New functions added to erasure code to handle
184  single source update of code blocks.  The function ec_encode_data_update()
185  works with parameters similar to ec_encode_data() but are called incrementally
186  with each source block.  These versions are useful when source blocks are not
187  all available at once.
188
189v2.10
190
191* Erasure code updates
192  - New AVX and AVX2 support functions.
193  - Changes min len requirement on gf_vect_dot_prod() to 32 from 16.
194  - Tests include both source and parity recovery with ec_encode_data().
195  - New encoding examples with Vandermonde or Cauchy matrix.
196
197v2.8
198
199* First open release of erasure code unit that is part of ISA-L.
200