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