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