v2.3 (Jun 15, 2026)
- improvement: Reorganized compressor alias groups by type — ALL is now a composite of LZ /
               SYMMETRIC / MISC; BWT/PPM codecs (bsc, bzip2, bzip3, ppmd8) moved to SYMMETRIC,
               and kanzi is split by per-level algorithm between LZ and SYMMETRIC
- improvement: Added the FASTEST alias (every ALL compressor at only its fastest level) and a
               new SLOW alias for very slow compressors (glza)
- improvement: CUDA codecs are now disabled by default and built only with ENABLE_CUDA=1
- improvement: BSC now handles blocks larger than its input limit by splitting them into chunks
               (thanks to @flanglet); the codec max input size is a codec property used when sizing buffers
- improvement: added -mno-strict-align build flag and SNAPPY_HAVE_RVV macro for RISC-V
               (thanks to @anthony-zy); various platform fixes for 32-bit x86 (lzham), 32-bit ARM,
               and Windows file size handling
- fix: account for codec chunk split buffer overhead when allocating the compression buffer
- added aceapex 1.0 (thanks to @yasha1971-coder)
- added aceapex_cuda 0.9 — optional CUDA decoder for the aceapex format (thanks to @yasha1971-coder)
- added memlz 0.2 beta (thanks to @rrrlasse)
- added skim 0.1.0 (thanks to @VantorreWannes)
- added zxc 0.11.0 (thanks to @hellobertrand)
- updated brotli to 1.2.0 (thanks to @data-man)
- updated bzip3 to v1.5.3 (thanks to @inikep)
- updated glza to v0.12 (thanks to @tansy)
- updated kanzi to 2.5.3 (thanks to @flanglet)
- updated libbsc to v3.3.12 (thanks to @inikep)
- updated libdeflate to v1.25 (thanks to @tansy)
- updated lzav to 5.8 (thanks to @avaneev)
- updated lzlib to 1.16 (thanks to @inikep)
- updated lzma to 26.01 (thanks to @inikep)
- updated ppmd8 to 26.01 (thanks to @inikep)
- updated quicklz to 1.5.1 beta 7 (thanks to @inikep)
- updated slz to 1.2.2 (thanks to @inikep)
- updated tamp to 2.2.4 (thanks to @tansy)
- updated xz to 5.8.3 (thanks to @inikep)
- updated zlib to 1.3.2 (thanks to @inikep)
- updated zlib-ng to 2.3.3 (thanks to @inikep)

v2.2 (Oct 28, 2025)
- improvement: Automatic chunk size splitting for multi-threading (-T) when -b is not specified
- improvement: Added the -I# option, which enables compression using # internal (built-in) threads
               when supported. Currently available for the following compressors: bsc, fast-lzma2,
               kanzi, lzham, lzma, xz, and zstd.
- added zpaq v7.15 (thanks to @rsreds)
- updated GLZA to v0.11.8 (thanks to @tansy)
- updated bzip3 to v1.5.2 (thanks to @tansy)
- updated libdeflate to v1.24 (thanks to @tansy)
- updated snappy to v1.2.2 (thanks to @tansy)
- updated xz to v5.8.1 (thanks to @tansy)
- updated kanzi to 2.4.0 (thanks to @flanglet)
- updated libbsc to v3.3.9 (thanks to @IlyaGrebnov) and later to v3.3.11 (thanks to @vectorsss)
- updated density to v0.16.6 (Rust based) (thanks to @g1mv)
- updated zlib-ng to 2.2.5
- updated lzma and ppmd8 (no changes for ppmd8) to 25.01 (thanks to @tansy)
- updated tamp to v1.10.0

v2.1 (Jul 17, 2025)
- Added the -T parameter, which enables multi-threaded compression using an external thread
  pool implemented in lzbench. The input data is split into N blocks (with block size specified
  by the -b option) and each block is compressed independently using T threads. Since the blocks
  are processed independently, this may slightly reduce the compression ratio. This option also
  significantly increases memory usage, as each compressor instance is allocated T times.
- added bzip3 1.5.1
- updated zstd to 1.5.7 (thanks to @tansy)
- updated lzav 4.22 (thanks to @avaneev)
- fixed: lzma 24.09 was using 2 threads for level 5 and higher (a bug introduced in v2.0)
- removed max_block_size parameter and blosclz, shrinker, xpack codecs
- removed pithy (issues with incompressible data), Nakamichi Okamigan
- improvement: report compiler version (thanks to @danfe)
- improvement: reorganization of lzbench directories
- improvement: changed interface of compression and decompression functions (thanks to @tansy)

v2.0.1 (Feb 11, 2025)
- updated libbsc to v3.3.5 (thanks to @IlyaGrebnov)
- fixed: set kanzi to use a single thread instead of half of available threads in lzbench v2.0
- fixed: Piping through tee doesn't work (issue #138)
- improvement: Return exit code > 0 to shell in case of failure of one of codecs

v2.0 (Feb 06, 2025)
- added zlib-ng 2.2.3 (thanks to @data-man)
- added lizard 2.1
- added LZAV 4.5 (thanks to @jibsen)
- added libbsc v3.3.4 (thanks to @stefanrua)
- added ppmd8 based on 7-zip 24.09 (thanks to @pps83)
- added kanzi v2.3 (thanks to @flanglet)
- added tamp v1.3.1 (thanks to @BrianPugh)
- updated nvcomp to 2.2.0 (the last open source version)
- updated slz to 1.2.1
- updated snappy to 1.2.1
- updated brotli to 1.1.0
- updated blosclz to 2.5.1 (from c-blosc-1.21.6)
- updated lzlib to 1.15
- updated xz to v5.6.3
- updated zlib to 1.3.1 (thanks to @tansy)
- updated lzma to 24.09
- updated libdeflate to v1.23 (thanks to @tansy)
- updated zstd to 1.5.6
- updated lz4 to 1.10.0 (thanks to @ChristianSchindler)

v1.9 (Jan 17, 2025)
- added cpuid to title screen (thanks to @tansy)
- added support for CUDA and nvcomp (thanks to @fwyzard)
- updated Snappy to 1.1.10 (thanks to @ChristianSchindler)
- updated lzlib-1.13 (thanks to @tansy)
- updated zstd to 1.5.0 (thanks to @data-man) and later to 1.5.5 (thanks to @jinfeihan57)
- updated lz4 to 1.9.3 (thanks to @jinfeihan57)
- updated fastlz to 0.5.0 (thanks to @jinfeihan57)
- updated xz to 5.2.5 (thanks to @jinfeihan57)
- updated snappy to 2020-07-11 (4dd277f) (thanks to @jinfeihan57)
- updated libdeflate to v1.6 (thanks to @jinfeihan57) and later to v1.9 (thanks to @tansy)
- updated Brotli to 1.0.9 (thanks to @data-man)
- removed lizard 1.0
- started to use Azure Pipelines for testing

v1.8.1 (Sep 1, 2020)
- fixed linking issues with glza (multiple definition of ###)
- updated BriefLZ to 1.3.0 (thanks to @jibsen)
- updated libslz to 1.2.0 (thanks to Willy Tarreau)
- updated zstd to 1.4.5 (thanks to @jinfeihan57)

v1.8 (Oct 24, 2019)
- fixed gcc-9 and clang-9 compilation issues
- default linking for Linux is dynamic and static for Windows (can be changed with `make BUILD_STATIC=0/1`)
- added fast-lzma2 1.0.1
- added bzip2 1.0.8 (thanks to @tansy)
- blosclz updated to 2.0.0
- libdeflate updated to v1.3
- liblzg updated to 1.0.10
- lzlib updated to 1.11
- lzma updated to 19.00
- lzo updated to 2.10
- lzsse updated to 2019-04-18 (1847c3e827)
- snappy updated to 2019-09-30 (e9e11b84e6)
- xz updated to v5.2.4
- zling updated to 2018-10-12

v1.7.4 (Oct 23, 2019)
- brieflz updated to 1.2.0 (thanks to @jibsen)
- brotli updated to 2019-10-01 (c435f06675)
- density updated to 0.14.2 (thanks to @morotti)
- lz4 updated to v1.9.2
- zstd updated to v1.4.3

v1.7.3 (Jan 5, 2018) [done by @data-man]
- brotli updated to 2017-12-12
- lz4 updated to v1.8.0
- zstd updated to v1.3.3
- added zstd compressor with long distance matcher: zstdLDM, zstd22LDM, zstd24LDM

v1.7.2
- zstd updated to v1.3.1

v1.7.1 (Mar 19, 2017)
- brotli updated to 2017-03-10
- glza updated to v0.8
- lzma updated to v16.04

v1.7 (Mar 18, 2017)
- added lizard v1.0 (formerly lz5)
- libdeflate updated to v0.7
- lzfse and lzvn updated to 2017-03-08
- lzlib updated to v1.8
- snappy updated to v1.1.4
- xz updated to v5.2.3
- zlib updated to v1.2.11
- zstd updated to v1.1.4

v1.6 (Feb 7, 2017)
- zstd updated to v1.1.3
- lz4 updated to v1.7.5
- lz5 updated to v2.0
- improved: touch pages in buffer allocations prior to running first algorithm (thanks to travisdowns)
- fixed: check if input name is directory
- fixed: median time (the "-p3" option, thanks to Alexey Tourbin)

v1.5 (Nov 20, 2016)
- added the "-r" option : operate recursively on directories
- added the "-j" option : join files in memory but compress them independently (for many small files)
- lz5 updated to v2.0 RC2
- lz4 updated to v1.7.3
- zstd updated to v1.1.1
- libdeflate updated to v0.6
- csc updated to 2016-10-13
- improved PowerPC support
- fixed -m option (thanks to Julian Kunkel)

v1.4 (Sep 1, 2016)
- zstd updated to v1.0.0
- added libdeflate 2016-08-29 (thanks to Jørgen Ibsen)
- added the "-m" (memory_limit) option; large files are processed in (memory_limit/4) blocks
- cleaner CSV output and added the "original size" field

v1.3 (Aug 16, 2016)
- added slz 1.0.0 : slz_zlib, slz_gzip, slz_deflate (thanks to Willy Tarreau)
- added glza 0.7.1 (thanks to Kennon Conrad)
- zstd updated to v0.8.0 (thanks to Chip Turner)
- brotli updated to v0.5.2
- gipfeli updated to 2016-07-13
- lzfse and lzvn updated to 2016-08-16
- lz5 updated to v1.5
- lzbench compiles on MacOS (with exception of lzham)
- lzbench compiles with clang (tested with 3.4, 3.5, 3.6 and 3.8)
- added support for aggregated parameters: "-t0 -u0 -i3 -j5" is equal to "-t0u0i3j5" (only "-e" can not be aggregated)
- added new options:
  -r = disable real-time process priority
  -v = disable progress information
  -z = show (de)compression times instead of speed

v1.2 (Jun 23, 2016)
- added lzfse and lzvn 2016-06-19
- added xpack 2016-06-02
- added lzsse 2016-05-14
- zstd updated to v0.7.1
- brotli updated to v0.4.0

v1.1 (Apr 16, 2016)
- zstd updated to v0.6.0
- brotli updated to 2016-03-22
- libzling updated to 2016-04-10
- new modes with 22 and 24-bit window: brotli22, brotli24, lzham22, lzham24, zstd22, zstd24
- added support for multiple files
- fixed issue with files bigger than 1706MB and compressors supporting only up to 2GB blocks (int32_t)

v1.0 (Feb 18, 2016)
- zstd updated to v0.5.1
- lz5 updated to v1.4.1
- brotli updated to 2016-02-04
- libzling updated to 2016-01-05+bugfix

v0.9.1 (Dec 3, 2015)
- improved: more accurate timings at default min. time for compression (1.0s) and decompression (0.5s)
- lz5 updated to r132
- zstd updated to v0.4.1
- gipfeli updated to 2015-11-30

v0.9 (Nov 23, 2015)
- improved: more accurate timings for small files
- added: blosclz 2015-11-10
- added: gipfeli 2015-11-01 with bugfixes from https://github.com/jibsen/gipfeli
- added: lzo1 and lzo1a
- added the "-oX" option: output text format 1=Markdown, 2=text, 3=CSV 
- added the "-pX" option: print time for all iterations: 1=fastest 2=average 3=median
- added the "-tX" and "-uX" options: set min. time in seconds for compression and decompression
- added the "-l" option: list of available compressors and aliases
- fixed: memory allocation cost for brieflz, lzo, lzrw, wflz is now not included in timings
- fixed: UCL available again as ucl_nrv2b/ucl_nrv2d/ucl_nrv2e or alias "ucl"
- fixed: LZO available again as lzo1b/lzo1c/lzo1f/lzo1x/lzo1y/lzo1z/lzo2a or alias "lzo"
- fixed: wfLZ, lzmat, shrinker compiled with -O2 because they crash with gcc 4.9+ and -O3 

v0.8 (Nov 11, 2015)
- the "-cX" option: sort results by column number X
- the "-eX" option where X = compressors separated by '/' with parameters specified after ','
    Examples:
    lzbench -ebrotli filename - selects all levels of brotli
    lzbench -ebrotli,2,5/zstd filename - selects levels 2 & 5 of brotli and zstd
- added lzg 1.0.8
- added lzlib 1.7 (http://www.nongnu.org/lzip/lzlib.html)
- added brieflz 1.1.0
- added yalz77 2015-09-19
- added xz 5.2.2
- zstd updated to v0.3.6

v0.7.1 (Nov 2, 2015)
- tornado updated to version 0.6a
- lz5/lz5hc updated to version r131b
- a better error handling

v0.7
The first release for GitHub
