321 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			321 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | v1.9.3 | ||
|  | perf: highly improved speed in kernel space, by @terrelln | ||
|  | perf: faster speed with Visual Studio, thanks to @wolfpld and @remittor | ||
|  | perf: improved dictionary compression speed, by @felixhandte | ||
|  | perf: fixed LZ4_compress_HC_destSize() ratio, detected by @hsiangkao | ||
|  | perf: reduced stack usage in high compression mode, by @Yanpas | ||
|  | api : LZ4_decompress_safe_partial() supports unknown compressed size, requested by @jfkthame | ||
|  | api : improved LZ4F_compressBound() with automatic flushing, by Christopher Harvie | ||
|  | api : can (de)compress to/from NULL without UBs | ||
|  | api : fix alignment test on 32-bit systems (state initialization) | ||
|  | api : fix LZ4_saveDictHC() in corner case scenario, detected by @IgorKorkin | ||
|  | cli : `-l` legacy format is now compatible with `-m` multiple files, by Filipe Calasans | ||
|  | cli : benchmark mode supports dictionary, by @rkoradi | ||
|  | cli : fix --fast with large argument, detected by @picoHz | ||
|  | build: link to user-defined memory functions with LZ4_USER_MEMORY_FUNCTIONS, suggested by Yuriy Levchenko | ||
|  | build: contrib/cmake_unofficial/ moved to build/cmake/ | ||
|  | build: visual/* moved to build/ | ||
|  | build: updated meson script, by @neheb | ||
|  | build: tinycc support, by Anton Kochkov | ||
|  | install: Haiku support, by Jerome Duval | ||
|  | doc : updated LZ4 frame format, clarify EndMark | ||
|  | 
 | ||
|  | v1.9.2 | ||
|  | fix : out-of-bound read in exceptional circumstances when using decompress_partial(), by @terrelln | ||
|  | fix : slim opportunity for out-of-bound write with compress_fast() with a large enough input and when providing an output smaller than recommended (< LZ4_compressBound(inputSize)), by @terrelln | ||
|  | fix : rare data corruption bug with LZ4_compress_destSize(), by @terrelln | ||
|  | fix : data corruption bug when Streaming with an Attached Dict in HC Mode, by @felixhandte | ||
|  | perf: enable LZ4_FAST_DEC_LOOP on aarch64/GCC by default, by @prekageo | ||
|  | perf: improved lz4frame streaming API speed, by @dreambottle | ||
|  | perf: speed up lz4hc on slow patterns when using external dictionary, by @terrelln | ||
|  | api: better in-place decompression and compression support | ||
|  | cli : --list supports multi-frames files, by @gstedman | ||
|  | cli: --version outputs to stdout | ||
|  | cli : add option --best as an alias of -12 , by @Low-power | ||
|  | misc: Integration into oss-fuzz by @cmeister2, expanded list of scenarios by @terrelln | ||
|  | 
 | ||
|  | v1.9.1 | ||
|  | fix : decompression functions were reading a few bytes beyond input size (introduced in v1.9.0, reported by @ppodolsky and @danlark1) | ||
|  | api : fix : lz4frame initializers compatibility with c++, reported by @degski | ||
|  | cli : added command --list, based on a patch by @gabrielstedman | ||
|  | build: improved Windows build, by @JPeterMugaas | ||
|  | build: AIX, by Norman Green | ||
|  | 
 | ||
|  | v1.9.0 | ||
|  | perf: large decompression speed improvement on x86/x64 (up to +20%) by @djwatson | ||
|  | api : changed : _destSize() compression variants are promoted to stable API | ||
|  | api : new : LZ4_initStream(HC), replacing LZ4_resetStream(HC) | ||
|  | api : changed : LZ4_resetStream(HC) as recommended reset function, for better performance on small data | ||
|  | cli : support custom block sizes, by @blezsan | ||
|  | build: source code can be amalgamated, by Bing Xu | ||
|  | build: added meson build, by @lzutao | ||
|  | build: new build macros : LZ4_DISTANCE_MAX, LZ4_FAST_DEC_LOOP | ||
|  | install: MidnightBSD, by @laffer1 | ||
|  | install: msys2 on Windows 10, by @vtorri | ||
|  | 
 | ||
|  | v1.8.3 | ||
|  | perf: minor decompression speed improvement (~+2%) with gcc | ||
|  | fix : corruption in v1.8.2 at level 9 for files > 64KB under rare conditions (#560) | ||
|  | cli : new command --fast, by @jennifermliu | ||
|  | cli : fixed elapsed time, and added cpu load indicator (on -vv) (#555) | ||
|  | api : LZ4_decompress_safe_partial() now decodes exactly the nb of bytes requested (feature request #566) | ||
|  | build : added Haiku target, by @fbrosson, and MidnightBSD, by @laffer1 | ||
|  | doc : updated documentation regarding dictionary compression | ||
|  | 
 | ||
|  | v1.8.2 | ||
|  | perf: *much* faster dictionary compression on small files, by @felixhandte | ||
|  | perf: improved decompression speed and binary size, by Alexey Tourbin (@svpv) | ||
|  | perf: slightly faster HC compression and decompression speed | ||
|  | perf: very small compression ratio improvement | ||
|  | fix : compression compatible with low memory addresses (< 0xFFFF) | ||
|  | fix : decompression segfault when provided with NULL input, by @terrelln | ||
|  | cli : new command --favor-decSpeed | ||
|  | cli : benchmark mode more accurate for small inputs | ||
|  | fullbench : can bench _destSize() variants, by @felixhandte | ||
|  | doc : clarified block format parsing restrictions, by Alexey Tourbin (@svpv) | ||
|  | 
 | ||
|  | v1.8.1 | ||
|  | perf : faster and stronger ultra modes (levels 10+) | ||
|  | perf : slightly faster compression and decompression speed | ||
|  | perf : fix bad degenerative case, reported by @c-morgenstern | ||
|  | fix : decompression failed when using a combination of extDict + low memory address (#397), reported and fixed by Julian Scheid (@jscheid) | ||
|  | cli : support for dictionary compression (`-D`), by Felix Handte @felixhandte | ||
|  | cli : fix : `lz4 -d --rm` preserves timestamp (#441) | ||
|  | cli : fix : do not modify /dev/null permission as root, by @aliceatlas | ||
|  | api : `_destSize()` variant supported for all compression levels | ||
|  | build  : `make` and `make test` compatible with `-jX`, reported by @mwgamera | ||
|  | build  : can control LZ4LIB_VISIBILITY macro, by @mikir | ||
|  | install: fix man page directory (#387), reported by Stuart Cardall (@itoffshore) | ||
|  | 
 | ||
|  | v1.8.0 | ||
|  | cli : fix : do not modify /dev/null permissions, reported by @Maokaman1 | ||
|  | cli : added GNU separator -- specifying that all following arguments are files | ||
|  | API : added LZ4_compress_HC_destSize(), by Oleg (@remittor) | ||
|  | API : added LZ4F_resetDecompressionContext() | ||
|  | API : lz4frame : negative compression levels trigger fast acceleration, request by Lawrence Chan | ||
|  | API : lz4frame : can control block checksum and dictionary ID | ||
|  | API : fix : expose obsolete decoding functions, reported by Chen Yufei | ||
|  | API : experimental : lz4frame_static : new dictionary compression API | ||
|  | build : fix : static lib installation, by Ido Rosen | ||
|  | build : dragonFlyBSD, OpenBSD, NetBSD supported | ||
|  | build : LZ4_MEMORY_USAGE can be modified at compile time, through external define | ||
|  | doc : Updated LZ4 Frame format to v1.6.0, restoring Dictionary-ID field | ||
|  | doc : lz4 api manual, by Przemyslaw Skibinski | ||
|  | 
 | ||
|  | v1.7.5 | ||
|  | lz4hc : new high compression mode : levels 10-12 compress more and slower, by Przemyslaw Skibinski | ||
|  | lz4cat : fix : works with relative path (#284) and stdin (#285) (reported by @beiDei8z) | ||
|  | cli : fix minor notification when using -r recursive mode | ||
|  | API : lz4frame : LZ4F_frameBound(0) gives upper bound of *flush() and *End() operations (#290, #280) | ||
|  | doc : markdown version of man page, by Takayuki Matsuoka (#279) | ||
|  | build : Makefile : fix make -jX lib+exe concurrency (#277) | ||
|  | build : cmake : improvements by Michał Górny (#296) | ||
|  | 
 | ||
|  | v1.7.4.2 | ||
|  | fix : Makefile : release build compatible with PIE and customized compilation directives provided through environment variables (#274, reported by Antoine Martin) | ||
|  | 
 | ||
|  | v1.7.4 | ||
|  | Improved : much better speed in -mx32 mode | ||
|  | cli : fix : Large file support in 32-bits mode on Mac OS-X | ||
|  | fix : compilation on gcc 4.4 (#272), reported by Antoine Martin | ||
|  | 
 | ||
|  | v1.7.3 | ||
|  | Changed : moved to versioning; package, cli and library have same version number | ||
|  | Improved: Small decompression speed boost | ||
|  | Improved: Small compression speed improvement on 64-bits systems | ||
|  | Improved: Small compression ratio and speed improvement on small files | ||
|  | Improved: Significant speed boost on ARMv6 and ARMv7 | ||
|  | Fix : better ratio on 64-bits big-endian targets | ||
|  | Improved cmake build script, by Evan Nemerson | ||
|  | New liblz4-dll project, by Przemyslaw Skibinki | ||
|  | Makefile: Generates object files (*.o) for faster (re)compilation on low power systems | ||
|  | cli : new : --rm and --help commands | ||
|  | cli : new : preserved file attributes, by Przemyslaw Skibinki | ||
|  | cli : fix : crash on some invalid inputs | ||
|  | cli : fix : -t correctly validates lz4-compressed files, by Nick Terrell | ||
|  | cli : fix : detects and reports fread() errors, thanks to Hiroshi Fujishima report #243 | ||
|  | cli : bench : new : -r recursive mode | ||
|  | lz4cat : can cat multiple files in a single command line (#184) | ||
|  | Added : doc/lz4_manual.html, by Przemyslaw Skibinski | ||
|  | Added : dictionary compression and frame decompression examples, by Nick Terrell | ||
|  | Added : Debianization, by Evgeniy Polyakov | ||
|  | 
 | ||
|  | r131 | ||
|  | New    : Dos/DJGPP target, thanks to Louis Santillan (#114) | ||
|  | Added  : Example using lz4frame library, by Zbigniew Jędrzejewski-Szmek (#118) | ||
|  | Changed: xxhash symbols are modified (namespace emulation) within liblz4 | ||
|  | 
 | ||
|  | r130: | ||
|  | Fixed  : incompatibility sparse mode vs console, reported by Yongwoon Cho (#105) | ||
|  | Fixed  : LZ4IO exits too early when frame crc not present, reported by Yongwoon Cho (#106) | ||
|  | Fixed  : incompatibility sparse mode vs append mode, reported by Takayuki Matsuoka (#110) | ||
|  | Performance fix : big compression speed boost for clang (+30%) | ||
|  | New    : cross-version test, by Takayuki Matsuoka | ||
|  | 
 | ||
|  | r129: | ||
|  | Added  : LZ4_compress_fast(), LZ4_compress_fast_continue() | ||
|  | Added  : LZ4_compress_destSize() | ||
|  | Changed: New lz4 and lz4hc compression API. Previous function prototypes still supported. | ||
|  | Changed: Sparse file support enabled by default | ||
|  | New    : LZ4 CLI improved performance compressing/decompressing multiple files (#86, kind contribution from Kyle J. Harper & Takayuki Matsuoka) | ||
|  | Fixed  : GCC 4.9+ optimization bug - Reported by Markus Trippelsdorf, Greg Slazinski & Evan Nemerson | ||
|  | Changed: Enums converted to LZ4F_ namespace convention - by Takayuki Matsuoka | ||
|  | Added  : AppVeyor CI environment, for Visual tests - Suggested by Takayuki Matsuoka | ||
|  | Modified:Obsolete functions generate warnings - Suggested by Evan Nemerson, contributed by Takayuki Matsuoka | ||
|  | Fixed  : Bug #75 (unfinished stream), reported by Yongwoon Cho | ||
|  | Updated: Documentation converted to MarkDown format | ||
|  | 
 | ||
|  | r128: | ||
|  | New    : lz4cli sparse file support (Requested by Neil Wilson, and contributed by Takayuki Matsuoka) | ||
|  | New    : command -m, to compress multiple files in a single command (suggested by Kyle J. Harper) | ||
|  | Fixed  : Restored lz4hc compression ratio (slightly lower since r124) | ||
|  | New    : lz4 cli supports long commands (suggested by Takayuki Matsuoka) | ||
|  | New    : lz4frame & lz4cli frame content size support | ||
|  | New    : lz4frame supports skippable frames, as requested by Sergey Cherepanov | ||
|  | Changed: Default "make install" directory is /usr/local, as notified by Ron Johnson | ||
|  | New    : lz4 cli supports "pass-through" mode, requested by Neil Wilson | ||
|  | New    : datagen can generate sparse files | ||
|  | New    : scan-build tests, thanks to kind help by Takayuki Matsuoka | ||
|  | New    : g++ compatibility tests | ||
|  | New    : arm cross-compilation test, thanks to kind help by Takayuki Matsuoka | ||
|  | Fixed  : Fuzzer + frametest compatibility with NetBSD (issue #48, reported by Thomas Klausner) | ||
|  | Added  : Visual project directory | ||
|  | Updated: Man page & Specification | ||
|  | 
 | ||
|  | r127: | ||
|  | N/A   : added a file on SVN | ||
|  | 
 | ||
|  | r126: | ||
|  | New   : lz4frame API is now integrated into liblz4 | ||
|  | Fixed : GCC 4.9 bug on highest performance settings, reported by Greg Slazinski | ||
|  | Fixed : bug within LZ4 HC streaming mode, reported by James Boyle | ||
|  | Fixed : older compiler don't like nameless unions, reported by Cheyi Lin | ||
|  | Changed : lz4 is C90 compatible | ||
|  | Changed : added -pedantic option, fixed a few mminor warnings | ||
|  | 
 | ||
|  | r125: | ||
|  | Changed : endian and alignment code | ||
|  | Changed : directory structure : new "lib" directory | ||
|  | Updated : lz4io, now uses lz4frame | ||
|  | Improved: slightly improved decoding speed | ||
|  | Fixed : LZ4_compress_limitedOutput(); Special thanks to Christopher Speller ! | ||
|  | Fixed : some alignment warnings under clang | ||
|  | Fixed : deprecated function LZ4_slideInputBufferHC() | ||
|  | 
 | ||
|  | r124: | ||
|  | New : LZ4 HC streaming mode | ||
|  | Fixed : LZ4F_compressBound() using null preferencesPtr | ||
|  | Updated : xxHash to r38 | ||
|  | Updated library number, to 1.4.0 | ||
|  | 
 | ||
|  | r123: | ||
|  | Added : experimental lz4frame API, thanks to Takayuki Matsuoka and Christopher Jackson for testings | ||
|  | Fix : s390x support, thanks to Nobuhiro Iwamatsu | ||
|  | Fix : test mode (-t) no longer requires confirmation, thanks to Thary Nguyen | ||
|  | 
 | ||
|  | r122: | ||
|  | Fix : AIX & AIX64 support (SamG) | ||
|  | Fix : mips 64-bits support (lew van) | ||
|  | Added : Examples directory, using code examples from Takayuki Matsuoka | ||
|  | Updated : Framing specification, to v1.4.1 | ||
|  | Updated : xxHash, to r36 | ||
|  | 
 | ||
|  | r121: | ||
|  | Added : Makefile : install for kFreeBSD and Hurd (Nobuhiro Iwamatsu) | ||
|  | Fix : Makefile : install for OS-X and BSD, thanks to Takayuki Matsuoka | ||
|  | 
 | ||
|  | r120: | ||
|  | Modified : Streaming API, using strong types | ||
|  | Added : LZ4_versionNumber(), thanks to Takayuki Matsuoka | ||
|  | Fix : OS-X : library install name, thanks to Clemens Lang | ||
|  | Updated : Makefile : synchronize library version number with lz4.h, thanks to Takayuki Matsuoka | ||
|  | Updated : Makefile : stricter compilation flags | ||
|  | Added : pkg-config, thanks to Zbigniew Jędrzejewski-Szmek (issue 135) | ||
|  | Makefile : lz4-test only test native binaries, as suggested by Michał Górny (issue 136) | ||
|  | Updated : xxHash to r35 | ||
|  | 
 | ||
|  | r119: | ||
|  | Fix : Issue 134 : extended malicious address space overflow in 32-bits mode for some specific configurations | ||
|  | 
 | ||
|  | r118: | ||
|  | New : LZ4 Streaming API (Fast version), special thanks to Takayuki Matsuoka | ||
|  | New : datagen : parametrable synthetic data generator for tests | ||
|  | Improved : fuzzer, support more test cases, more parameters, ability to jump to specific test | ||
|  | fix : support ppc64le platform (issue 131) | ||
|  | fix : Issue 52 (malicious address space overflow in 32-bits mode when using large custom format) | ||
|  | fix : Makefile : minor issue 130 : header files permissions | ||
|  | 
 | ||
|  | r117: | ||
|  | Added : man pages for lz4c and lz4cat | ||
|  | Added : automated tests on Travis, thanks to Takayuki Matsuoka ! | ||
|  | fix : block-dependency command line (issue 127) | ||
|  | fix : lz4fullbench (issue 128) | ||
|  | 
 | ||
|  | r116: | ||
|  | hotfix (issue 124 & 125) | ||
|  | 
 | ||
|  | r115: | ||
|  | Added : lz4cat utility, installed on POSX systems (issue 118) | ||
|  | OS-X compatible compilation of dynamic library (issue 115) | ||
|  | 
 | ||
|  | r114: | ||
|  | Makefile : library correctly compiled with -O3 switch (issue 114) | ||
|  | Makefile : library compilation compatible with clang | ||
|  | Makefile : library is versioned and linked (issue 119) | ||
|  | lz4.h : no more static inline prototypes (issue 116) | ||
|  | man : improved header/footer (issue 111) | ||
|  | Makefile : Use system default $(CC) & $(MAKE) variables (issue 112) | ||
|  | xxhash : updated to r34 | ||
|  | 
 | ||
|  | r113: | ||
|  | Large decompression speed improvement for GCC 32-bits. Thanks to Valery Croizier ! | ||
|  | LZ4HC : Compression Level is now a programmable parameter (CLI from 4 to 9) | ||
|  | Separated IO routines from command line (lz4io.c) | ||
|  | Version number into lz4.h (suggested by Francesc Alted) | ||
|  | 
 | ||
|  | r112: | ||
|  | quickfix | ||
|  | 
 | ||
|  | r111 : | ||
|  | Makefile : added capability to install libraries | ||
|  | Modified Directory tree, to better separate libraries from programs. | ||
|  | 
 | ||
|  | r110 : | ||
|  | lz4 & lz4hc : added capability to allocate state & stream state with custom allocator (issue 99) | ||
|  | fuzzer & fullbench : updated to test new functions | ||
|  | man : documented -l command (Legacy format, for Linux kernel compression) (issue 102) | ||
|  | cmake : improved version by Mika Attila, building programs and libraries (issue 100) | ||
|  | xxHash : updated to r33 | ||
|  | Makefile : clean also delete local package .tar.gz | ||
|  | 
 | ||
|  | r109 : | ||
|  | lz4.c : corrected issue 98 (LZ4_compress_limitedOutput()) | ||
|  | Makefile : can specify version number from makefile | ||
|  | 
 | ||
|  | r108 : | ||
|  | lz4.c : corrected compression efficiency issue 97 in 64-bits chained mode (-BD) for streams > 4 GB (thanks Roman Strashkin for reporting) | ||
|  | 
 | ||
|  | r107 : | ||
|  | Makefile : support DESTDIR for staged installs. Thanks Jorge Aparicio. | ||
|  | Makefile : make install installs both lz4 and lz4c (Jorge Aparicio) | ||
|  | Makefile : removed -Wno-implicit-declaration compilation switch | ||
|  | lz4cli.c : include <stduni.h> for isatty() (Luca Barbato) | ||
|  | lz4.h : introduced LZ4_MAX_INPUT_SIZE constant (Shay Green) | ||
|  | lz4.h : LZ4_compressBound() : unified macro and inline definitions (Shay Green) | ||
|  | lz4.h : LZ4_decompressSafe_partial() : clarify comments (Shay Green) | ||
|  | lz4.c : LZ4_compress() verify input size condition (Shay Green) | ||
|  | bench.c : corrected a bug in free memory size evaluation | ||
|  | cmake : install into bin/ directory (Richard Yao) | ||
|  | cmake : check for just C compiler (Elan Ruusamae) | ||
|  | 
 | ||
|  | r106 : | ||
|  | Makefile : make dist modify text files in the package to respect Unix EoL convention | ||
|  | lz4cli.c : corrected small display bug in HC mode | ||
|  | 
 | ||
|  | r105 : | ||
|  | Makefile : New install script and man page, contributed by Prasad Pandit | ||
|  | lz4cli.c : Minor modifications, for easier extensibility | ||
|  | COPYING  : added license file | ||
|  | LZ4_Streaming_Format.odt : modified file name to remove white space characters | ||
|  | Makefile : .exe suffix now properly added only for Windows target |