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