summaryrefslogtreecommitdiffstats
path: root/src/isa-l/Release_notes.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/isa-l/Release_notes.txt')
-rw-r--r--src/isa-l/Release_notes.txt308
1 files changed, 308 insertions, 0 deletions
diff --git a/src/isa-l/Release_notes.txt b/src/isa-l/Release_notes.txt
new file mode 100644
index 000000000..e0211f72f
--- /dev/null
+++ b/src/isa-l/Release_notes.txt
@@ -0,0 +1,308 @@
+v2.30 Intel Intelligent Storage Acceleration Library Release Notes
+==================================================================
+
+RELEASE NOTE CONTENTS
+1. KNOWN ISSUES
+2. FIXED ISSUES
+3. CHANGE LOG & FEATURES ADDED
+
+1. KNOWN ISSUES
+----------------
+
+* Perf tests do not run in Windows environment.
+
+* 32-bit lib is not supported in Windows.
+
+2. FIXED ISSUES
+---------------
+v2.30
+
+* Intel CET support.
+* Windows nasm support fix.
+
+v2.28
+
+* Fix documentation on gf_vect_mad(). Min length listed as 32 instead of
+ required min 64 bytes.
+
+v2.27
+
+* Fix lack of install for pkg-config files
+
+v2.26
+
+* Fixes for sanitizer warnings.
+
+v2.25
+
+* Fix for nasm on Mac OS X/darwin.
+
+v2.24
+
+* Fix for crc32_iscsi(). Potential read-over for small buffer. For an input
+ buffer length of less than 8 bytes and aligned to an 8 byte boundary, function
+ could read past length. Previously had the possibility to cause a seg fault
+ only for length 0 and invalid buffer passed. Calculated CRC is unchanged.
+
+* Fix for compression/decompression of > 4GB files. For streaming compression
+ of extremely large files, the total_out parameter would wrap and could
+ potentially flag an otherwise valid lookback distance as being invalid.
+ Total_out is still 32bit for zlib compatibility. No inconsistent compressed
+ buffers were generated by the issue.
+
+v2.23
+
+* Fix for histogram generation base function.
+* Fix library build warnings on macOS.
+* Fix igzip to use bsf instruction when tzcnt is not available.
+
+v2.22
+
+* Fix ISA-L builds for other architectures. Base function and examples
+ sanitized for non-IA builds.
+
+* Fix fuzz test script to work with llvm 6.0 builtin libFuzz.
+
+v2.20
+
+* Inflate total_out behavior corrected for in-progress decompression.
+ Previously total_out represented the total bytes decompressed into the output
+ buffer or temp internal buffer. This is changed to be only the bytes put into
+ the output buffer.
+
+* Fixed issue with isal_create_hufftables_subset. Affects semi-dynamic
+ compression use case when explicitly creating hufftables from histogram. The
+ _hufftables_subset function could fail to generate length symbols for any
+ length that were never seen.
+
+v2.19
+
+* Fix erasure code test that violates rs matrix bounds.
+
+* Fix 0 length file and looping errors in igzip_inflate_test.
+
+v2.18
+
+* Mac OS X/darwin systems no longer require the --target=darwin config option.
+ The autoconf canonical build should detect.
+
+v2.17
+
+* Fix igzip using 32K window and a shared object
+
+* Fix igzip undefined instruction error on Nehalem.
+
+* Fixed issue in crc performance tests where OS optimizations turned cold cache
+ tests into warm tests.
+
+v2.15
+
+* Fix for windows register save in gf_6vect_mad_avx2.asm. Only affects windows
+ versions of ec_encode_data_update() running with AVX2. A GP register was not
+ properly restored resulting in corruption on return.
+
+v2.14
+
+* Building in unit directories is no longer supported removing the issue of
+ leftover object files causing the top-level make build to fail.
+
+v2.10
+
+* Fix for windows register save overlap in gf_{3-6}vect_dot_prod_sse.asm. Only
+ affects windows versions of erasure code. GP register saves/restore were
+ pushed to same stack area as XMM.
+
+3. CHANGE LOG & FEATURES ADDED
+------------------------------
+v2.30
+
+* Igzip compression enhancements.
+ - New functions for dictionary acceleration. Split dictionary processing and
+ resetting can greatly accelerate the performance of compressing many small
+ files with a dictionary.
+ - New static level 0 header decode tables. Accelerates decompressing small
+ files that are level 0 compressed by skipping the known header parsing.
+ - New feature for igzip cli tool: support for concatenated .gz files. On
+ decompression, igzip will process a series of independent, concatenated .gz
+ files into one output stream.
+
+* CRC Improvements
+ - New vclmul version of crc32_iscsi().
+ - Updates for aarch64.
+
+v2.29
+
+* CRC Improvements
+ - New AVX512 vclmul versions of crc16_t10dif(), crc32_ieee(), crc32_gzip_refl.
+
+* Erasure code improvements
+ - Added AVX512 ec functions with 5 and 6 outputs. Can improve performance for
+ codes with 5 or more parity by running in batches of up to 6 at a time.
+
+v2.28
+
+* New next-arch versions of 64-bit CRC. All norm and reflected 64-bit
+ polynomials are expanded to utilize vpclmulqdq.
+
+v2.27
+
+* New multi-threaded compression option for igzip cli tool
+
+v2.26
+
+* Adler32 added to external API.
+* Multi-arch improvements.
+* Performance test improvements.
+
+v2.25
+
+* Igzip performance improvements and features.
+ - Performance improvements for uncompressable files. Random or uncompressable
+ files can be up to 3x faster in level 1 or 2 compression.
+ - Additional small file performance improvments.
+ - New options in igzip cli: use name from header or not, test compressed file.
+
+* Multi-arch autoconf script.
+ - Autoconf should detect architecture and run base functions at minimum.
+
+v2.24
+
+* Igzip small file performance improvements and new features.
+ - Better performance on small files.
+ - New gzip/zlib header and trailer handling.
+ - New gzip/zlib header parsing helper functions.
+ - New user-space compression/decompression tool igzip.
+
+* New mem unit added with first function isal_zero_detect().
+
+v2.23
+
+* Igzip inflate (decompression) performance improvements.
+ - Implemented multi-byte decode for inflate. Decode can pack up to three
+ symbols into the decode table making some compressed streams decompress much
+ faster depending on the prevalence of short codes.
+
+v2.22
+
+* Igzip: AVX2 version of level 3 compression added.
+
+* Erasure code examples
+ - New examples for standard EC encode and decode.
+ - Example of piggyback EC encode and decode.
+
+v2.21
+
+* Igzip improvements
+ - New compression levels added. ISA-L fast deflate now has more levels to
+ balance speed vs. target compression level. Level 0, 1 are as in previous
+ generations. New levels 2 & 3 target higher compression roughly comparable
+ to zlib levels 2-3. Level 3 is currently only optimized for processors with
+ AVX512 instructions.
+
+* New T10dif & copy function - crc16_t10dif_copy()
+ - CRC and copy was added to emulate T10dif operations such as DIF insert and
+ strip. This function stitches together CRC and memcpy operations
+ eliminating an extra data read.
+
+* CRC32 iscsi performance improvements
+ - Fixes issue under some distributions where warm cache performance was
+ reduced.
+
+v2.20
+
+* Igzip improvements
+ - Optimized deflate_hash in compression functions.
+ Improves performance of using preset dictionary.
+ - Removed alignment restrictions on input structure.
+
+v2.19
+
+* Igzip improvements
+
+ - Add optimized Adler-32 checksum.
+
+ - Implement zlib compression format.
+
+ - Add stateful dictionary support.
+
+ - Add struct reset functions for both deflate and inflate.
+
+* Reflected IEEE format CRC32 is released out. Function interface is named
+ crc32_gzip_refl.
+
+* Exact work condition of Erasure Code Reed-Solomon Matrix is determined by new
+ added program gen_rs_matrix_limits.
+
+v2.18
+
+* New 2-pass fully-dynamic deflate compression (level -1). ISA-L fast deflate
+ now has two levels. Level 0 (default) is the same as previous generations.
+ Setting to level 1 will switch to the fully-dynamic compression that will
+ typically reach higher compression ratios.
+
+* RAID AVX512 functions.
+
+v2.17
+
+* New fast decompression (inflate)
+
+* Compression improvements (deflate)
+ - Speed and compression ratio improvements.
+ - Fast custom Huffman code generation.
+ - New features:
+ * Run-time option of gzip crc calculation and headers/trailer.
+ * Choice of static header (BTYPE 01) blocks.
+ * LARGE_WINDOW, 32K history, now default.
+ * Stateless full flush mode.
+
+* CRC64
+ - Six new 64-bit polynomials supported. Normal and reflected versions of ECMA,
+ ISO and Jones polynomials.
+
+v2.16
+
+* Units added: crc, raid, igzip (deflate compression).
+
+v2.15
+
+* Erasure code updates. New AVX512 versions.
+
+* Nasm support. ISA-L ported to build with nasm or yasm assembler.
+
+* Windows DLL support. Windows builds DLL by default.
+
+v2.14
+
+* Autoconf and autotools build allows easier porting to additional systems.
+ Previous make system still available to embedded users with Makefile.unx.
+
+* Includes update for building on Mac OS X/darwin systems. Add --target=darwin
+ to ./configure step.
+
+v2.13
+
+* Erasure code improvments
+ - 32-bit port of optimized gf_vect_dot_prod() functions. This makes
+ ec_encode_data() functions much faster on 32-bit processors.
+ - Avoton performance improvements. Performance on Avoton for
+ gf_vect_dot_prod() and ec_encode_data() can improve by as much as 20%.
+
+v2.11
+
+* Incremental erasure code. New functions added to erasure code to handle
+ single source update of code blocks. The function ec_encode_data_update()
+ works with parameters similar to ec_encode_data() but are called incrementally
+ with each source block. These versions are useful when source blocks are not
+ all available at once.
+
+v2.10
+
+* Erasure code updates
+ - New AVX and AVX2 support functions.
+ - Changes min len requirement on gf_vect_dot_prod() to 32 from 16.
+ - Tests include both source and parity recovery with ec_encode_data().
+ - New encoding examples with Vandermonde or Cauchy matrix.
+
+v2.8
+
+* First open release of erasure code unit that is part of ISA-L.