1v1.9.1 2fix : decompression functions were reading a few bytes beyond input size (introduced in v1.9.0, reported by @ppodolsky and @danlark1) 3api : fix : lz4frame initializers compatibility with c++, reported by @degski 4cli : added command --list, based on a patch by @gabrielstedman 5build: improved Windows build, by @JPeterMugaas 6build: AIX, by Norman Green 7 8v1.9.0 9perf: large decompression speed improvement on x86/x64 (up to +20%) by @djwatson 10api : changed : _destSize() compression variants are promoted to stable API 11api : new : LZ4_initStream(HC), replacing LZ4_resetStream(HC) 12api : changed : LZ4_resetStream(HC) as recommended reset function, for better performance on small data 13cli : support custom block sizes, by @blezsan 14build: source code can be amalgamated, by Bing Xu 15build: added meson build, by @lzutao 16build: new build macros : LZ4_DISTANCE_MAX, LZ4_FAST_DEC_LOOP 17install: MidnightBSD, by @laffer1 18install: msys2 on Windows 10, by @vtorri 19 20v1.8.3 21perf: minor decompression speed improvement (~+2%) with gcc 22fix : corruption in v1.8.2 at level 9 for files > 64KB under rare conditions (#560) 23cli : new command --fast, by @jennifermliu 24cli : fixed elapsed time, and added cpu load indicator (on -vv) (#555) 25api : LZ4_decompress_safe_partial() now decodes exactly the nb of bytes requested (feature request #566) 26build : added Haiku target, by @fbrosson, and MidnightBSD, by @laffer1 27doc : updated documentation regarding dictionary compression 28 29v1.8.2 30perf: *much* faster dictionary compression on small files, by @felixhandte 31perf: improved decompression speed and binary size, by Alexey Tourbin (@svpv) 32perf: slightly faster HC compression and decompression speed 33perf: very small compression ratio improvement 34fix : compression compatible with low memory addresses (< 0xFFFF) 35fix : decompression segfault when provided with NULL input, by @terrelln 36cli : new command --favor-decSpeed 37cli : benchmark mode more accurate for small inputs 38fullbench : can bench _destSize() variants, by @felixhandte 39doc : clarified block format parsing restrictions, by Alexey Tourbin (@svpv) 40 41v1.8.1 42perf : faster and stronger ultra modes (levels 10+) 43perf : slightly faster compression and decompression speed 44perf : fix bad degenerative case, reported by @c-morgenstern 45fix : decompression failed when using a combination of extDict + low memory address (#397), reported and fixed by Julian Scheid (@jscheid) 46cli : support for dictionary compression (`-D`), by Felix Handte @felixhandte 47cli : fix : `lz4 -d --rm` preserves timestamp (#441) 48cli : fix : do not modify /dev/null permission as root, by @aliceatlas 49api : `_destSize()` variant supported for all compression levels 50build : `make` and `make test` compatible with `-jX`, reported by @mwgamera 51build : can control LZ4LIB_VISIBILITY macro, by @mikir 52install: fix man page directory (#387), reported by Stuart Cardall (@itoffshore) 53 54v1.8.0 55cli : fix : do not modify /dev/null permissions, reported by @Maokaman1 56cli : added GNU separator -- specifying that all following arguments are files 57API : added LZ4_compress_HC_destSize(), by Oleg (@remittor) 58API : added LZ4F_resetDecompressionContext() 59API : lz4frame : negative compression levels trigger fast acceleration, request by Lawrence Chan 60API : lz4frame : can control block checksum and dictionary ID 61API : fix : expose obsolete decoding functions, reported by Chen Yufei 62API : experimental : lz4frame_static : new dictionary compression API 63build : fix : static lib installation, by Ido Rosen 64build : dragonFlyBSD, OpenBSD, NetBSD supported 65build : LZ4_MEMORY_USAGE can be modified at compile time, through external define 66doc : Updated LZ4 Frame format to v1.6.0, restoring Dictionary-ID field 67doc : lz4 api manual, by Przemyslaw Skibinski 68 69v1.7.5 70lz4hc : new high compression mode : levels 10-12 compress more and slower, by Przemyslaw Skibinski 71lz4cat : fix : works with relative path (#284) and stdin (#285) (reported by @beiDei8z) 72cli : fix minor notification when using -r recursive mode 73API : lz4frame : LZ4F_frameBound(0) gives upper bound of *flush() and *End() operations (#290, #280) 74doc : markdown version of man page, by Takayuki Matsuoka (#279) 75build : Makefile : fix make -jX lib+exe concurrency (#277) 76build : cmake : improvements by Michał Górny (#296) 77 78v1.7.4.2 79fix : Makefile : release build compatible with PIE and customized compilation directives provided through environment variables (#274, reported by Antoine Martin) 80 81v1.7.4 82Improved : much better speed in -mx32 mode 83cli : fix : Large file support in 32-bits mode on Mac OS-X 84fix : compilation on gcc 4.4 (#272), reported by Antoine Martin 85 86v1.7.3 87Changed : moved to versioning; package, cli and library have same version number 88Improved: Small decompression speed boost 89Improved: Small compression speed improvement on 64-bits systems 90Improved: Small compression ratio and speed improvement on small files 91Improved: Significant speed boost on ARMv6 and ARMv7 92Fix : better ratio on 64-bits big-endian targets 93Improved cmake build script, by Evan Nemerson 94New liblz4-dll project, by Przemyslaw Skibinki 95Makefile: Generates object files (*.o) for faster (re)compilation on low power systems 96cli : new : --rm and --help commands 97cli : new : preserved file attributes, by Przemyslaw Skibinki 98cli : fix : crash on some invalid inputs 99cli : fix : -t correctly validates lz4-compressed files, by Nick Terrell 100cli : fix : detects and reports fread() errors, thanks to Hiroshi Fujishima report #243 101cli : bench : new : -r recursive mode 102lz4cat : can cat multiple files in a single command line (#184) 103Added : doc/lz4_manual.html, by Przemyslaw Skibinski 104Added : dictionary compression and frame decompression examples, by Nick Terrell 105Added : Debianization, by Evgeniy Polyakov 106 107r131 108New : Dos/DJGPP target, thanks to Louis Santillan (#114) 109Added : Example using lz4frame library, by Zbigniew Jędrzejewski-Szmek (#118) 110Changed: xxhash symbols are modified (namespace emulation) within liblz4 111 112r130: 113Fixed : incompatibility sparse mode vs console, reported by Yongwoon Cho (#105) 114Fixed : LZ4IO exits too early when frame crc not present, reported by Yongwoon Cho (#106) 115Fixed : incompatibility sparse mode vs append mode, reported by Takayuki Matsuoka (#110) 116Performance fix : big compression speed boost for clang (+30%) 117New : cross-version test, by Takayuki Matsuoka 118 119r129: 120Added : LZ4_compress_fast(), LZ4_compress_fast_continue() 121Added : LZ4_compress_destSize() 122Changed: New lz4 and lz4hc compression API. Previous function prototypes still supported. 123Changed: Sparse file support enabled by default 124New : LZ4 CLI improved performance compressing/decompressing multiple files (#86, kind contribution from Kyle J. Harper & Takayuki Matsuoka) 125Fixed : GCC 4.9+ optimization bug - Reported by Markus Trippelsdorf, Greg Slazinski & Evan Nemerson 126Changed: Enums converted to LZ4F_ namespace convention - by Takayuki Matsuoka 127Added : AppVeyor CI environment, for Visual tests - Suggested by Takayuki Matsuoka 128Modified:Obsolete functions generate warnings - Suggested by Evan Nemerson, contributed by Takayuki Matsuoka 129Fixed : Bug #75 (unfinished stream), reported by Yongwoon Cho 130Updated: Documentation converted to MarkDown format 131 132r128: 133New : lz4cli sparse file support (Requested by Neil Wilson, and contributed by Takayuki Matsuoka) 134New : command -m, to compress multiple files in a single command (suggested by Kyle J. Harper) 135Fixed : Restored lz4hc compression ratio (slightly lower since r124) 136New : lz4 cli supports long commands (suggested by Takayuki Matsuoka) 137New : lz4frame & lz4cli frame content size support 138New : lz4frame supports skippable frames, as requested by Sergey Cherepanov 139Changed: Default "make install" directory is /usr/local, as notified by Ron Johnson 140New : lz4 cli supports "pass-through" mode, requested by Neil Wilson 141New : datagen can generate sparse files 142New : scan-build tests, thanks to kind help by Takayuki Matsuoka 143New : g++ compatibility tests 144New : arm cross-compilation test, thanks to kind help by Takayuki Matsuoka 145Fixed : Fuzzer + frametest compatibility with NetBSD (issue #48, reported by Thomas Klausner) 146Added : Visual project directory 147Updated: Man page & Specification 148 149r127: 150N/A : added a file on SVN 151 152r126: 153New : lz4frame API is now integrated into liblz4 154Fixed : GCC 4.9 bug on highest performance settings, reported by Greg Slazinski 155Fixed : bug within LZ4 HC streaming mode, reported by James Boyle 156Fixed : older compiler don't like nameless unions, reported by Cheyi Lin 157Changed : lz4 is C90 compatible 158Changed : added -pedantic option, fixed a few mminor warnings 159 160r125: 161Changed : endian and alignment code 162Changed : directory structure : new "lib" directory 163Updated : lz4io, now uses lz4frame 164Improved: slightly improved decoding speed 165Fixed : LZ4_compress_limitedOutput(); Special thanks to Christopher Speller ! 166Fixed : some alignment warnings under clang 167Fixed : deprecated function LZ4_slideInputBufferHC() 168 169r124: 170New : LZ4 HC streaming mode 171Fixed : LZ4F_compressBound() using null preferencesPtr 172Updated : xxHash to r38 173Updated library number, to 1.4.0 174 175r123: 176Added : experimental lz4frame API, thanks to Takayuki Matsuoka and Christopher Jackson for testings 177Fix : s390x support, thanks to Nobuhiro Iwamatsu 178Fix : test mode (-t) no longer requires confirmation, thanks to Thary Nguyen 179 180r122: 181Fix : AIX & AIX64 support (SamG) 182Fix : mips 64-bits support (lew van) 183Added : Examples directory, using code examples from Takayuki Matsuoka 184Updated : Framing specification, to v1.4.1 185Updated : xxHash, to r36 186 187r121: 188Added : Makefile : install for kFreeBSD and Hurd (Nobuhiro Iwamatsu) 189Fix : Makefile : install for OS-X and BSD, thanks to Takayuki Matsuoka 190 191r120: 192Modified : Streaming API, using strong types 193Added : LZ4_versionNumber(), thanks to Takayuki Matsuoka 194Fix : OS-X : library install name, thanks to Clemens Lang 195Updated : Makefile : synchronize library version number with lz4.h, thanks to Takayuki Matsuoka 196Updated : Makefile : stricter compilation flags 197Added : pkg-config, thanks to Zbigniew Jędrzejewski-Szmek (issue 135) 198Makefile : lz4-test only test native binaries, as suggested by Michał Górny (issue 136) 199Updated : xxHash to r35 200 201r119: 202Fix : Issue 134 : extended malicious address space overflow in 32-bits mode for some specific configurations 203 204r118: 205New : LZ4 Streaming API (Fast version), special thanks to Takayuki Matsuoka 206New : datagen : parametrable synthetic data generator for tests 207Improved : fuzzer, support more test cases, more parameters, ability to jump to specific test 208fix : support ppc64le platform (issue 131) 209fix : Issue 52 (malicious address space overflow in 32-bits mode when using large custom format) 210fix : Makefile : minor issue 130 : header files permissions 211 212r117: 213Added : man pages for lz4c and lz4cat 214Added : automated tests on Travis, thanks to Takayuki Matsuoka ! 215fix : block-dependency command line (issue 127) 216fix : lz4fullbench (issue 128) 217 218r116: 219hotfix (issue 124 & 125) 220 221r115: 222Added : lz4cat utility, installed on POSX systems (issue 118) 223OS-X compatible compilation of dynamic library (issue 115) 224 225r114: 226Makefile : library correctly compiled with -O3 switch (issue 114) 227Makefile : library compilation compatible with clang 228Makefile : library is versioned and linked (issue 119) 229lz4.h : no more static inline prototypes (issue 116) 230man : improved header/footer (issue 111) 231Makefile : Use system default $(CC) & $(MAKE) variables (issue 112) 232xxhash : updated to r34 233 234r113: 235Large decompression speed improvement for GCC 32-bits. Thanks to Valery Croizier ! 236LZ4HC : Compression Level is now a programmable parameter (CLI from 4 to 9) 237Separated IO routines from command line (lz4io.c) 238Version number into lz4.h (suggested by Francesc Alted) 239 240r112: 241quickfix 242 243r111 : 244Makefile : added capability to install libraries 245Modified Directory tree, to better separate libraries from programs. 246 247r110 : 248lz4 & lz4hc : added capability to allocate state & stream state with custom allocator (issue 99) 249fuzzer & fullbench : updated to test new functions 250man : documented -l command (Legacy format, for Linux kernel compression) (issue 102) 251cmake : improved version by Mika Attila, building programs and libraries (issue 100) 252xxHash : updated to r33 253Makefile : clean also delete local package .tar.gz 254 255r109 : 256lz4.c : corrected issue 98 (LZ4_compress_limitedOutput()) 257Makefile : can specify version number from makefile 258 259r108 : 260lz4.c : corrected compression efficiency issue 97 in 64-bits chained mode (-BD) for streams > 4 GB (thanks Roman Strashkin for reporting) 261 262r107 : 263Makefile : support DESTDIR for staged installs. Thanks Jorge Aparicio. 264Makefile : make install installs both lz4 and lz4c (Jorge Aparicio) 265Makefile : removed -Wno-implicit-declaration compilation switch 266lz4cli.c : include <stduni.h> for isatty() (Luca Barbato) 267lz4.h : introduced LZ4_MAX_INPUT_SIZE constant (Shay Green) 268lz4.h : LZ4_compressBound() : unified macro and inline definitions (Shay Green) 269lz4.h : LZ4_decompressSafe_partial() : clarify comments (Shay Green) 270lz4.c : LZ4_compress() verify input size condition (Shay Green) 271bench.c : corrected a bug in free memory size evaluation 272cmake : install into bin/ directory (Richard Yao) 273cmake : check for just C compiler (Elan Ruusamae) 274 275r106 : 276Makefile : make dist modify text files in the package to respect Unix EoL convention 277lz4cli.c : corrected small display bug in HC mode 278 279r105 : 280Makefile : New install script and man page, contributed by Prasad Pandit 281lz4cli.c : Minor modifications, for easier extensibility 282COPYING : added license file 283LZ4_Streaming_Format.odt : modified file name to remove white space characters 284Makefile : .exe suffix now properly added only for Windows target 285