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