mirror of
https://github.com/facebook/zstd.git
synced 2024-11-24 15:36:44 +08:00
367 lines
17 KiB
Plaintext
367 lines
17 KiB
Plaintext
v1.3.4
|
|
perf: faster speed (especially decoding speed) on recent cpus (haswell+)
|
|
perf: much better performance associating --long with multi-threading, by @terrelln
|
|
perf: better compression at levels 13-15
|
|
cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
|
|
cli : smoother status report in multi-threading mode
|
|
cli : added command --fast=#, for faster compression modes
|
|
cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb)
|
|
api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
|
|
api : compression levels can be negative, for even more speed
|
|
api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
|
|
api : ZSTDMT can accept new compression parameters during compression
|
|
api : implemented all advanced dictionary decompression prototypes
|
|
build: improved meson recipe, by Shawn Landden (@shawnl)
|
|
build: VS2017 scripts, by @HaydnTrigg
|
|
misc: all /contrib projects fixed
|
|
misc: added /contrib/docker script by @gyscos
|
|
|
|
v1.3.3
|
|
perf: faster zstd_opt strategy (levels 16-19)
|
|
fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
|
|
cli : fix : content size written in header by default
|
|
cli : fix : improved LZ4 format support, by @felixhandte
|
|
cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
|
|
api : fix : support large skippable frames, by @terrelln
|
|
api : fix : streaming interface was adding a useless 3-bytes null block to small frames
|
|
api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
|
|
build: fix : compilation under rhel6 and centos6, reported by @pixelb
|
|
build: added `check` target
|
|
|
|
v1.3.2
|
|
new : long range mode, using --long command, by Stella Lau (@stellamplau)
|
|
new : ability to generate and decode magicless frames (#591)
|
|
changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
|
|
fix : multi-threading compression works with custom allocators
|
|
fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
|
|
fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
|
|
fix : 32-bits build can now decode large offsets (levels 21+)
|
|
cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
|
|
cli : improved --list output
|
|
cli : new : can split input file for dictionary training, using command -B#
|
|
cli : new : clean operation artefact on Ctrl-C interruption
|
|
cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
|
|
cli : fix : write file size in header in multiple-files mode
|
|
api : added macro ZSTD_COMPRESSBOUND() for static allocation
|
|
api : experimental : new advanced decompression API
|
|
api : fix : sizeof_CCtx() used to over-estimate
|
|
build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
|
|
build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
|
|
example : added streaming_memory_usage
|
|
license : changed /examples license to BSD + GPLv2
|
|
license : fix a few header files to reflect new license (#825)
|
|
|
|
v1.3.1
|
|
New license : BSD + GPLv2
|
|
perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
|
|
perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
|
|
cli : improved and fixed --list command, by @ib (#772)
|
|
cli : command -vV to list supported formats, by @ib (#771)
|
|
build : fixed binary variants, reported by @svenha (#788)
|
|
build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
|
|
API exp : breaking change : ZSTD_getframeHeader() provides more information
|
|
API exp : breaking change : pinned down values of error codes
|
|
doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
|
|
new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
|
|
new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
|
|
updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
|
|
|
|
v1.3.0
|
|
cli : new : `--list` command, by Paul Cruz
|
|
cli : changed : xz/lzma support enabled by default
|
|
cli : changed : `-t *` continue processing list after a decompression error
|
|
API : added : ZSTD_versionString()
|
|
API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
|
|
API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
|
|
API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
|
|
API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
|
|
API exp : clarified memory estimation / measurement functions.
|
|
API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
|
|
tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
|
|
new : contrib/seekable_format, demo and API, by Sean Purcell
|
|
changed : contrib/linux-kernel, updated version and license, by Nick Terrell
|
|
|
|
v1.2.0
|
|
cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
|
|
cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
|
|
cli : new : zstdmt symlink hardwired to `zstd -T0`
|
|
cli : new : command --threads=# (#671)
|
|
cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
|
|
cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
|
|
cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
|
|
cli : fix : does not output compressed data on console
|
|
cli : fix : ignore symbolic links unless --force specified,
|
|
API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
|
|
API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
|
|
API : improved: ZSTDMT_compressCCtx() reduced memory usage
|
|
API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
|
|
API : fix : src size stored in frame header is controlled at end of frame
|
|
API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
|
|
API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
|
|
build: improved cmake script, by @Majlen
|
|
build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
|
|
tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
|
|
new : contrib/linux-kernel version, by Nick Terrell
|
|
|
|
v1.1.4
|
|
cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
|
|
cli : new : advanced benchmark command --priority=rt
|
|
cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
|
|
cli : fix : --rm remains silent when input is stdin
|
|
cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
|
|
speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
|
|
memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
|
|
arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
|
|
API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
|
|
API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
|
|
build : new: meson build system in contrib/meson, by Dima Krasner
|
|
build : improved cmake script, by @Majlen
|
|
build : added -Wformat-security flag, as recommended by Padraig Brady
|
|
doc : new : educational decoder, by Sean Purcell
|
|
|
|
v1.1.3
|
|
cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
|
|
cli : new : experimental target `make zstdmt`, with multi-threading support
|
|
cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
|
|
cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
|
|
cli : fix zstdless on Mac OS-X, by Andrew Janke
|
|
cli : fix #232 "compress non-files"
|
|
dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
|
|
API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
|
|
API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
|
|
API : new : ZDICT_finalizeDictionary()
|
|
API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
|
|
API : fix : all symbols properly exposed in libzstd, by Nick Terrell
|
|
build : support for Solaris target, by Przemyslaw Skibinski
|
|
doc : clarified specification, by Sean Purcell
|
|
|
|
v1.1.2
|
|
API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
|
|
API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
|
|
API : zbuff : changed : prototypes now generate deprecation warnings
|
|
lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
|
|
lib : changed : only public ZSTD_ symbols are now exposed
|
|
lib : changed : reduced usage of stack memory
|
|
lib : fixed : several corner case bugs, by Nick Terrell
|
|
cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
|
|
cli : new : preserve file attributes
|
|
cli : new : added zstdless and zstdgrep tools
|
|
cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
|
|
cli : fixed : zstdcat
|
|
zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
|
|
install : better compatibility with FreeBSD, by Dimitry Andric
|
|
source tree : changed : zbuff source files moved to lib/deprecated
|
|
|
|
v1.1.1
|
|
New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
|
|
New : doc/zstd_manual.html, by Przemyslaw Skibinski
|
|
Improved : slightly better compression ratio at --ultra levels (>= 20)
|
|
Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
|
|
Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
|
|
Added : example/multiple_streaming_compression.c
|
|
Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
|
|
Updated man page
|
|
Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
|
|
|
|
v1.1.0
|
|
New : contrib/pzstd, parallel version of zstd, by Nick Terrell
|
|
added : NetBSD install target (#338)
|
|
Improved : speed for batches of small files
|
|
Improved : speed of zlib wrapper, by Przemyslaw Skibinski
|
|
Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
|
|
Fixed : CLI -d output to stdout by default when input is stdin (#322)
|
|
Fixed : CLI correctly detects console on Mac OS-X
|
|
Fixed : CLI supports recursive mode `-r` on Mac OS-X
|
|
Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
|
|
Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
|
|
Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
|
|
Fixed : zstd-pgo, reported by octoploid (#329)
|
|
|
|
v1.0.0
|
|
Change Licensing, all project is now BSD, Copyright Facebook
|
|
Small decompression speed improvement
|
|
API : Streaming API supports legacy format
|
|
API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParamter()
|
|
CLI supports legacy formats v0.4+
|
|
Fixed : compression fails on certain huge files, reported by Jesse McGrew
|
|
Enhanced documentation, by Przemyslaw Skibinski
|
|
|
|
v0.8.1
|
|
New streaming API
|
|
Changed : --ultra now enables levels beyond 19
|
|
Changed : -i# now selects benchmark time in second
|
|
Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
|
|
Fixed : speed regression on specific patterns (#272)
|
|
Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
|
|
Fixed : ICC compilation, by Przemyslaw Skibinski
|
|
|
|
v0.8.0
|
|
Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
|
|
New : Build on FreeBSD and DragonFly, thanks to JrMarino
|
|
Changed : modified API : ZSTD_compressEnd()
|
|
Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
|
|
Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
|
|
Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
|
|
Fixed : checksum correctly checked in single-pass mode
|
|
Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
|
|
Modified : minor compression level adaptations
|
|
Updated : compression format specification to v0.2.0
|
|
changed : zstd.h moved to /lib directory
|
|
|
|
v0.7.5
|
|
Transition version, supporting decoding of v0.8.x
|
|
|
|
v0.7.4
|
|
Added : homebrew for Mac, by Daniel Cade
|
|
Added : more examples
|
|
Fixed : segfault when using small dictionaries, reported by Felix Handte
|
|
Modified : default compression level for CLI is now 3
|
|
Updated : specification, to v0.1.1
|
|
|
|
v0.7.3
|
|
New : compression format specification
|
|
New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
|
|
New : `ZSTD_getDecompressedSize()`
|
|
New : OpenBSD target, by Juan Francisco Cantero Hurtado
|
|
New : `examples` directory
|
|
fixed : dictBuilder using HC levels, reported by Bartosz Taudul
|
|
fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
|
|
fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
|
|
modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
|
|
modified : legacy functions no longer need magic number
|
|
|
|
v0.7.2
|
|
fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
|
|
fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
|
|
fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
|
|
|
|
v0.7.1
|
|
fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
|
|
fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
|
|
fixed : corruption issue, reported by cj
|
|
modified : checksum enabled by default in command line mode
|
|
|
|
v0.7.0
|
|
New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
|
|
New : Command `--rm`, to remove source file after successful de/compression
|
|
New : Visual build scripts, by Christophe Chevalier
|
|
New : Support for Sparse File-systems (do not use space for zero-filled sectors)
|
|
New : Frame checksum support
|
|
New : Support pass-through mode (when using `-df`)
|
|
API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
|
|
API : create dictionary files from custom content, by Giuseppe Ottaviano
|
|
API : support for custom malloc/free functions
|
|
New : controllable Dictionary ID
|
|
New : Support for skippable frames
|
|
|
|
v0.6.1
|
|
New : zlib wrapper API, thanks to Przemyslaw Skibinski
|
|
New : Ability to compile compressor / decompressor separately
|
|
Changed : new lib directory structure
|
|
Fixed : Legacy codec v0.5 compatible with dictionary decompression
|
|
Fixed : Decoder corruption error (#173)
|
|
Fixed : null-string roundtrip (#176)
|
|
New : benchmark mode can select directory as input
|
|
Experimental : midipix support, VMS support
|
|
|
|
v0.6.0
|
|
Stronger high compression modes, thanks to Przemyslaw Skibinski
|
|
API : ZSTD_getFrameParams() provides size of decompressed content
|
|
New : highest compression modes require `--ultra` command to fully unleash their capacity
|
|
Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
|
|
|
|
v0.5.1
|
|
New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
|
|
Changed : Dictionary builder integrated into libzstd and zstd cli
|
|
Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
|
|
Fix : high compression modes for big-endian platforms
|
|
New : zstd cli : `-t` | `--test` command
|
|
|
|
v0.5.0
|
|
New : dictionary builder utility
|
|
Changed : streaming & dictionary API
|
|
Improved : better compression of small data
|
|
|
|
v0.4.7
|
|
Improved : small compression speed improvement in HC mode
|
|
Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
|
|
fix : bt search bug
|
|
|
|
v0.4.6
|
|
fix : fast compression mode on Windows
|
|
New : cmake configuration file, thanks to Artyom Dymchenko
|
|
Improved : high compression mode on repetitive data
|
|
New : block-level API
|
|
New : ZSTD_duplicateCCtx()
|
|
|
|
v0.4.5
|
|
new : -m/--multiple : compress/decompress multiple files
|
|
|
|
v0.4.4
|
|
Fixed : high compression modes for Windows 32 bits
|
|
new : external dictionary API extended to buffered mode and accessible through command line
|
|
new : windows DLL project, thanks to Christophe Chevalier
|
|
|
|
v0.4.3 :
|
|
new : external dictionary API
|
|
new : zstd-frugal
|
|
|
|
v0.4.2 :
|
|
Generic minor improvements for small blocks
|
|
Fixed : big-endian compatibility, by Peter Harris (#85)
|
|
|
|
v0.4.1
|
|
Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
|
|
removed `zstd.c`
|
|
|
|
v0.4.0
|
|
Command line utility compatible with high compression levels
|
|
Removed zstdhc => merged into zstd
|
|
Added : ZBUFF API (see zstd_buffered.h)
|
|
Rolling buffer support
|
|
|
|
v0.3.6
|
|
small blocks params
|
|
|
|
v0.3.5
|
|
minor generic compression improvements
|
|
|
|
v0.3.4
|
|
Faster fast cLevels
|
|
|
|
v0.3.3
|
|
Small compression ratio improvement
|
|
|
|
v0.3.2
|
|
Fixed Visual Studio
|
|
|
|
v0.3.1 :
|
|
Small compression ratio improvement
|
|
|
|
v0.3
|
|
HC mode : compression levels 2-26
|
|
|
|
v0.2.2
|
|
Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
|
|
|
|
v0.2.1
|
|
Fix : Read errors, advanced fuzzer tests, by Hanno Böck
|
|
|
|
v0.2.0
|
|
**Breaking format change**
|
|
Faster decompression speed
|
|
Can still decode v0.1 format
|
|
|
|
v0.1.3
|
|
fix uninitialization warning, reported by Evan Nemerson
|
|
|
|
v0.1.2
|
|
frame concatenation support
|
|
|
|
v0.1.1
|
|
fix compression bug
|
|
detects write-flush errors
|
|
|
|
v0.1.0
|
|
first release
|