Changelogs » Lz4

PyUp Safety actively tracks 373,221 Python packages for vulnerabilities and notifies you when to upgrade.



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


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


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


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


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


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)


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)


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


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)

fix : Makefile : release build compatible with PIE and customized compilation directives provided through environment variables (274, reported by Antoine Martin)


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


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
  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
  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
  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
  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
  N/A   : added a file on SVN
  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
  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()
  New : LZ4 HC streaming mode
  Fixed : LZ4F_compressBound() using null preferencesPtr
  Updated : xxHash to r38


Updated : xxHash, to r36
  Added : Makefile : install for kFreeBSD and Hurd (Nobuhiro Iwamatsu)
  Fix : Makefile : install for OS-X and BSD, thanks to Takayuki Matsuoka
  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
  Fix : Issue 134 : extended malicious address space overflow in 32-bits mode for some specific configurations
  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
  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)
  hotfix (issue 124 & 125)
  Added : lz4cat utility, installed on POSX systems (issue 118)
  OS-X compatible compilation of dynamic library (issue 115)
  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
  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)
  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


  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
  Fix : AIX & AIX64 support (SamG)
  Fix : mips 64-bits support (lew van)
  Added : Examples directory, using code examples from Takayuki Matsuoka