git subrepo pull (merge) --force deps/libchdr
[pcsx_rearmed.git] / deps / libchdr / deps / zstd-1.5.5 / CHANGELOG
1 v1.5.5 (Apr 2023)
2 fix: fix rare corruption bug affecting the high compression mode, reported by @danlark1 (#3517, @terrelln)
3 perf: improve mid-level compression speed (#3529, #3533, #3543, @yoniko and #3552, @terrelln)
4 lib: deprecated bufferless block-level API (#3534) by @terrelln
5 cli: mmap large dictionaries to save memory, by @daniellerozenblit
6 cli: improve speed of --patch-from mode (~+50%) (#3545) by @daniellerozenblit
7 cli: improve i/o speed (~+10%) when processing lots of small files (#3479) by @felixhandte
8 cli: zstd no longer crashes when requested to write into write-protected directory (#3541) by @felixhandte
9 cli: fix decompression into block device using -o, reported by @georgmu (#3583)
10 build: fix zstd CLI compiled with lzma support but not zlib support (#3494) by @Hello71
11 build: fix cmake does no longer require 3.18 as minimum version (#3510) by @kou
12 build: fix MSVC+ClangCL linking issue (#3569) by @tru
13 build: fix zstd-dll, version of zstd CLI that links to the dynamic library (#3496) by @yoniko
14 build: fix MSVC warnings (#3495) by @embg
15 doc: updated zstd specification to clarify corner cases, by @Cyan4973
16 doc: document how to create fat binaries for macos (#3568) by @rickmark
17 misc: improve seekable format ingestion speed (~+100%) for very small chunk sizes (#3544) by @Cyan4973
18 misc: tests/fullbench can benchmark multiple files (#3516) by @dloidolt
19
20 v1.5.4 (Feb 2023)
21 perf: +20% faster huffman decompression for targets that can't compile x64 assembly (#3449, @terrelln)
22 perf: up to +10% faster streaming compression at levels 1-2 (#3114, @embg)
23 perf: +4-13% for levels 5-12 by optimizing function generation (#3295, @terrelln)
24 pref: +3-11% compression speed for `arm` target (#3199, #3164, #3145, #3141, #3138, @JunHe77 and #3139, #3160, @danlark1)
25 perf: +5-30% faster dictionary compression at levels 1-4 (#3086, #3114, #3152, @embg)
26 perf: +10-20% cold dict compression speed by prefetching CDict tables (#3177, @embg)
27 perf: +1% faster compression by removing a branch in ZSTD_fast_noDict (#3129, @felixhandte)
28 perf: Small compression ratio improvements in high compression mode (#2983, #3391, @Cyan4973 and #3285, #3302, @daniellerozenblit)
29 perf: small speed improvement by better detecting `STATIC_BMI2` for `clang` (#3080, @TocarIP)
30 perf: Improved streaming performance when `ZSTD_c_stableInBuffer` is set (#2974, @Cyan4973)
31 cli: Asynchronous I/O for improved cli speed (#2975, #2985, #3021, #3022, @yoniko)
32 cli: Change `zstdless` behavior to align with `zless` (#2909, @binhdvo)
33 cli: Keep original file if `-c` or `--stdout` is given (#3052, @dirkmueller)
34 cli: Keep original files when result is concatenated into a single output with `-o` (#3450, @Cyan4973)
35 cli: Preserve Permissions and Ownership of regular files (#3432, @felixhandte)
36 cli: Print zlib/lz4/lzma library versions with `-vv` (#3030, @terrelln)
37 cli: Print checksum value for single frame files with `-lv`  (#3332, @Cyan4973)
38 cli: Print `dictID` when present with `-lv` (#3184, @htnhan)
39 cli: when `stderr` is *not* the console, disable status updates, but preserve final summary (#3458, @Cyan4973)
40 cli: support `--best` and `--no-name` in `gzip` compatibility mode (#3059, @dirkmueller)
41 cli: support for `posix` high resolution timer `clock_gettime()`, for improved benchmark accuracy (#3423, @Cyan4973)
42 cli: improved help/usage (`-h`,  `-H`) formatting (#3094, @dirkmueller and #3385, @jonpalmisc)
43 cli: Fix better handling of bogus numeric values (#3268, @ctkhanhly)
44 cli: Fix input consists of multiple files _and_ `stdin` (#3222, @yoniko)
45 cli: Fix tiny files passthrough (#3215, @cgbur)
46 cli: Fix for `-r` on empty directory (#3027, @brailovich)
47 cli: Fix empty string as argument for `--output-dir-*` (#3220, @embg)
48 cli: Fix decompression memory usage reported by `-vv --long` (#3042, @u1f35c, and #3232, @zengyijing)
49 cli: Fix infinite loop when empty input is passed to trainer (#3081, @terrelln)
50 cli: Fix `--adapt` doesn't work when `--no-progress` is also set (#3354, @terrelln)
51 api: Support for Block-Level Sequence Producer (#3333, @embg)
52 api: Support for in-place decompression (#3432, @terrelln)
53 api: New  `ZSTD_CCtx_setCParams()`  function, set all parameters defined in a  `ZSTD_compressionParameters`  structure (#3403, @Cyan4973)
54 api: Streaming decompression detects incorrect header ID sooner (#3175, @Cyan4973)
55 api: Window size resizing optimization for edge case (#3345, @daniellerozenblit)
56 api: More accurate error codes for busy-loop scenarios (#3413, #3455, @Cyan4973)
57 api: Fix limit overflow in `compressBound` and `decompressBound` (#3362, #3373, Cyan4973) reported by @nigeltao
58 api: Deprecate several advanced experimental functions: streaming (#3408, @embg), copy (#3196, @mileshu)
59 bug: Fix corruption that rarely occurs in 32-bit mode with wlog=25 (#3361, @terrelln)
60 bug: Fix for block-splitter (#3033, @Cyan4973)
61 bug: Fixes for Sequence Compression API (#3023, #3040, @Cyan4973)
62 bug: Fix leaking thread handles on Windows (#3147, @animalize)
63 bug: Fix timing issues with cmake/meson builds (#3166, #3167, #3170, @Cyan4973)
64 build: Allow user to select legacy level for cmake (#3050, @shadchin)
65 build: Enable legacy support by default in cmake (#3079, @niamster)
66 build: Meson build script improvements (#3039, #3120, #3122, #3327, #3357, @eli-schwartz and #3276, @neheb)
67 build: Add aarch64 to supported architectures for zstd_trace (#3054, @ooosssososos)
68 build: support AIX architecture (#3219, @qiongsiwu)
69 build: Fix `ZSTD_LIB_MINIFY` build macro, which now reduces static library size by half (#3366, @terrelln)
70 build: Fix Windows issues with Multithreading translation layer (#3364, #3380, @yoniko) and ARM64 target (#3320, @cwoffenden)
71 build: Fix `cmake` script (#3382, #3392, @terrelln and #3252 @Tachi107 and #3167 @Cyan4973)
72 doc: Updated man page, providing more details for `--train` mode (#3112, @Cyan4973)
73 doc: Add decompressor errata document (#3092, @terrelln)
74 misc: Enable Intel CET (#2992, #2994, @hjl-tools)
75 misc: Fix `contrib/` seekable format (#3058, @yhoogstrate and #3346, @daniellerozenblit)
76 misc: Improve speed of the one-file library generator (#3241, @wahern and #3005, @cwoffenden)
77
78 v1.5.3 (dev version, unpublished)
79
80 v1.5.2 (Jan, 2022)
81 perf: Regain Minimal memset()-ing During Reuse of Compression Contexts (@Cyan4973, #2969)
82 build: Build Zstd with `noexecstack` on All Architectures (@felixhandte, #2964)
83 doc: Clarify Licensing (@terrelln, #2981)
84
85 v1.5.1 (Dec, 2021)
86 perf: rebalanced compression levels, to better match the intended speed/level curve, by @senhuang42
87 perf: faster huffman decoder, using x64 assembly, by @terrelln
88 perf: slightly faster high speed modes (strategies fast & dfast), by @felixhandte
89 perf: improved binary size and faster compilation times, by @terrelln
90 perf: new row64 mode, used notably in level 12, by @senhuang42
91 perf: faster mid-level compression speed in presence of highly repetitive patterns, by @senhuang42
92 perf: minor compression ratio improvements for small data at high levels, by @cyan4973
93 perf: reduced stack usage (mostly useful for Linux Kernel), by @terrelln
94 perf: faster compression speed on incompressible data, by @bindhvo
95 perf: on-demand reduced ZSTD_DCtx state size, using build macro ZSTD_DECODER_INTERNAL_BUFFER, at a small cost of performance, by @bindhvo
96 build: allows hiding static symbols in the dynamic library, using build macro, by @skitt
97 build: support for m68k (Motorola 68000's), by @cyan4973
98 build: improved AIX support, by @Helflym
99 build: improved meson unofficial build, by @eli-schwartz
100 cli : custom memory limit when training dictionary (#2925), by @embg
101 cli : report advanced parameters information when compressing in very verbose mode (``-vv`), by @Svetlitski-FB
102
103 v1.5.0  (May 11, 2021)
104 api: Various functions promoted from experimental to stable API: (#2579-2581, @senhuang42)
105   `ZSTD_defaultCLevel()`
106   `ZSTD_getDictID_fromCDict()`
107 api: Several experimental functions have been deprecated and will emit a compiler warning (#2582, @senhuang42)
108   `ZSTD_compress_advanced()`
109   `ZSTD_compress_usingCDict_advanced()`
110   `ZSTD_compressBegin_advanced()`
111   `ZSTD_compressBegin_usingCDict_advanced()`
112   `ZSTD_initCStream_srcSize()`
113   `ZSTD_initCStream_usingDict()`
114   `ZSTD_initCStream_usingCDict()`
115   `ZSTD_initCStream_advanced()`
116   `ZSTD_initCStream_usingCDict_advanced()`
117   `ZSTD_resetCStream()`
118 api: ZSTDMT_NBWORKERS_MAX reduced to 64 for 32-bit environments (@Cyan4973)
119 perf: Significant speed improvements for middle compression levels (#2494, @senhuang42 @terrelln)
120 perf: Block splitter to improve compression ratio, enabled by default for high compression levels (#2447, @senhuang42)
121 perf: Decompression loop refactor, speed improvements on `clang` and for `--long` modes (#2614 #2630, @Cyan4973)
122 perf: Reduced stack usage during compression and decompression entropy stage (#2522 #2524, @terrelln)
123 bug: Improve setting permissions of created files (#2525, @felixhandte)
124 bug: Fix large dictionary non-determinism (#2607, @terrelln)
125 bug: Fix non-determinism test failures on Linux i686 (#2606, @terrelln)
126 bug: Fix various dedicated dictionary search bugs (#2540 #2586, @senhuang42 @felixhandte)
127 bug: Ensure `ZSTD_estimateCCtxSize*() `monotonically increases with compression level (#2538, @senhuang42)
128 bug: Fix --patch-from mode parameter bound bug with small files (#2637, @occivink)
129 bug: Fix UBSAN error in decompression (#2625, @terrelln)
130 bug: Fix superblock compression divide by zero bug (#2592, @senhuang42)
131 bug: Make the number of physical CPU cores detection more robust (#2517, @PaulBone)
132 doc: Improve `zdict.h` dictionary training API documentation (#2622, @terrelln)
133 doc: Note that public `ZSTD_free*()` functions accept NULL pointers (#2521, @animalize)
134 doc: Add style guide docs for open source contributors (#2626, @Cyan4973)
135 tests: Better regression test coverage for different dictionary modes (#2559, @senhuang42)
136 tests: Better test coverage of index reduction (#2603, @terrelln)
137 tests: OSS-Fuzz coverage for seekable format (#2617, @senhuang42)
138 tests: Test coverage for ZSTD threadpool API (#2604, @senhuang42)
139 build: Dynamic library built multithreaded by default (#2584, @senhuang42)
140 build: Move  `zstd_errors.h`  and  `zdict.h`  to  `lib/`  root (#2597, @terrelln)
141 build: Allow `ZSTDMT_JOBSIZE_MIN` to be configured at compile-time, reduce default to 512KB (#2611, @Cyan4973)
142 build: Single file library build script moved to `build/` directory (#2618, @felixhandte)
143 build: `ZBUFF_*()` is no longer built by default (#2583, @senhuang42)
144 build: Fixed Meson build (#2548, @SupervisedThinking @kloczek)
145 build: Fix excessive compiler warnings with clang-cl and CMake (#2600, @nickhutchinson)
146 build: Detect presence of `md5` on Darwin (#2609, @felixhandte)
147 build: Avoid SIGBUS on armv6 (#2633, @bmwiedmann)
148 cli: `--progress` flag added to always display progress bar (#2595, @senhuang42)
149 cli: Allow reading from block devices with `--force` (#2613, @felixhandte)
150 cli: Fix CLI filesize display bug (#2550, @Cyan4973)
151 cli: Fix windows CLI `--filelist` end-of-line bug (#2620, @Cyan4973)
152 contrib: Various fixes for linux kernel patch (#2539, @terrelln)
153 contrib: Seekable format - Decompression hanging edge case fix (#2516, @senhuang42)
154 contrib: Seekable format - New seek table-only API  (#2113 #2518, @mdittmer @Cyan4973)
155 contrib: Seekable format - Fix seek table descriptor check when loading (#2534, @foxeng)
156 contrib: Seekable format - Decompression fix for large offsets, (#2594, @azat)
157 misc: Automatically published release tarballs available on Github (#2535, @felixhandte)
158
159 v1.4.9  (Mar 1, 2021)
160 bug: Use `umask()` to Constrain Created File Permissions (#2495, @felixhandte)
161 bug: Make Simple Single-Pass Functions Ignore Advanced Parameters (#2498, @terrelln)
162 api: Add (De)Compression Tracing Functionality (#2482, @terrelln)
163 api: Support References to Multiple DDicts (#2446, @senhuang42)
164 api: Add Function to Generate Skippable Frame (#2439, @senhuang42)
165 perf: New Algorithms for the Long Distance Matcher (#2483, @mpu)
166 perf: Performance Improvements for Long Distance Matcher (#2464, @mpu)
167 perf: Don't Shrink Window Log when Streaming with a Dictionary (#2451, @terrelln)
168 cli: Fix `--output-dir-mirror`'s Rejection of `..`-Containing Paths (#2512, @felixhandte)
169 cli: Allow Input From Console When `-f`/`--force` is Passed (#2466, @felixhandte)
170 cli: Improve Help Message (#2500, @senhuang42)
171 tests: Remove Flaky Tests (#2455, #2486, #2445, @Cyan4973)
172 tests: Correctly Invoke md5 Utility on NetBSD (#2492, @niacat)
173 tests: Avoid Using `stat -c` on NetBSD (#2513, @felixhandte)
174 build: Zstd CLI Can Now be Linked to Dynamic `libzstd` (#2457, #2454 @Cyan4973)
175 build: Hide and Avoid Using Static-Only Symbols (#2501, #2504, @skitt)
176 build: CMake: Enable Only C for lib/ and programs/ Projects (#2498, @concatime)
177 build: CMake: Use `configure_file()` to Create the `.pc` File (#2462, @lazka)
178 build: Fix Fuzzer Compiler Detection & Update UBSAN Flags (#2503, @terrelln)
179 build: Add Guards for `_LARGEFILE_SOURCE` and `_LARGEFILE64_SOURCE` (#2444, @indygreg)
180 build: Improve `zlibwrapper` Makefile (#2437, @Cyan4973)
181 contrib: Add `recover_directory` Program (#2473, @terrelln)
182 doc: Change License Year to 2021 (#2452 & #2465, @terrelln & @senhuang42)
183 doc: Fix Typos (#2459, @ThomasWaldmann)
184
185 v1.4.8  (Dec 18, 2020)
186 hotfix: wrong alignment of an internal buffer
187
188 v1.4.7  (Dec 16, 2020)
189 perf: stronger --long mode at high compression levels, by @senhuang42
190 perf: stronger --patch-from at high compression levels, thanks to --long improvements
191 perf: faster dictionary compression at medium compression levels, by @felixhandte
192 perf: small speed & memory usage improvements for ZSTD_compress2(), by @terrelln
193 perf: improved fast compression speeds with Visual Studio, by @animalize
194 cli : Set nb of threads with environment variable ZSTD_NBTHREADS, by @senhuang42
195 cli : accept decompressing files with *.zstd suffix
196 cli : provide a condensed summary by default when processing multiple files
197 cli : fix : stdin input no longer confused as user prompt
198 cli : improve accuracy of several error messages
199 api : new sequence ingestion API, by @senhuang42
200 api : shared thread pool: control total nb of threads used by multiple compression jobs, by @marxin
201 api : new ZSTD_getDictID_fromCDict(), by @LuAPi
202 api : zlibWrapper only uses public API, and is compatible with dynamic library, by @terrelln
203 api : fix : multithreaded compression has predictable output even in special cases (see #2327) (issue not accessible from cli)
204 api : fix : dictionary compression correctly respects dictionary compression level (see #2303) (issue not accessible from cli)
205 build: fix cmake script when using path with spaces, by @terrelln
206 build: improved compile-time detection of aarch64/neon platforms, by @bsdimp
207 build: Fix building on AIX 5.1, by @likema
208 build: compile paramgrill with cmake on Windows, requested by @mirh
209 doc : clarify repcode updates in format specification, by @felixhandte
210
211 v1.4.6
212 fix : Always return dstSize_tooSmall when that is the case
213 fix : Fix ZSTD_initCStream_advanced() with static allocation and no dictionary
214 perf: Improve small block decompression speed by 20%+, by @terrelln
215 perf: Reduce compression stack usage by 1 KB, by @terrelln
216 perf: Improve decompression speed by improving ZSTD_wildcopy, by @helloguo (#2252, #2256)
217 perf: Improve histogram construction, by @cyan4973 (#2253)
218 cli : Add --output-dir-mirror option, by @xxie24 (#2219)
219 cli : Warn when (de)compressing multiple files into a single output, by @senhuang42 (#2279)
220 cli : Improved progress bar and status summary when (de)compressing multiple files, by @senhuang42 (#2283)
221 cli : Call stat less often, by @felixhandte (#2262)
222 cli : Allow --patch-from XXX and --filelist XXX in addition to --patch-from=XXX and --filelist=XXX, by @cyan4973 (#2250)
223 cli : Allow --patch-from to compress stdin with --stream-size, by @bimbashrestha (#2206)
224 api : Do not install zbuff.h, since it has long been deprecated, by @cyan4973 (#2166).
225 api : Fix ZSTD_CCtx_setParameter() with ZSTD_c_compressionLevel to make 0 mean default level, by @i-do-cpp (#2291)
226 api : Rename ZSTDMT_NBTHREADS_MAX to ZSTDMT_NBWORKERS_MAX, by @marxin (#2228).
227 build: Install pkg-config file with CMake and MinGW, by @tonytheodore (#2183)
228 build: Install DLL with CMake on Windows, by @BioDataAnalysis (#2221)
229 build: Fix DLL install location with CMake, by @xantares and @bimbashrestha (#2186)
230 build: Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions
231 build: Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics
232 build: Add STATIC_BMI2 macro for compile time detection of BMI2 on MSVC, by @Niadb (#2258)
233 build: Fix -Wcomma warnings, by @cwoffenden
234 build: Remove distutils requirement for meson build, by @neheb (#2197)
235 build: Fix cli compilation with uclibc
236 build: Fix cli compilation without st_mtime, by @ffontaine (#2246)
237 build: Fix shadowing warnings in library
238 build: Fix single file library compilation with Enscripten, by @yoshihitoh (#2227)
239 misc: Improve single file library and include dictBuilder, by @cwoffenden
240 misc: Allow compression dictionaries with missing symbols
241 misc: Add freestanding translation script in contrib/freestanding_lib
242 misc: Collect all of zstd's libc dependencies into zstd_deps.h
243 doc : Add ZSTD_versionString() to manual, by @animalize
244 doc : Fix documentation for ZSTD_CCtxParams_setParameter(), by @felixhandte (#2270)
245
246 v1.4.5  (May 22, 2020)
247 fix : Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln
248 perf: Improved decompression speed: x64 : +10% (clang) / +5% (gcc); ARM : from +15% to +50%, depending on SoC, by @terrelln
249 perf: Automatically downsizes ZSTD_DCtx when too large for too long (#2069, by @bimbashreshta)
250 perf: Improved fast compression speed on aarch64 (#2040, ~+3%, by @caoyzh)
251 perf: Small level 1 compression speed gains (depending on compiler)
252 cli : New --patch-from command, create and apply patches from files, by @bimbashreshta
253 cli : New --filelist= : Provide a list of files to operate upon from a file
254 cli : -b -d command can now benchmark decompression on multiple files
255 cli : New --no-content-size command
256 cli : New --show-default-cparams information command
257 api : ZDICT_finalizeDictionary() is promoted to stable (#2111)
258 api : new experimental parameter ZSTD_d_stableOutBuffer (#2094)
259 build: Generate a single-file libzstd library (#2065, by @cwoffenden)
260 build: Relative includes no longer require -I compiler flags for zstd lib subdirs (#2103, by @felixhandte)
261 build: zstd now compiles cleanly under -pedantic (#2099)
262 build: zstd now compiles with make-4.3
263 build: Support mingw cross-compilation from Linux, by @Ericson2314
264 build: Meson multi-thread build fix on windows
265 build: Some misc icc fixes backed by new ci test on travis
266 misc: bitflip analyzer tool, by @felixhandte
267 misc: Extend largeNbDicts benchmark to compression
268 misc: Edit-distance match finder in contrib/
269 doc : Improved beginner CONTRIBUTING.md docs
270 doc : New issue templates for zstd
271
272 v1.4.4  (Nov 6, 2019)
273 perf: Improved decompression speed, by > 10%, by @terrelln
274 perf: Better compression speed when re-using a context, by @felixhandte
275 perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42
276 perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha
277 perf: minor generic speed optimization, by @davidbolvansky
278 api: new ability to extract sequences from the parser for analysis, by @bimbashrestha
279 api: fixed decoding of magic-less frames, by @terrelln
280 api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK
281 cli: Named pipes support, by @bimbashrestha
282 cli: short tar's extension support, by @stokito
283 cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42
284 cli: commands --stream-size=# and --size-hint=#, by @nmagerko
285 cli: command --exclude-compressed, by @shashank0791
286 cli: faster `-t` test mode
287 cli: improved some error messages, by @vangyzen
288 cli: fix command `-D dictionary` on Windows, reported by @artyompetrov
289 cli: fix rare deadlock condition within dictionary builder, by @terrelln
290 build: single-file decoder with emscripten compilation script, by @cwoffenden
291 build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive
292 build: fixed deprecation warning for certain gcc version, reported by @jasonma163
293 build: fix compilation on old gcc versions, by @cemeyer
294 build: improved installation directories for cmake script, by Dmitri Shubin
295 pack: modified pkgconfig, for better integration into openwrt, requested by @neheb
296 misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format
297 misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro
298
299 v1.4.3  (Aug 20, 2019)
300 bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709)
301 bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722)
302 build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705)
303
304 v1.4.2  (Jul 26, 2019)
305 bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
306 bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
307 misc: Validate blocks are smaller than size limit by @vivekmg (#1685)
308 misc: Restructure source files by @ephiepark (#1679)
309
310 v1.4.1  (Jul 20, 2019)
311 bug: Fix data corruption in niche use cases by @terrelln (#1659)
312 bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
313 bug: Fix out of bounds read by @terrelln (#1590)
314 perf: Improve decode speed by ~7% @mgrice (#1668)
315 perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
316 perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
317 perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
318 perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
319 api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
320 cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
321 cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
322 cli: Restrict read permissions on destination files by @chungy (#1644)
323 cli: zstdgrep: handle -f flag by @felixhandte (#1618)
324 cli: zstdcat: follow symlinks by @vejnar (#1604)
325 doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
326 doc: Fix typo by @yk-tanigawa (#1633)
327 doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
328 build: CMake: support building with LZ4 @leeyoung624 (#1626)
329 build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
330 build: CMake: respect existing uninstall target by @j301scott (#1619)
331 build: Make: skip multithread tests when built without support by @michaelforney (#1620)
332 build: Make: Fix examples/ test target by @sjnam (#1603)
333 build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
334 build: Meson: fix build by @lzutao (#1602)
335 build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
336 build: Visual Studio: fix linking by @absotively (#1639)
337 build: Fix MinGW-W64 build by @myzhang1029 (#1600)
338 misc: Expand decodecorpus coverage by @ephiepark (#1664)
339
340 v1.4.0  (Apr 17, 2019)
341 perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln
342 api: Move the advanced API, including all functions in the staging section, to the stable section
343 api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress
344 api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter
345 api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter
346 api: Don't export ZSTDMT functions from the shared library by default
347 api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT
348 api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao
349 api: Fix ZSTD_decompressDCtx() corner cases with a dictionary
350 api: Move ZSTD_getDictID_*() functions to the stable section
351 api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln
352 api: Allow compression parameters to be set when a dictionary is used
353 api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called
354 api: Fix ZSTD_estimateCStreamSize_usingCCtxParams()
355 api: Setting ZSTD_d_maxWindowLog to 0 means use the default
356 cli: Ensure that a dictionary is not used to compress itself by @shakeelrao
357 cli: Add --[no-]compress-literals flag to enable or disable literal compression
358 doc: Update the examples to use the advanced API
359 doc: Explain how to transition from old streaming functions to the advanced API in the header
360 build: Improve the Windows release packages
361 build: Improve CMake build by @hjmjohnson
362 build: Build fixes for FreeBSD by @lwhsu
363 build: Remove redundant warnings by @thatsafunnyname
364 build: Fix tests on OpenBSD by @bket
365 build: Extend fuzzer build system to work with the new clang engine
366 build: CMake now creates the libzstd.so.1 symlink
367 build: Improve Menson build by @lzutao
368 misc: Fix symbolic link detection on FreeBSD
369 misc: Use physical core count for -T0 on FreeBSD by @cemeyer
370 misc: Fix zstd --list on truncated files by @kostmo
371 misc: Improve logging in debug mode by @felixhandte
372 misc: Add CirrusCI tests by @lwhsu
373 misc: Optimize dictionary memory usage in corner cases
374 misc: Improve the dictionary builder on small or homogeneous data
375 misc: Fix spelling across the repo by @jsoref
376
377 v1.3.8  (Dec 28, 2018)
378 perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
379 perf: slightly better compression ratio at high compression modes
380 api : finalized advanced API, last stage before "stable" status
381 api : new --rsyncable mode, by @terrelln
382 api : support decompression of empty frames into NULL (used to be an error) (#1385)
383 build: new set of macros to build a minimal size decoder, by @felixhandte
384 build: fix compilation on MIPS32, reported by @clbr (#1441)
385 build: fix compilation with multiple -arch flags, by @ryandesign
386 build: highly upgraded meson build, by @lzutao
387 build: improved buck support, by @obelisk
388 build: fix cmake script : can create debug build, by @pitrou
389 build: Makefile : grep works on both colored consoles and systems without color support
390 build: fixed zstd-pgo, by @bmwiedemann
391 cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423)
392 cli : --no-progress flag, preserving final summary (#1371), by @terrelln
393 cli : ensure destination file is not source file (#1422)
394 cli : clearer error messages, especially when input file not present
395 doc : clarified zstd_compression_format.md, by @ulikunitz
396 misc: fixed zstdgrep, returns 1 on failure, by @lzutao
397 misc: NEWS renamed as CHANGELOG, in accordance with fboss
398
399 v1.3.7  (Oct 20, 2018)
400 perf: slightly better decompression speed on clang (depending on hardware target)
401 fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10
402 build: no longer build backtrace by default in release mode; restrict further automatic mode
403 build: control backtrace support through build macro BACKTRACE
404 misc: added man pages for zstdless and zstdgrep, by @samrussell
405
406 v1.3.6  (Oct 6, 2018)
407 perf: much faster dictionary builder, by @jenniferliu
408 perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte
409 perf: faster dictionary decompression when using a very large number of dictionaries simultaneously
410 cli : fix : does no longer overwrite destination when source does not exist (#1082)
411 cli : new command --adapt, for automatic compression level adaptation
412 api : fix : block api can be streamed with > 4 GB, reported by @catid
413 api : reduced ZSTD_DDict size by 2 KB
414 api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel().
415 build: support Haiku target, by @korli
416 build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT.
417 doc : zstd_compression_format.md updated to match wording in IETF RFC 8478
418 misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97
419
420 v1.3.5  (Jun 29, 2018)
421 perf: much faster dictionary compression, by @felixhandte
422 perf: small quality improvement for dictionary generation, by @terrelln
423 perf: slightly improved high compression levels (notably level 19)
424 mem : automatic memory release for long duration contexts
425 cli : fix : overlapLog can be manually set
426 cli : fix : decoding invalid lz4 frames
427 api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln
428 api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln
429 build: select custom libzstd scope through control macros, by @GeorgeLu97
430 build: OpenBSD patch, by @bket
431 build: make and make all are compatible with -j
432 doc : clarify zstd_compression_format.md, updated for IETF RFC process
433 misc: pzstd compatible with reproducible compilation, by @lamby
434
435 v1.3.4  (Mar 27, 2018)
436 perf: faster speed (especially decoding speed) on recent cpus (haswell+)
437 perf: much better performance associating --long with multi-threading, by @terrelln
438 perf: better compression at levels 13-15
439 cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
440 cli : smoother status report in multi-threading mode
441 cli : added command --fast=#, for faster compression modes
442 cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb)
443 api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
444 api : compression levels can be negative, for even more speed
445 api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
446 api : ZSTDMT can accept new compression parameters during compression
447 api : implemented all advanced dictionary decompression prototypes
448 build: improved meson recipe, by Shawn Landden (@shawnl)
449 build: VS2017 scripts, by @HaydnTrigg
450 misc: all /contrib projects fixed
451 misc: added /contrib/docker script by @gyscos
452
453 v1.3.3  (Dec 21, 2017)
454 perf: faster zstd_opt strategy (levels 16-19)
455 fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
456 cli : fix : content size written in header by default
457 cli : fix : improved LZ4 format support, by @felixhandte
458 cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
459 api : fix : support large skippable frames, by @terrelln
460 api : fix : streaming interface was adding a useless 3-bytes null block to small frames
461 api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
462 build: fix : compilation under rhel6 and centos6, reported by @pixelb
463 build: added `check` target
464
465 v1.3.2  (Oct 10, 2017)
466 new : long range mode, using --long command, by Stella Lau (@stellamplau)
467 new : ability to generate and decode magicless frames (#591)
468 changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
469 fix : multi-threading compression works with custom allocators
470 fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
471 fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
472 fix : 32-bits build can now decode large offsets (levels 21+)
473 cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
474 cli : improved --list output
475 cli : new : can split input file for dictionary training, using command -B#
476 cli : new : clean operation artefact on Ctrl-C interruption
477 cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
478 cli : fix : write file size in header in multiple-files mode
479 api : added macro ZSTD_COMPRESSBOUND() for static allocation
480 api : experimental : new advanced decompression API
481 api : fix : sizeof_CCtx() used to over-estimate
482 build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
483 build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
484 example : added streaming_memory_usage
485 license : changed /examples license to BSD + GPLv2
486 license : fix a few header files to reflect new license (#825)
487
488 v1.3.1  (Aug 21, 2017)
489 New license : BSD + GPLv2
490 perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
491 perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
492 cli : improved and fixed --list command, by @ib (#772)
493 cli : command -vV to list supported formats, by @ib (#771)
494 build : fixed binary variants, reported by @svenha (#788)
495 build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
496 API exp : breaking change : ZSTD_getframeHeader() provides more information
497 API exp : breaking change : pinned down values of error codes
498 doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
499 new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
500 new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
501 updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
502
503 v1.3.0  (Jul 6, 2017)
504 cli : new : `--list` command, by Paul Cruz
505 cli : changed : xz/lzma support enabled by default
506 cli : changed : `-t *` continue processing list after a decompression error
507 API : added : ZSTD_versionString()
508 API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
509 API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
510 API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
511 API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
512 API exp : clarified memory estimation / measurement functions.
513 API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
514 tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
515 new : contrib/seekable_format, demo and API, by Sean Purcell
516 changed : contrib/linux-kernel, updated version and license, by Nick Terrell
517
518 v1.2.0  (May 5, 2017)
519 cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
520 cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
521 cli : new : zstdmt symlink hardwired to `zstd -T0`
522 cli : new : command --threads=# (#671)
523 cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
524 cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
525 cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
526 cli : fix : does not output compressed data on console
527 cli : fix : ignore symbolic links unless --force specified,
528 API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
529 API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
530 API : improved: ZSTDMT_compressCCtx() reduced memory usage
531 API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
532 API : fix : src size stored in frame header is controlled at end of frame
533 API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
534 API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
535 build: improved cmake script, by @Majlen
536 build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
537 tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
538 new : contrib/linux-kernel version, by Nick Terrell
539
540 v1.1.4  (Mar 18, 2017)
541 cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
542 cli : new : advanced benchmark command --priority=rt
543 cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
544 cli : fix : --rm remains silent when input is stdin
545 cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
546 speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
547 memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
548 arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
549 API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
550 API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
551 build : new: meson build system in contrib/meson, by Dima Krasner
552 build : improved cmake script, by @Majlen
553 build : added -Wformat-security flag, as recommended by Padraig Brady
554 doc : new : educational decoder, by Sean Purcell
555
556 v1.1.3  (Feb 7, 2017)
557 cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
558 cli : new : experimental target `make zstdmt`, with multi-threading support
559 cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
560 cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
561 cli : fix zstdless on Mac OS-X, by Andrew Janke
562 cli : fix #232 "compress non-files"
563 dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
564 API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
565 API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
566 API : new : ZDICT_finalizeDictionary()
567 API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
568 API : fix : all symbols properly exposed in libzstd, by Nick Terrell
569 build : support for Solaris target, by Przemyslaw Skibinski
570 doc : clarified specification, by Sean Purcell
571
572 v1.1.2  (Dec 15, 2016)
573 API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
574 API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
575 API : zbuff : changed : prototypes now generate deprecation warnings
576 lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
577 lib : changed : only public ZSTD_ symbols are now exposed
578 lib : changed : reduced usage  of stack memory
579 lib : fixed : several corner case bugs, by Nick Terrell
580 cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
581 cli : new : preserve file attributes
582 cli : new : added zstdless and zstdgrep tools
583 cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
584 cli : fixed : zstdcat
585 zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
586 install : better compatibility with FreeBSD, by Dimitry Andric
587 source tree : changed : zbuff source files moved to lib/deprecated
588
589 v1.1.1  (Nov 2, 2016)
590 New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
591 New : doc/zstd_manual.html, by Przemyslaw Skibinski
592 Improved : slightly better compression ratio at --ultra levels (>= 20)
593 Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
594 Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
595 Added : example/multiple_streaming_compression.c
596 Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
597 Updated man page
598 Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
599
600 v1.1.0  (Sep 28, 2016)
601 New : contrib/pzstd, parallel version of zstd, by Nick Terrell
602 added : NetBSD install target (#338)
603 Improved : speed for batches of small files
604 Improved : speed of zlib wrapper, by Przemyslaw Skibinski
605 Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
606 Fixed : CLI -d output to stdout by default when input is stdin (#322)
607 Fixed : CLI correctly detects console on Mac OS-X
608 Fixed : CLI supports recursive mode `-r` on Mac OS-X
609 Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
610 Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
611 Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
612 Fixed : zstd-pgo, reported by octoploid (#329)
613
614 v1.0.0  (Sep 1, 2016)
615 Change Licensing, all project is now BSD, Copyright Facebook
616 Small decompression speed improvement
617 API : Streaming API supports legacy format
618 API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter()
619 CLI supports legacy formats v0.4+
620 Fixed : compression fails on certain huge files, reported by Jesse McGrew
621 Enhanced documentation, by Przemyslaw Skibinski
622
623 v0.8.1  (Aug 18, 2016)
624 New streaming API
625 Changed : --ultra now enables levels beyond 19
626 Changed : -i# now selects benchmark time in second
627 Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
628 Fixed : speed regression on specific patterns (#272)
629 Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
630 Fixed : ICC compilation, by Przemyslaw Skibinski
631
632 v0.8.0  (Aug 2, 2016)
633 Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
634 New : Build on FreeBSD and DragonFly, thanks to JrMarino
635 Changed : modified API : ZSTD_compressEnd()
636 Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
637 Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
638 Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
639 Fixed : checksum correctly checked in single-pass mode
640 Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
641 Modified : minor compression level adaptations
642 Updated : compression format specification to v0.2.0
643 changed : zstd.h moved to /lib directory
644
645 v0.7.5  (Aug 1, 2016)
646 Transition version, supporting decoding of v0.8.x
647
648 v0.7.4  (Jul 17, 2016)
649 Added : homebrew for Mac, by Daniel Cade
650 Added : more examples
651 Fixed : segfault when using small dictionaries, reported by Felix Handte
652 Modified : default compression level for CLI is now 3
653 Updated : specification, to v0.1.1
654
655 v0.7.3  (Jul 9, 2016)
656 New : compression format specification
657 New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
658 New : `ZSTD_getDecompressedSize()`
659 New : OpenBSD target, by Juan Francisco Cantero Hurtado
660 New : `examples` directory
661 fixed : dictBuilder using HC levels, reported by Bartosz Taudul
662 fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
663 fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
664 modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
665 modified : legacy functions no longer need magic number
666
667 v0.7.2  (Jul 4, 2016)
668 fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
669 fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
670 fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
671
672 v0.7.1  (Jun 23, 2016)
673 fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
674 fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
675 fixed : corruption issue, reported by cj
676 modified : checksum enabled by default in command line mode
677
678 v0.7.0  (Jun 17, 2016)
679 New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
680 New : Command `--rm`, to remove source file after successful de/compression
681 New : Visual build scripts, by Christophe Chevalier
682 New : Support for Sparse File-systems (do not use space for zero-filled sectors)
683 New : Frame checksum support
684 New : Support pass-through mode (when using `-df`)
685 API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
686 API : create dictionary files from custom content, by Giuseppe Ottaviano
687 API : support for custom malloc/free functions
688 New : controllable Dictionary ID
689 New : Support for skippable frames
690
691 v0.6.1  (May 13, 2016)
692 New : zlib wrapper API, thanks to Przemyslaw Skibinski
693 New : Ability to compile compressor / decompressor separately
694 Changed : new lib directory structure
695 Fixed : Legacy codec v0.5 compatible with dictionary decompression
696 Fixed : Decoder corruption error (#173)
697 Fixed : null-string roundtrip (#176)
698 New : benchmark mode can select directory as input
699 Experimental : midipix support, VMS support
700
701 v0.6.0  (Apr 13, 2016)
702 Stronger high compression modes, thanks to Przemyslaw Skibinski
703 API : ZSTD_getFrameParams() provides size of decompressed content
704 New : highest compression modes require `--ultra` command to fully unleash their capacity
705 Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
706
707 v0.5.1  (Feb 18, 2016)
708 New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
709 Changed : Dictionary builder integrated into libzstd and zstd cli
710 Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
711 Fix : high compression modes for big-endian platforms
712 New : zstd cli : `-t` | `--test` command
713
714 v0.5.0  (Feb 5, 2016)
715 New : dictionary builder utility
716 Changed : streaming & dictionary API
717 Improved : better compression of small data
718
719 v0.4.7  (Jan 22, 2016)
720 Improved : small compression speed improvement in HC mode
721 Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
722 fix : bt search bug
723
724 v0.4.6  (Jan 13, 2016)
725 fix : fast compression mode on Windows
726 New : cmake configuration file, thanks to Artyom Dymchenko
727 Improved : high compression mode on repetitive data
728 New : block-level API
729 New : ZSTD_duplicateCCtx()
730
731 v0.4.5  (Dec 18, 2015)
732 new : -m/--multiple : compress/decompress multiple files
733
734 v0.4.4  (Dec 14, 2015)
735 Fixed : high compression modes for Windows 32 bits
736 new : external dictionary API extended to buffered mode and accessible through command line
737 new : windows DLL project, thanks to Christophe Chevalier
738
739 v0.4.3  (Dec 7, 2015)
740 new : external dictionary API
741 new : zstd-frugal
742
743 v0.4.2  (Dec 2, 2015)
744 Generic minor improvements for small blocks
745 Fixed : big-endian compatibility, by Peter Harris (#85)
746
747 v0.4.1  (Dec 1, 2015)
748 Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
749 removed `zstd.c`
750
751 v0.4.0  (Nov 29, 2015)
752 Command line utility compatible with high compression levels
753 Removed zstdhc => merged into zstd
754 Added : ZBUFF API (see zstd_buffered.h)
755 Rolling buffer support
756
757 v0.3.6  (Nov 10, 2015)
758 small blocks params
759
760 v0.3.5  (Nov 9, 2015)
761 minor generic compression improvements
762
763 v0.3.4  (Nov 6, 2015)
764 Faster fast cLevels
765
766 v0.3.3  (Nov 5, 2015)
767 Small compression ratio improvement
768
769 v0.3.2  (Nov 2, 2015)
770 Fixed Visual Studio
771
772 v0.3.1  (Nov 2, 2015)
773 Small compression ratio improvement
774
775 v0.3  (Oct 30, 2015)
776 HC mode : compression levels 2-26
777
778 v0.2.2  (Oct 28, 2015)
779 Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
780
781 v0.2.1  (Oct 24, 2015)
782 Fix : Read errors, advanced fuzzer tests, by Hanno Böck
783
784 v0.2.0  (Oct 22, 2015)
785 **Breaking format change**
786 Faster decompression speed
787 Can still decode v0.1 format
788
789 v0.1.3  (Oct 15, 2015)
790 fix uninitialization warning, reported by Evan Nemerson
791
792 v0.1.2  (Sep 11, 2015)
793 frame concatenation support
794
795 v0.1.1  (Aug 27, 2015)
796 fix compression bug
797 detects write-flush errors
798
799 v0.1.0  (Aug 25, 2015)
800 first release