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