1v1.4.4 2perf: Improved decompression speed, by > 10%, by @terrelln 3perf: Better compression speed when re-using a context, by @felixhandte 4perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42 5perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha 6perf: minor generic speed optimization, by @davidbolvansky 7api: new ability to extract sequences from the parser for analysis, by @bimbashrestha 8api: fixed decoding of magic-less frames, by @terrelln 9api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK 10cli: Named pipes support, by @bimbashrestha 11cli: short tar's extension support, by @stokito 12cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42 13cli: commands --stream-size=# and --size-hint=#, by @nmagerko 14cli: command --exclude-compressed, by @shashank0791 15cli: faster `-t` test mode 16cli: improved some error messages, by @vangyzen 17cli: rare deadlock condition within dictionary builder, by @terrelln 18build: single-file decoder with emscripten compilation script, by @cwoffenden 19build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive 20build: fixed deprecation warning for certain gcc version, reported by @jasonma163 21build: fix compilation on old gcc versions, by @cemeyer 22build: improved installation directories for cmake script, by Dmitri Shubin 23pack: modified pkgconfig, for better integration into openwrt, requested by @neheb 24misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format 25misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro 26 27v1.4.3 28bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709) 29bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722) 30build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705) 31 32v1.4.2 33bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696) 34bug: Fix seekable decompression in-memory API by @iburinoc (#1695) 35misc: Validate blocks are smaller than size limit by @vivekmg (#1685) 36misc: Restructure source files by @ephiepark (#1679) 37 38v1.4.1 39bug: Fix data corruption in niche use cases by @terrelln (#1659) 40bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595) 41bug: Fix out of bounds read by @terrelln (#1590) 42perf: Improve decode speed by ~7% @mgrice (#1668) 43perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681) 44perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658) 45perf: Improve compression ratio for small windowLog by @cyan4973 (#1624) 46perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635) 47api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656) 48cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640) 49cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631) 50cli: Restrict read permissions on destination files by @chungy (#1644) 51cli: zstdgrep: handle -f flag by @felixhandte (#1618) 52cli: zstdcat: follow symlinks by @vejnar (#1604) 53doc: Remove extra size limit on compressed blocks by @felixhandte (#1689) 54doc: Fix typo by @yk-tanigawa (#1633) 55doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629) 56build: CMake: support building with LZ4 @leeyoung624 (#1626) 57build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647) 58build: CMake: respect existing uninstall target by @j301scott (#1619) 59build: Make: skip multithread tests when built without support by @michaelforney (#1620) 60build: Make: Fix examples/ test target by @sjnam (#1603) 61build: Meson: rename options out of deprecated namespace by @lzutao (#1665) 62build: Meson: fix build by @lzutao (#1602) 63build: Visual Studio: don't export symbols in static lib by @scharan (#1650) 64build: Visual Studio: fix linking by @absotively (#1639) 65build: Fix MinGW-W64 build by @myzhang1029 (#1600) 66misc: Expand decodecorpus coverage by @ephiepark (#1664) 67 68v1.4.0 69perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln 70api: Move the advanced API, including all functions in the staging section, to the stable section 71api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress 72api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter 73api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter 74api: Don't export ZSTDMT functions from the shared library by default 75api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT 76api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao 77api: Fix ZSTD_decompressDCtx() corner cases with a dictionary 78api: Move ZSTD_getDictID_*() functions to the stable section 79api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln 80api: Allow compression parameters to be set when a dictionary is used 81api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called 82api: Fix ZSTD_estimateCStreamSize_usingCCtxParams() 83api: Setting ZSTD_d_maxWindowLog to 0 means use the default 84cli: Ensure that a dictionary is not used to compress itself by @shakeelrao 85cli: Add --[no-]compress-literals flag to enable or disable literal compression 86doc: Update the examples to use the advanced API 87doc: Explain how to transition from old streaming functions to the advanced API in the header 88build: Improve the Windows release packages 89build: Improve CMake build by @hjmjohnson 90build: Build fixes for FreeBSD by @lwhsu 91build: Remove redundant warnings by @thatsafunnyname 92build: Fix tests on OpenBSD by @bket 93build: Extend fuzzer build system to work with the new clang engine 94build: CMake now creates the libzstd.so.1 symlink 95build: Improve Menson build by @lzutao 96misc: Fix symbolic link detection on FreeBSD 97misc: Use physical core count for -T0 on FreeBSD by @cemeyer 98misc: Fix zstd --list on truncated files by @kostmo 99misc: Improve logging in debug mode by @felixhandte 100misc: Add CirrusCI tests by @lwhsu 101misc: Optimize dictionary memory usage in corner cases 102misc: Improve the dictionary builder on small or homogeneous data 103misc: Fix spelling across the repo by @jsoref 104 105v1.3.8 106perf: better decompression speed on large files (+7%) and cold dictionaries (+15%) 107perf: slightly better compression ratio at high compression modes 108api : finalized advanced API, last stage before "stable" status 109api : new --rsyncable mode, by @terrelln 110api : support decompression of empty frames into NULL (used to be an error) (#1385) 111build: new set of macros to build a minimal size decoder, by @felixhandte 112build: fix compilation on MIPS32, reported by @clbr (#1441) 113build: fix compilation with multiple -arch flags, by @ryandesign 114build: highly upgraded meson build, by @lzutao 115build: improved buck support, by @obelisk 116build: fix cmake script : can create debug build, by @pitrou 117build: Makefile : grep works on both colored consoles and systems without color support 118build: fixed zstd-pgo, by @bmwiedemann 119cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423) 120cli : --no-progress flag, preserving final summary (#1371), by @terrelln 121cli : ensure destination file is not source file (#1422) 122cli : clearer error messages, especially when input file not present 123doc : clarified zstd_compression_format.md, by @ulikunitz 124misc: fixed zstdgrep, returns 1 on failure, by @lzutao 125misc: NEWS renamed as CHANGELOG, in accordance with fboss 126 127v1.3.7 128perf: slightly better decompression speed on clang (depending on hardware target) 129fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10 130build: no longer build backtrace by default in release mode; restrict further automatic mode 131build: control backtrace support through build macro BACKTRACE 132misc: added man pages for zstdless and zstdgrep, by @samrussell 133 134v1.3.6 135perf: much faster dictionary builder, by @jenniferliu 136perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte 137perf: faster dictionary decompression when using a very large number of dictionaries simultaneously 138cli : fix : does no longer overwrite destination when source does not exist (#1082) 139cli : new command --adapt, for automatic compression level adaptation 140api : fix : block api can be streamed with > 4 GB, reported by @catid 141api : reduced ZSTD_DDict size by 2 KB 142api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel(). 143build: support Haiku target, by @korli 144build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT. 145doc : zstd_compression_format.md updated to match wording in IETF RFC 8478 146misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97 147 148v1.3.5 149perf: much faster dictionary compression, by @felixhandte 150perf: small quality improvement for dictionary generation, by @terrelln 151perf: slightly improved high compression levels (notably level 19) 152mem : automatic memory release for long duration contexts 153cli : fix : overlapLog can be manually set 154cli : fix : decoding invalid lz4 frames 155api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln 156api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln 157build: select custom libzstd scope through control macros, by @GeorgeLu97 158build: OpenBSD patch, by @bket 159build: make and make all are compatible with -j 160doc : clarify zstd_compression_format.md, updated for IETF RFC process 161misc: pzstd compatible with reproducible compilation, by @lamby 162 163v1.3.4 164perf: faster speed (especially decoding speed) on recent cpus (haswell+) 165perf: much better performance associating --long with multi-threading, by @terrelln 166perf: better compression at levels 13-15 167cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior) 168cli : smoother status report in multi-threading mode 169cli : added command --fast=#, for faster compression modes 170cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb) 171api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode 172api : compression levels can be negative, for even more speed 173api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime 174api : ZSTDMT can accept new compression parameters during compression 175api : implemented all advanced dictionary decompression prototypes 176build: improved meson recipe, by Shawn Landden (@shawnl) 177build: VS2017 scripts, by @HaydnTrigg 178misc: all /contrib projects fixed 179misc: added /contrib/docker script by @gyscos 180 181v1.3.3 182perf: faster zstd_opt strategy (levels 16-19) 183fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen 184cli : fix : content size written in header by default 185cli : fix : improved LZ4 format support, by @felixhandte 186cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file 187api : fix : support large skippable frames, by @terrelln 188api : fix : streaming interface was adding a useless 3-bytes null block to small frames 189api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown" 190build: fix : compilation under rhel6 and centos6, reported by @pixelb 191build: added `check` target 192 193v1.3.2 194new : long range mode, using --long command, by Stella Lau (@stellamplau) 195new : ability to generate and decode magicless frames (#591) 196changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode 197fix : multi-threading compression works with custom allocators 198fix : ZSTD_sizeof_CStream() was over-evaluating memory usage 199fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22) 200fix : 32-bits build can now decode large offsets (levels 21+) 201cli : added LZ4 frame support by default, by Felix Handte (@felixhandte) 202cli : improved --list output 203cli : new : can split input file for dictionary training, using command -B# 204cli : new : clean operation artefact on Ctrl-C interruption 205cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851) 206cli : fix : write file size in header in multiple-files mode 207api : added macro ZSTD_COMPRESSBOUND() for static allocation 208api : experimental : new advanced decompression API 209api : fix : sizeof_CCtx() used to over-estimate 210build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819) 211build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818) 212example : added streaming_memory_usage 213license : changed /examples license to BSD + GPLv2 214license : fix a few header files to reflect new license (#825) 215 216v1.3.1 217New license : BSD + GPLv2 218perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk) 219perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760) 220cli : improved and fixed --list command, by @ib (#772) 221cli : command -vV to list supported formats, by @ib (#771) 222build : fixed binary variants, reported by @svenha (#788) 223build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718) 224API exp : breaking change : ZSTD_getframeHeader() provides more information 225API exp : breaking change : pinned down values of error codes 226doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz) 227new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74) 228new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau) 229updated : contrib/linux-kernel, by Nick Terrell (@terrelln) 230 231v1.3.0 232cli : new : `--list` command, by Paul Cruz 233cli : changed : xz/lzma support enabled by default 234cli : changed : `-t *` continue processing list after a decompression error 235API : added : ZSTD_versionString() 236API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell 237API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter() 238API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx() 239API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700) 240API exp : clarified memory estimation / measurement functions. 241API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1 242tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz 243new : contrib/seekable_format, demo and API, by Sean Purcell 244changed : contrib/linux-kernel, updated version and license, by Nick Terrell 245 246v1.2.0 247cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable) 248cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell 249cli : new : zstdmt symlink hardwired to `zstd -T0` 250cli : new : command --threads=# (#671) 251cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell 252cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters 253cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell 254cli : fix : does not output compressed data on console 255cli : fix : ignore symbolic links unless --force specified, 256API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument 257API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters. 258API : improved: ZSTDMT_compressCCtx() reduced memory usage 259API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634) 260API : fix : src size stored in frame header is controlled at end of frame 261API : fix : enforced consistent rules for pledgedSrcSize==0 (#641) 262API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate 263build: improved cmake script, by @Majlen 264build: enabled Multi-threading support for *BSD, by Baptiste Daroussin 265tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target. 266new : contrib/linux-kernel version, by Nick Terrell 267 268v1.1.4 269cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski 270cli : new : advanced benchmark command --priority=rt 271cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77 272cli : fix : --rm remains silent when input is stdin 273cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski 274speed : improved decompression speed in streaming mode for single shot scenarios (+5%) 275memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB 276arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell 277API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize() 278API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value) 279build : new: meson build system in contrib/meson, by Dima Krasner 280build : improved cmake script, by @Majlen 281build : added -Wformat-security flag, as recommended by Padraig Brady 282doc : new : educational decoder, by Sean Purcell 283 284v1.1.3 285cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`) 286cli : new : experimental target `make zstdmt`, with multi-threading support 287cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano. 288cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski 289cli : fix zstdless on Mac OS-X, by Andrew Janke 290cli : fix #232 "compress non-files" 291dictBuilder : improved dictionary generation quality, thanks to Nick Terrell 292API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental) 293API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul 294API : new : ZDICT_finalizeDictionary() 295API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511) 296API : fix : all symbols properly exposed in libzstd, by Nick Terrell 297build : support for Solaris target, by Przemyslaw Skibinski 298doc : clarified specification, by Sean Purcell 299 300v1.1.2 301API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init 302API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize() 303API : zbuff : changed : prototypes now generate deprecation warnings 304lib : improved : faster decompression speed at ultra compression settings and 32-bits mode 305lib : changed : only public ZSTD_ symbols are now exposed 306lib : changed : reduced usage of stack memory 307lib : fixed : several corner case bugs, by Nick Terrell 308cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski 309cli : new : preserve file attributes 310cli : new : added zstdless and zstdgrep tools 311cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd) 312cli : fixed : zstdcat 313zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski 314install : better compatibility with FreeBSD, by Dimitry Andric 315source tree : changed : zbuff source files moved to lib/deprecated 316 317v1.1.1 318New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption 319New : doc/zstd_manual.html, by Przemyslaw Skibinski 320Improved : slightly better compression ratio at --ultra levels (>= 20) 321Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report 322Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section) 323Added : example/multiple_streaming_compression.c 324Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h) 325Updated man page 326Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets 327 328v1.1.0 329New : contrib/pzstd, parallel version of zstd, by Nick Terrell 330added : NetBSD install target (#338) 331Improved : speed for batches of small files 332Improved : speed of zlib wrapper, by Przemyslaw Skibinski 333Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier 334Fixed : CLI -d output to stdout by default when input is stdin (#322) 335Fixed : CLI correctly detects console on Mac OS-X 336Fixed : CLI supports recursive mode `-r` on Mac OS-X 337Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski 338Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319) 339Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365) 340Fixed : zstd-pgo, reported by octoploid (#329) 341 342v1.0.0 343Change Licensing, all project is now BSD, Copyright Facebook 344Small decompression speed improvement 345API : Streaming API supports legacy format 346API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter() 347CLI supports legacy formats v0.4+ 348Fixed : compression fails on certain huge files, reported by Jesse McGrew 349Enhanced documentation, by Przemyslaw Skibinski 350 351v0.8.1 352New streaming API 353Changed : --ultra now enables levels beyond 19 354Changed : -i# now selects benchmark time in second 355Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell 356Fixed : speed regression on specific patterns (#272) 357Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291) 358Fixed : ICC compilation, by Przemyslaw Skibinski 359 360v0.8.0 361Improved : better speed on clang and gcc -O2, thanks to Eric Biggers 362New : Build on FreeBSD and DragonFly, thanks to JrMarino 363Changed : modified API : ZSTD_compressEnd() 364Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist 365Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers 366Fixed : large dictionaries (> 384 KB), reported by Ilona Papava 367Fixed : checksum correctly checked in single-pass mode 368Fixed : combined --test amd --rm, reported by Andreas M. Nilsson 369Modified : minor compression level adaptations 370Updated : compression format specification to v0.2.0 371changed : zstd.h moved to /lib directory 372 373v0.7.5 374Transition version, supporting decoding of v0.8.x 375 376v0.7.4 377Added : homebrew for Mac, by Daniel Cade 378Added : more examples 379Fixed : segfault when using small dictionaries, reported by Felix Handte 380Modified : default compression level for CLI is now 3 381Updated : specification, to v0.1.1 382 383v0.7.3 384New : compression format specification 385New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner. 386New : `ZSTD_getDecompressedSize()` 387New : OpenBSD target, by Juan Francisco Cantero Hurtado 388New : `examples` directory 389fixed : dictBuilder using HC levels, reported by Bartosz Taudul 390fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte 391fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski 392modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section) 393modified : legacy functions no longer need magic number 394 395v0.7.2 396fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski. 397fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner. 398fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner. 399 400v0.7.1 401fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier 402fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв 403fixed : corruption issue, reported by cj 404modified : checksum enabled by default in command line mode 405 406v0.7.0 407New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski 408New : Command `--rm`, to remove source file after successful de/compression 409New : Visual build scripts, by Christophe Chevalier 410New : Support for Sparse File-systems (do not use space for zero-filled sectors) 411New : Frame checksum support 412New : Support pass-through mode (when using `-df`) 413API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()` 414API : create dictionary files from custom content, by Giuseppe Ottaviano 415API : support for custom malloc/free functions 416New : controllable Dictionary ID 417New : Support for skippable frames 418 419v0.6.1 420New : zlib wrapper API, thanks to Przemyslaw Skibinski 421New : Ability to compile compressor / decompressor separately 422Changed : new lib directory structure 423Fixed : Legacy codec v0.5 compatible with dictionary decompression 424Fixed : Decoder corruption error (#173) 425Fixed : null-string roundtrip (#176) 426New : benchmark mode can select directory as input 427Experimental : midipix support, VMS support 428 429v0.6.0 430Stronger high compression modes, thanks to Przemyslaw Skibinski 431API : ZSTD_getFrameParams() provides size of decompressed content 432New : highest compression modes require `--ultra` command to fully unleash their capacity 433Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner 434 435v0.5.1 436New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski 437Changed : Dictionary builder integrated into libzstd and zstd cli 438Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`. 439Fix : high compression modes for big-endian platforms 440New : zstd cli : `-t` | `--test` command 441 442v0.5.0 443New : dictionary builder utility 444Changed : streaming & dictionary API 445Improved : better compression of small data 446 447v0.4.7 448Improved : small compression speed improvement in HC mode 449Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default 450fix : bt search bug 451 452v0.4.6 453fix : fast compression mode on Windows 454New : cmake configuration file, thanks to Artyom Dymchenko 455Improved : high compression mode on repetitive data 456New : block-level API 457New : ZSTD_duplicateCCtx() 458 459v0.4.5 460new : -m/--multiple : compress/decompress multiple files 461 462v0.4.4 463Fixed : high compression modes for Windows 32 bits 464new : external dictionary API extended to buffered mode and accessible through command line 465new : windows DLL project, thanks to Christophe Chevalier 466 467v0.4.3 : 468new : external dictionary API 469new : zstd-frugal 470 471v0.4.2 : 472Generic minor improvements for small blocks 473Fixed : big-endian compatibility, by Peter Harris (#85) 474 475v0.4.1 476Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben) 477removed `zstd.c` 478 479v0.4.0 480Command line utility compatible with high compression levels 481Removed zstdhc => merged into zstd 482Added : ZBUFF API (see zstd_buffered.h) 483Rolling buffer support 484 485v0.3.6 486small blocks params 487 488v0.3.5 489minor generic compression improvements 490 491v0.3.4 492Faster fast cLevels 493 494v0.3.3 495Small compression ratio improvement 496 497v0.3.2 498Fixed Visual Studio 499 500v0.3.1 : 501Small compression ratio improvement 502 503v0.3 504HC mode : compression levels 2-26 505 506v0.2.2 507Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier 508 509v0.2.1 510Fix : Read errors, advanced fuzzer tests, by Hanno Böck 511 512v0.2.0 513**Breaking format change** 514Faster decompression speed 515Can still decode v0.1 format 516 517v0.1.3 518fix uninitialization warning, reported by Evan Nemerson 519 520v0.1.2 521frame concatenation support 522 523v0.1.1 524fix compression bug 525detects write-flush errors 526 527v0.1.0 528first release 529