| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366 |
- 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
|