| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- v1.9.4
- perf : faster decoding speed (~+20%) on aarch64 platforms
- perf : faster decoding speed (~+70%) for -BD4 setting in CLI
- api : new function `LZ4_decompress_safe_partial_usingDict()` by @yawqi
- api : lz4frame: ability to provide custom allocators at state creation
- api : can skip checksum validation for improved decoding speed
- api : new experimental unit `lz4file` for file i/o API, by @anjiahao1
- api : new experimental function `LZ4F_uncompressedUpdate()`, by @alexmohr
- cli : `--list` works on `stdin` input, by @Low-power
- cli : `--no-crc` does not produce (compression) nor check (decompression) checksums
- cli : fix: `--test` and `--list` produce an error code when parsing invalid input
- cli : fix: support skippable frames when passed via `stdin`, reported by @davidmankin
- build: fix: Makefile respects CFLAGS directives passed via environment variable
- build: `LZ4_FREESTANDING`, new build macro for freestanding environments, by @t-mat
- build: `make` and `make test` are compatible with `-j` parallel run
- build: AS/400 compatibility, by @jonrumsey
- build: Solaris 10 compatibility, by @pekdon
- build: MSVC 2022 support, by @t-mat
- build: improved meson script, by @eli-schwartz
- doc : Updated LZ4 block format, provide an "implementation notes" section
- 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
|