blob: 31e9007b871b89d95fd1cb2db2871bf194064600 [file] [log] [blame]
Daniel Norman0b0dae52022-03-01 11:42:58 -08001v1.5.1 (Dec, 2021)
2perf: rebalanced compression levels, to better match the intended speed/level curve, by @senhuang42
3perf: faster huffman decoder, using x64 assembly, by @terrelln
4perf: slightly faster high speed modes (strategies fast & dfast), by @felixhandte
5perf: improved binary size and faster compilation times, by @terrelln
6perf: new row64 mode, used notably in level 12, by @senhuang42
7perf: faster mid-level compression speed in presence of highly repetitive patterns, by @senhuang42
8perf: minor compression ratio improvements for small data at high levels, by @cyan4973
9perf: reduced stack usage (mostly useful for Linux Kernel), by @terrelln
10perf: faster compression speed on incompressible data, by @bindhvo
11perf: on-demand reduced ZSTD_DCtx state size, using build macro ZSTD_DECODER_INTERNAL_BUFFER, at a small cost of performance, by @bindhvo
12build: allows hiding static symbols in the dynamic library, using build macro, by @skitt
13build: support for m68k (Motorola 68000's), by @cyan4973
14build: improved AIX support, by @Helflym
15build: improved meson unofficial build, by @eli-schwartz
16cli : custom memory limit when training dictionary (#2925), by @embg
17cli : report advanced parameters information when compressing in very verbose mode (``-vv`), by @Svetlitski-FB
18
19v1.5.0 (May 11, 2021)
20api: Various functions promoted from experimental to stable API: (#2579-2581, @senhuang42)
21 `ZSTD_defaultCLevel()`
22 `ZSTD_getDictID_fromCDict()`
23api: Several experimental functions have been deprecated and will emit a compiler warning (#2582, @senhuang42)
24 `ZSTD_compress_advanced()`
25 `ZSTD_compress_usingCDict_advanced()`
26 `ZSTD_compressBegin_advanced()`
27 `ZSTD_compressBegin_usingCDict_advanced()`
28 `ZSTD_initCStream_srcSize()`
29 `ZSTD_initCStream_usingDict()`
30 `ZSTD_initCStream_usingCDict()`
31 `ZSTD_initCStream_advanced()`
32 `ZSTD_initCStream_usingCDict_advanced()`
33 `ZSTD_resetCStream()`
34api: ZSTDMT_NBWORKERS_MAX reduced to 64 for 32-bit environments (@Cyan4973)
35perf: Significant speed improvements for middle compression levels (#2494, @senhuang42 @terrelln)
36perf: Block splitter to improve compression ratio, enabled by default for high compression levels (#2447, @senhuang42)
37perf: Decompression loop refactor, speed improvements on `clang` and for `--long` modes (#2614 #2630, @Cyan4973)
38perf: Reduced stack usage during compression and decompression entropy stage (#2522 #2524, @terrelln)
39bug: Improve setting permissions of created files (#2525, @felixhandte)
40bug: Fix large dictionary non-determinism (#2607, @terrelln)
41bug: Fix non-determinism test failures on Linux i686 (#2606, @terrelln)
42bug: Fix various dedicated dictionary search bugs (#2540 #2586, @senhuang42 @felixhandte)
43bug: Ensure `ZSTD_estimateCCtxSize*() `monotonically increases with compression level (#2538, @senhuang42)
44bug: Fix --patch-from mode parameter bound bug with small files (#2637, @occivink)
45bug: Fix UBSAN error in decompression (#2625, @terrelln)
46bug: Fix superblock compression divide by zero bug (#2592, @senhuang42)
47bug: Make the number of physical CPU cores detection more robust (#2517, @PaulBone)
48doc: Improve `zdict.h` dictionary training API documentation (#2622, @terrelln)
49doc: Note that public `ZSTD_free*()` functions accept NULL pointers (#2521, @animalize)
50doc: Add style guide docs for open source contributors (#2626, @Cyan4973)
51tests: Better regression test coverage for different dictionary modes (#2559, @senhuang42)
52tests: Better test coverage of index reduction (#2603, @terrelln)
53tests: OSS-Fuzz coverage for seekable format (#2617, @senhuang42)
54tests: Test coverage for ZSTD threadpool API (#2604, @senhuang42)
55build: Dynamic library built multithreaded by default (#2584, @senhuang42)
56build: Move `zstd_errors.h` and `zdict.h` to `lib/` root (#2597, @terrelln)
57build: Allow `ZSTDMT_JOBSIZE_MIN` to be configured at compile-time, reduce default to 512KB (#2611, @Cyan4973)
58build: Single file library build script moved to `build/` directory (#2618, @felixhandte)
59build: `ZBUFF_*()` is no longer built by default (#2583, @senhuang42)
60build: Fixed Meson build (#2548, @SupervisedThinking @kloczek)
61build: Fix excessive compiler warnings with clang-cl and CMake (#2600, @nickhutchinson)
62build: Detect presence of `md5` on Darwin (#2609, @felixhandte)
63build: Avoid SIGBUS on armv6 (#2633, @bmwiedmann)
64cli: `--progress` flag added to always display progress bar (#2595, @senhuang42)
65cli: Allow reading from block devices with `--force` (#2613, @felixhandte)
66cli: Fix CLI filesize display bug (#2550, @Cyan4973)
67cli: Fix windows CLI `--filelist` end-of-line bug (#2620, @Cyan4973)
68contrib: Various fixes for linux kernel patch (#2539, @terrelln)
69contrib: Seekable format - Decompression hanging edge case fix (#2516, @senhuang42)
70contrib: Seekable format - New seek table-only API (#2113 #2518, @mdittmer @Cyan4973)
71contrib: Seekable format - Fix seek table descriptor check when loading (#2534, @foxeng)
72contrib: Seekable format - Decompression fix for large offsets, (#2594, @azat)
73misc: Automatically published release tarballs available on Github (#2535, @felixhandte)
74
75v1.4.9 (Mar 1, 2021)
76bug: Use `umask()` to Constrain Created File Permissions (#2495, @felixhandte)
77bug: Make Simple Single-Pass Functions Ignore Advanced Parameters (#2498, @terrelln)
78api: Add (De)Compression Tracing Functionality (#2482, @terrelln)
79api: Support References to Multiple DDicts (#2446, @senhuang42)
80api: Add Function to Generate Skippable Frame (#2439, @senhuang42)
81perf: New Algorithms for the Long Distance Matcher (#2483, @mpu)
82perf: Performance Improvements for Long Distance Matcher (#2464, @mpu)
83perf: Don't Shrink Window Log when Streaming with a Dictionary (#2451, @terrelln)
84cli: Fix `--output-dir-mirror`'s Rejection of `..`-Containing Paths (#2512, @felixhandte)
85cli: Allow Input From Console When `-f`/`--force` is Passed (#2466, @felixhandte)
86cli: Improve Help Message (#2500, @senhuang42)
87tests: Remove Flaky Tests (#2455, #2486, #2445, @Cyan4973)
88tests: Correctly Invoke md5 Utility on NetBSD (#2492, @niacat)
89tests: Avoid Using `stat -c` on NetBSD (#2513, @felixhandte)
90build: Zstd CLI Can Now be Linked to Dynamic `libzstd` (#2457, #2454 @Cyan4973)
91build: Hide and Avoid Using Static-Only Symbols (#2501, #2504, @skitt)
92build: CMake: Enable Only C for lib/ and programs/ Projects (#2498, @concatime)
93build: CMake: Use `configure_file()` to Create the `.pc` File (#2462, @lazka)
94build: Fix Fuzzer Compiler Detection & Update UBSAN Flags (#2503, @terrelln)
95build: Add Guards for `_LARGEFILE_SOURCE` and `_LARGEFILE64_SOURCE` (#2444, @indygreg)
96build: Improve `zlibwrapper` Makefile (#2437, @Cyan4973)
97contrib: Add `recover_directory` Program (#2473, @terrelln)
98doc: Change License Year to 2021 (#2452 & #2465, @terrelln & @senhuang42)
99doc: Fix Typos (#2459, @ThomasWaldmann)
100
101v1.4.8 (Dec 18, 2020)
102hotfix: wrong alignment of an internal buffer
103
104v1.4.7 (Dec 16, 2020)
Yann Collet2e9ffdb2020-12-14 18:45:57 -0800105perf: stronger --long mode at high compression levels, by @senhuang42
106perf: stronger --patch-from at high compression levels, thanks to --long improvements
107perf: faster dictionary compression at medium compression levels, by @felixhandte
108perf: small speed & memory usage improvements for ZSTD_compress2(), by @terrelln
109perf: improved fast compression speeds with Visual Studio, by @animalize
110cli : Set nb of threads with environment variable ZSTD_NBTHREADS, by @senhuang42
111cli : accept decompressing files with *.zstd suffix
112cli : provide a condensed summary by default when processing multiple files
113cli : fix : stdin input no longer confused as user prompt
114cli : improve accuracy of several error messages
115api : new sequence ingestion API, by @senhuang42
116api : shared thread pool: control total nb of threads used by multiple compression jobs, by @marxin
117api : new ZSTD_getDictID_fromCDict(), by @LuAPi
118api : zlibWrapper only uses public API, and is compatible with dynamic library, by @terrelln
Yann Collet8ab9bb92020-12-15 00:27:32 -0800119api : fix : multithreaded compression has predictable output even in special cases (see #2327) (issue not accessible from cli)
120api : fix : dictionary compression correctly respects dictionary compression level (see #2303) (issue not accessible from cli)
Yann Collet2e9ffdb2020-12-14 18:45:57 -0800121build: fix cmake script when using path with spaces, by @terrelln
122build: improved compile-time detection of aarch64/neon platforms, by @bsdimp
123build: Fix building on AIX 5.1, by @likema
124build: compile paramgrill with cmake on Windows, requested by @mirh
125doc : clarify repcode updates in format specification, by @felixhandte
126
Nick Terrelledd83272020-09-09 17:13:34 -0700127v1.4.6
128fix : Always return dstSize_tooSmall when that is the case
129fix : Fix ZSTD_initCStream_advanced() with static allocation and no dictionary
130perf: Improve small block decompression speed by 20%+, by @terrelln
131perf: Reduce compression stack usage by 1 KB, by @terrelln
132perf: Improve decompression speed by improving ZSTD_wildcopy, by @helloguo (#2252, #2256)
133perf: Improve histogram construction, by @cyan4973 (#2253)
134cli : Add --output-dir-mirror option, by @xxie24 (#2219)
135cli : Warn when (de)compressing multiple files into a single output, by @senhuang42 (#2279)
136cli : Improved progress bar and status summary when (de)compressing multiple files, by @senhuang42 (#2283)
137cli : Call stat less often, by @felixhandte (#2262)
138cli : Allow --patch-from XXX and --filelist XXX in addition to --patch-from=XXX and --filelist=XXX, by @cyan4973 (#2250)
139cli : Allow --patch-from to compress stdin with --stream-size, by @bimbashrestha (#2206)
140api : Do not install zbuff.h, since it has long been deprecated, by @cyan4973 (#2166).
141api : Fix ZSTD_CCtx_setParameter() with ZSTD_c_compressionLevel to make 0 mean default level, by @i-do-cpp (#2291)
142api : Rename ZSTDMT_NBTHREADS_MAX to ZSTDMT_NBWORKERS_MAX, by @marxin (#2228).
143build: Install pkg-config file with CMake and MinGW, by @tonytheodore (#2183)
144build: Install DLL with CMake on Windows, by @BioDataAnalysis (#2221)
145build: Fix DLL install location with CMake, by @xantares and @bimbashrestha (#2186)
146build: Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions
147build: Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics
148build: Add STATIC_BMI2 macro for compile time detection of BMI2 on MSVC, by @Niadb (#2258)
149build: Fix -Wcomma warnings, by @cwoffenden
150build: Remove distutils requirement for meson build, by @neheb (#2197)
151build: Fix cli compilation with uclibc
152build: Fix cli compilation without st_mtime, by @ffontaine (#2246)
153build: Fix shadowing warnings in library
154build: Fix single file library compilation with Enscripten, by @yoshihitoh (#2227)
155misc: Improve single file library and include dictBuilder, by @cwoffenden
156misc: Allow compression dictionaries with missing symbols
157misc: Add freestanding translation script in contrib/freestanding_lib
158misc: Collect all of zstd's libc dependencies into zstd_deps.h
159doc : Add ZSTD_versionString() to manual, by @animalize
160doc : Fix documentation for ZSTD_CCtxParams_setParameter(), by @felixhandte (#2270)
161
animalizee1fd4fd2020-12-14 10:27:35 +0800162v1.4.5 (May 22, 2020)
Yann Colletf34eab12020-01-24 14:12:25 -0800163fix : Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln
Yann Collet18082ce2020-05-15 17:19:00 -0700164perf: Improved decompression speed: x64 : +10% (clang) / +5% (gcc); ARM : from +15% to +50%, depending on SoC, by @terrelln
165perf: Automatically downsizes ZSTD_DCtx when too large for too long (#2069, by @bimbashreshta)
166perf: Improved fast compression speed on aarch64 (#2040, ~+3%, by @caoyzh)
167perf: Small level 1 compression speed gains (depending on compiler)
168cli : New --patch-from command, create and apply patches from files, by @bimbashreshta
169cli : New --filelist= : Provide a list of files to operate upon from a file
170cli : -b -d command can now benchmark decompression on multiple files
171cli : New --no-content-size command
172cli : New --show-default-cparams information command
173api : ZDICT_finalizeDictionary() is promoted to stable (#2111)
174api : new experimental parameter ZSTD_d_stableOutBuffer (#2094)
175build: Generate a single-file libzstd library (#2065, by @cwoffenden)
176build: Relative includes no longer require -I compiler flags for zstd lib subdirs (#2103, by @felixhandte)
177build: zstd now compiles cleanly under -pedantic (#2099)
178build: zstd now compiles with make-4.3
179build: Support mingw cross-compilation from Linux, by @Ericson2314
180build: Meson multi-thread build fix on windows
181build: Some misc icc fixes backed by new ci test on travis
Yann Collet51208832019-12-03 17:06:42 -0800182misc: bitflip analyzer tool, by @felixhandte
Yann Collet18082ce2020-05-15 17:19:00 -0700183misc: Extend largeNbDicts benchmark to compression
184misc: Edit-distance match finder in contrib/
185doc : Improved beginner CONTRIBUTING.md docs
186doc : New issue templates for zstd
Yann Collet51208832019-12-03 17:06:42 -0800187
animalizee1fd4fd2020-12-14 10:27:35 +0800188v1.4.4 (Nov 6, 2019)
Yann Colletfaddd2a2019-10-28 12:57:05 -0700189perf: Improved decompression speed, by > 10%, by @terrelln
190perf: Better compression speed when re-using a context, by @felixhandte
191perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42
192perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha
193perf: minor generic speed optimization, by @davidbolvansky
194api: new ability to extract sequences from the parser for analysis, by @bimbashrestha
195api: fixed decoding of magic-less frames, by @terrelln
196api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK
197cli: Named pipes support, by @bimbashrestha
198cli: short tar's extension support, by @stokito
199cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42
200cli: commands --stream-size=# and --size-hint=#, by @nmagerko
Yann Colletae3d35d2019-10-30 12:16:45 -0700201cli: command --exclude-compressed, by @shashank0791
Yann Colletfaddd2a2019-10-28 12:57:05 -0700202cli: faster `-t` test mode
203cli: improved some error messages, by @vangyzen
Yann Collet31192562020-01-07 09:51:22 -0800204cli: fix command `-D dictionary` on Windows, reported by @artyompetrov
205cli: fix rare deadlock condition within dictionary builder, by @terrelln
Yann Colletfaddd2a2019-10-28 12:57:05 -0700206build: single-file decoder with emscripten compilation script, by @cwoffenden
207build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive
208build: fixed deprecation warning for certain gcc version, reported by @jasonma163
209build: fix compilation on old gcc versions, by @cemeyer
210build: improved installation directories for cmake script, by Dmitri Shubin
211pack: modified pkgconfig, for better integration into openwrt, requested by @neheb
212misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format
213misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro
214
animalizee1fd4fd2020-12-14 10:27:35 +0800215v1.4.3 (Aug 20, 2019)
W. Felix Handte6b689802019-08-06 13:44:05 -0400216bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709)
Yann Colletfaddd2a2019-10-28 12:57:05 -0700217bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722)
W. Felix Handte6b689802019-08-06 13:44:05 -0400218build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705)
W. Felix Handte6b689802019-08-06 13:44:05 -0400219
animalizee1fd4fd2020-12-14 10:27:35 +0800220v1.4.2 (Jul 26, 2019)
W. Felix Handte25824cc2019-07-24 17:35:52 -0400221bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
222bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
223misc: Validate blocks are smaller than size limit by @vivekmg (#1685)
224misc: Restructure source files by @ephiepark (#1679)
225
animalizee1fd4fd2020-12-14 10:27:35 +0800226v1.4.1 (Jul 20, 2019)
W. Felix Handte62a0dc52019-07-19 11:18:10 -0400227bug: Fix data corruption in niche use cases by @terrelln (#1659)
228bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
229bug: Fix out of bounds read by @terrelln (#1590)
230perf: Improve decode speed by ~7% @mgrice (#1668)
231perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
232perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
233perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
234perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
235api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
236cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
237cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
238cli: Restrict read permissions on destination files by @chungy (#1644)
239cli: zstdgrep: handle -f flag by @felixhandte (#1618)
240cli: zstdcat: follow symlinks by @vejnar (#1604)
241doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
242doc: Fix typo by @yk-tanigawa (#1633)
243doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
244build: CMake: support building with LZ4 @leeyoung624 (#1626)
245build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
246build: CMake: respect existing uninstall target by @j301scott (#1619)
247build: Make: skip multithread tests when built without support by @michaelforney (#1620)
248build: Make: Fix examples/ test target by @sjnam (#1603)
249build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
250build: Meson: fix build by @lzutao (#1602)
251build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
252build: Visual Studio: fix linking by @absotively (#1639)
253build: Fix MinGW-W64 build by @myzhang1029 (#1600)
254misc: Expand decodecorpus coverage by @ephiepark (#1664)
255
animalizee1fd4fd2020-12-14 10:27:35 +0800256v1.4.0 (Apr 17, 2019)
Nick Terrellbef61222019-04-15 13:57:42 -0700257perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln
258api: Move the advanced API, including all functions in the staging section, to the stable section
259api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress
260api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter
261api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter
262api: Don't export ZSTDMT functions from the shared library by default
Nick Terrellde0499f2019-04-15 22:49:44 -0700263api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT
Nick Terrellbef61222019-04-15 13:57:42 -0700264api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao
265api: Fix ZSTD_decompressDCtx() corner cases with a dictionary
266api: Move ZSTD_getDictID_*() functions to the stable section
267api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln
268api: Allow compression parameters to be set when a dictionary is used
269api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called
270api: Fix ZSTD_estimateCStreamSize_usingCCtxParams()
271api: Setting ZSTD_d_maxWindowLog to 0 means use the default
272cli: Ensure that a dictionary is not used to compress itself by @shakeelrao
273cli: Add --[no-]compress-literals flag to enable or disable literal compression
274doc: Update the examples to use the advanced API
275doc: Explain how to transition from old streaming functions to the advanced API in the header
276build: Improve the Windows release packages
277build: Improve CMake build by @hjmjohnson
278build: Build fixes for FreeBSD by @lwhsu
279build: Remove redundant warnings by @thatsafunnyname
280build: Fix tests on OpenBSD by @bket
281build: Extend fuzzer build system to work with the new clang engine
282build: CMake now creates the libzstd.so.1 symlink
283build: Improve Menson build by @lzutao
284misc: Fix symbolic link detection on FreeBSD
285misc: Use physical core count for -T0 on FreeBSD by @cemeyer
286misc: Fix zstd --list on truncated files by @kostmo
287misc: Improve logging in debug mode by @felixhandte
288misc: Add CirrusCI tests by @lwhsu
289misc: Optimize dictionary memory usage in corner cases
290misc: Improve the dictionary builder on small or homogeneous data
291misc: Fix spelling across the repo by @jsoref
Nick Terrell2e8c19f2019-02-20 10:46:14 -0800292
animalizee1fd4fd2020-12-14 10:27:35 +0800293v1.3.8 (Dec 28, 2018)
Yann Collet092c4ab2018-11-13 15:53:38 -0800294perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
Yann Collet0d212dd2018-12-22 12:10:29 -0800295perf: slightly better compression ratio at high compression modes
296api : finalized advanced API, last stage before "stable" status
297api : new --rsyncable mode, by @terrelln
298api : support decompression of empty frames into NULL (used to be an error) (#1385)
299build: new set of macros to build a minimal size decoder, by @felixhandte
300build: fix compilation on MIPS32, reported by @clbr (#1441)
301build: fix compilation with multiple -arch flags, by @ryandesign
302build: highly upgraded meson build, by @lzutao
303build: improved buck support, by @obelisk
304build: fix cmake script : can create debug build, by @pitrou
305build: Makefile : grep works on both colored consoles and systems without color support
Yann Collet092c4ab2018-11-13 15:53:38 -0800306build: fixed zstd-pgo, by @bmwiedemann
Yann Collet0d212dd2018-12-22 12:10:29 -0800307cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423)
308cli : --no-progress flag, preserving final summary (#1371), by @terrelln
309cli : ensure destination file is not source file (#1422)
310cli : clearer error messages, especially when input file not present
Yann Collet092c4ab2018-11-13 15:53:38 -0800311doc : clarified zstd_compression_format.md, by @ulikunitz
Yann Collet0d212dd2018-12-22 12:10:29 -0800312misc: fixed zstdgrep, returns 1 on failure, by @lzutao
313misc: NEWS renamed as CHANGELOG, in accordance with fboss
Yann Collet092c4ab2018-11-13 15:53:38 -0800314
animalizee1fd4fd2020-12-14 10:27:35 +0800315v1.3.7 (Oct 20, 2018)
Yann Colleta2708de2018-10-11 16:49:55 -0700316perf: slightly better decompression speed on clang (depending on hardware target)
317fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10
318build: no longer build backtrace by default in release mode; restrict further automatic mode
319build: control backtrace support through build macro BACKTRACE
Yann Collet21cd8a92018-10-16 20:58:52 -0700320misc: added man pages for zstdless and zstdgrep, by @samrussell
Yann Colleta2708de2018-10-11 16:49:55 -0700321
animalizee1fd4fd2020-12-14 10:27:35 +0800322v1.3.6 (Oct 6, 2018)
Yann Collet63a519d2018-09-11 17:23:44 -0700323perf: much faster dictionary builder, by @jenniferliu
Yann Collet8514bd82018-10-01 17:49:18 -0700324perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte
325perf: faster dictionary decompression when using a very large number of dictionaries simultaneously
326cli : fix : does no longer overwrite destination when source does not exist (#1082)
327cli : new command --adapt, for automatic compression level adaptation
328api : fix : block api can be streamed with > 4 GB, reported by @catid
329api : reduced ZSTD_DDict size by 2 KB
330api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel().
Yann Collet11cd2ea2018-10-03 16:37:50 -0700331build: support Haiku target, by @korli
332build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT.
Yann Collet8514bd82018-10-01 17:49:18 -0700333doc : zstd_compression_format.md updated to match wording in IETF RFC 8478
Yann Collet63a519d2018-09-11 17:23:44 -0700334misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97
335
animalizee1fd4fd2020-12-14 10:27:35 +0800336v1.3.5 (Jun 29, 2018)
Yann Collet24319972018-06-06 15:51:55 -0700337perf: much faster dictionary compression, by @felixhandte
338perf: small quality improvement for dictionary generation, by @terrelln
339perf: slightly improved high compression levels (notably level 19)
340mem : automatic memory release for long duration contexts
341cli : fix : overlapLog can be manually set
342cli : fix : decoding invalid lz4 frames
343api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln
344api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln
345build: select custom libzstd scope through control macros, by @GeorgeLu97
346build: OpenBSD patch, by @bket
347build: make and make all are compatible with -j
348doc : clarify zstd_compression_format.md, updated for IETF RFC process
349misc: pzstd compatible with reproducible compilation, by @lamby
350
animalizee1fd4fd2020-12-14 10:27:35 +0800351v1.3.4 (Mar 27, 2018)
Yann Colleteba13db2018-03-26 10:21:49 -0700352perf: faster speed (especially decoding speed) on recent cpus (haswell+)
353perf: much better performance associating --long with multi-threading, by @terrelln
354perf: better compression at levels 13-15
355cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
356cli : smoother status report in multi-threading mode
357cli : added command --fast=#, for faster compression modes
Yann Collet8c6dbf42018-03-09 16:22:34 -0800358cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb)
359api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
Yann Colleteba13db2018-03-26 10:21:49 -0700360api : compression levels can be negative, for even more speed
Yann Collet8c6dbf42018-03-09 16:22:34 -0800361api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
362api : ZSTDMT can accept new compression parameters during compression
Yann Colleteba13db2018-03-26 10:21:49 -0700363api : implemented all advanced dictionary decompression prototypes
Yann Collet8c6dbf42018-03-09 16:22:34 -0800364build: improved meson recipe, by Shawn Landden (@shawnl)
Yann Colleteba13db2018-03-26 10:21:49 -0700365build: VS2017 scripts, by @HaydnTrigg
366misc: all /contrib projects fixed
367misc: added /contrib/docker script by @gyscos
Yann Collet8c6dbf42018-03-09 16:22:34 -0800368
animalizee1fd4fd2020-12-14 10:27:35 +0800369v1.3.3 (Dec 21, 2017)
Yann Collet8c6dbf42018-03-09 16:22:34 -0800370perf: faster zstd_opt strategy (levels 16-19)
Yann Collet2cff66b2017-12-14 16:11:20 -0800371fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
372cli : fix : content size written in header by default
373cli : fix : improved LZ4 format support, by @felixhandte
374cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
375api : fix : support large skippable frames, by @terrelln
376api : fix : streaming interface was adding a useless 3-bytes null block to small frames
377api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
378build: fix : compilation under rhel6 and centos6, reported by @pixelb
379build: added `check` target
380
animalizee1fd4fd2020-12-14 10:27:35 +0800381v1.3.2 (Oct 10, 2017)
Yann Collet92889702017-09-18 13:41:54 -0700382new : long range mode, using --long command, by Stella Lau (@stellamplau)
Yann Collet7e00df42017-10-02 16:27:25 -0700383new : ability to generate and decode magicless frames (#591)
384changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
Yann Collet92889702017-09-18 13:41:54 -0700385fix : multi-threading compression works with custom allocators
Yann Colletf97c2db2017-09-21 16:07:29 -0700386fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
387fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
Yann Collet92889702017-09-18 13:41:54 -0700388fix : 32-bits build can now decode large offsets (levels 21+)
Yann Collet7e00df42017-10-02 16:27:25 -0700389cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
390cli : improved --list output
Yann Collet92889702017-09-18 13:41:54 -0700391cli : new : can split input file for dictionary training, using command -B#
Yann Collet7e00df42017-10-02 16:27:25 -0700392cli : new : clean operation artefact on Ctrl-C interruption
Yann Collet92889702017-09-18 13:41:54 -0700393cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
Yann Collet7e00df42017-10-02 16:27:25 -0700394cli : fix : write file size in header in multiple-files mode
395api : added macro ZSTD_COMPRESSBOUND() for static allocation
396api : experimental : new advanced decompression API
397api : fix : sizeof_CCtx() used to over-estimate
Yann Collet0d6ecc72017-09-11 14:09:34 -0700398build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
Yann Collet90238982017-08-30 17:44:12 -0700399build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
Yann Collet7e00df42017-10-02 16:27:25 -0700400example : added streaming_memory_usage
401license : changed /examples license to BSD + GPLv2
402license : fix a few header files to reflect new license (#825)
Yann Collet90238982017-08-30 17:44:12 -0700403
animalizee1fd4fd2020-12-14 10:27:35 +0800404v1.3.1 (Aug 21, 2017)
Yann Collet4912fc22017-08-20 11:45:58 -0700405New license : BSD + GPLv2
406perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
Yann Collet6733c072017-07-13 15:34:44 -0700407perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
Yann Colletc523c932017-08-18 15:57:53 -0700408cli : improved and fixed --list command, by @ib (#772)
Yann Collet4912fc22017-08-20 11:45:58 -0700409cli : command -vV to list supported formats, by @ib (#771)
410build : fixed binary variants, reported by @svenha (#788)
411build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
Yann Collet8ef666c2017-07-12 14:23:34 -0700412API exp : breaking change : ZSTD_getframeHeader() provides more information
Yann Collet2bd64402017-07-13 17:12:16 -0700413API exp : breaking change : pinned down values of error codes
Yann Collet4912fc22017-08-20 11:45:58 -0700414doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
415new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
416new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
417updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
Yann Collet40156a42017-07-08 04:55:09 -0700418
animalizee1fd4fd2020-12-14 10:27:35 +0800419v1.3.0 (Jul 6, 2017)
Yann Collet224e7a12017-06-21 15:58:36 -0700420cli : new : `--list` command, by Paul Cruz
Yann Colletacbef3d2017-06-29 05:18:09 -0700421cli : changed : xz/lzma support enabled by default
Yann Collet224e7a12017-06-21 15:58:36 -0700422cli : changed : `-t *` continue processing list after a decompression error
Yann Collet01743a32017-06-16 17:56:41 -0700423API : added : ZSTD_versionString()
Yann Colletacbef3d2017-06-29 05:18:09 -0700424API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
Yann Collet86bd83e2017-06-02 17:43:55 -0700425API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
426API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
427API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
Yann Colletacbef3d2017-06-29 05:18:09 -0700428API exp : clarified memory estimation / measurement functions.
Yann Collet224e7a12017-06-21 15:58:36 -0700429API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
Yann Colletacbef3d2017-06-29 05:18:09 -0700430tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
Yann Collet257a7222017-06-02 17:35:11 -0700431new : contrib/seekable_format, demo and API, by Sean Purcell
432changed : contrib/linux-kernel, updated version and license, by Nick Terrell
433
animalizee1fd4fd2020-12-14 10:27:35 +0800434v1.2.0 (May 5, 2017)
Yann Collet5a804452017-04-27 12:49:22 -0700435cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
436cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
437cli : new : zstdmt symlink hardwired to `zstd -T0`
Yann Collet7bd68e12017-04-28 08:54:13 -0700438cli : new : command --threads=# (#671)
Yann Collet7aada3c2017-05-02 12:14:12 -0700439cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
440cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
Yann Colletc08e5682017-05-03 14:32:33 -0700441cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
Yann Collet5a804452017-04-27 12:49:22 -0700442cli : fix : does not output compressed data on console
443cli : fix : ignore symbolic links unless --force specified,
444API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
Yann Collet68a7d3d2017-04-28 12:46:48 -0700445API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
Yann Collet5a804452017-04-27 12:49:22 -0700446API : improved: ZSTDMT_compressCCtx() reduced memory usage
447API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
448API : fix : src size stored in frame header is controlled at end of frame
Yann Collet7aada3c2017-05-02 12:14:12 -0700449API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
450API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
Yann Colletf3dfcdc2017-03-21 12:18:28 -0700451build: improved cmake script, by @Majlen
Yann Collet5a804452017-04-27 12:49:22 -0700452build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
453tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
454new : contrib/linux-kernel version, by Nick Terrell
Yann Colletf3dfcdc2017-03-21 12:18:28 -0700455
animalizee1fd4fd2020-12-14 10:27:35 +0800456v1.1.4 (Mar 18, 2017)
Yann Colletc09d16b2017-02-14 10:45:19 -0800457cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
458cli : new : advanced benchmark command --priority=rt
Yann Collet58af6142017-02-13 18:32:12 -0800459cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
Yann Colletdccd6b62017-02-27 15:57:50 -0800460cli : fix : --rm remains silent when input is stdin
Yann Collet7ae30392017-03-14 04:19:51 -0700461cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
Yann Collet43764cd2017-02-28 17:44:17 -0800462speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
Yann Collet5a804452017-04-27 12:49:22 -0700463memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
464arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
Yann Collete02409f2017-03-02 17:14:57 -0800465API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
Yann Collet7ae30392017-03-14 04:19:51 -0700466API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
Yann Collet5a804452017-04-27 12:49:22 -0700467build : new: meson build system in contrib/meson, by Dima Krasner
468build : improved cmake script, by @Majlen
469build : added -Wformat-security flag, as recommended by Padraig Brady
Yann Collet58af6142017-02-13 18:32:12 -0800470doc : new : educational decoder, by Sean Purcell
471
animalizee1fd4fd2020-12-14 10:27:35 +0800472v1.1.3 (Feb 7, 2017)
Yann Collet5962e582017-02-05 18:09:35 -0800473cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
Yann Collet122b6aa2017-01-27 03:22:37 -0800474cli : new : experimental target `make zstdmt`, with multi-threading support
Yann Collet00ea51f2017-02-07 12:05:28 -0800475cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
Yann Colletd76d1a92016-12-22 20:18:43 +0100476cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
Yann Colletaca113f2016-12-23 22:25:03 +0100477cli : fix zstdless on Mac OS-X, by Andrew Janke
Yann Collet122b6aa2017-01-27 03:22:37 -0800478cli : fix #232 "compress non-files"
Yann Collet8e44bd82017-01-17 13:15:25 -0800479dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
Yann Collet122b6aa2017-01-27 03:22:37 -0800480API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
Yann Collet4e5eea62016-12-21 16:44:35 +0100481API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
Yann Colletd76d1a92016-12-22 20:18:43 +0100482API : new : ZDICT_finalizeDictionary()
Yann Collet122b6aa2017-01-27 03:22:37 -0800483API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
484API : fix : all symbols properly exposed in libzstd, by Nick Terrell
485build : support for Solaris target, by Przemyslaw Skibinski
Yann Collet816edeb2017-02-06 17:39:54 -0800486doc : clarified specification, by Sean Purcell
Yann Colletd46ecb52016-12-17 16:28:12 +0100487
animalizee1fd4fd2020-12-14 10:27:35 +0800488v1.1.2 (Dec 15, 2016)
Yann Colletb23420f2016-12-13 19:47:17 +0100489API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
490API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
Yann Collet08698532016-12-13 11:45:19 +0100491API : zbuff : changed : prototypes now generate deprecation warnings
492lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
493lib : changed : only public ZSTD_ symbols are now exposed
494lib : changed : reduced usage of stack memory
495lib : fixed : several corner case bugs, by Nick Terrell
Yann Collet743b33f2016-12-02 15:18:57 -0800496cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
497cli : new : preserve file attributes
Yann Collet9ffbeea2016-12-02 18:37:38 -0800498cli : new : added zstdless and zstdgrep tools
Yann Collet22383122016-12-02 11:36:11 -0800499cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
Yann Collet743b33f2016-12-02 15:18:57 -0800500cli : fixed : zstdcat
Yann Collete7a41a52016-12-05 16:21:06 -0800501zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
Yann Collet08698532016-12-13 11:45:19 +0100502install : better compatibility with FreeBSD, by Dimitry Andric
503source tree : changed : zbuff source files moved to lib/deprecated
Yann Collet0018ca22016-11-07 14:41:21 -0800504
animalizee1fd4fd2020-12-14 10:27:35 +0800505v1.1.1 (Nov 2, 2016)
Yann Collet2b361cf2016-10-14 16:03:34 -0700506New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
Yann Collet37d13002016-10-24 17:22:12 -0700507New : doc/zstd_manual.html, by Przemyslaw Skibinski
Yann Collet95162342016-10-25 16:19:52 -0700508Improved : slightly better compression ratio at --ultra levels (>= 20)
Yann Collet4c0b44f2016-11-01 11:13:22 -0700509Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
510Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
511Added : example/multiple_streaming_compression.c
512Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
Yann Collet22de81e2016-10-28 13:58:31 -0700513Updated man page
Yann Collet37d13002016-10-24 17:22:12 -0700514Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
Yann Collete405c7a2016-10-12 15:29:22 -0700515
animalizee1fd4fd2020-12-14 10:27:35 +0800516v1.1.0 (Sep 28, 2016)
Yann Collet1563bfe2016-09-02 11:44:21 -0700517New : contrib/pzstd, parallel version of zstd, by Nick Terrell
Yann Colleta4c212c2016-09-05 08:06:33 -0700518added : NetBSD install target (#338)
Yann Collet83543a72016-09-28 00:15:03 +0200519Improved : speed for batches of small files
520Improved : speed of zlib wrapper, by Przemyslaw Skibinski
521Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
Yann Collet7304eb72016-09-01 15:47:33 -0700522Fixed : CLI -d output to stdout by default when input is stdin (#322)
Yann Collet60181e32016-09-01 17:12:26 -0700523Fixed : CLI correctly detects console on Mac OS-X
Yann Collet220c5672016-09-13 19:40:50 +0200524Fixed : CLI supports recursive mode `-r` on Mac OS-X
525Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
Yann Collet855766d2016-09-02 17:04:49 -0700526Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
Yann Collet30d30562016-09-13 17:23:31 +0200527Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
Yann Collet1563bfe2016-09-02 11:44:21 -0700528Fixed : zstd-pgo, reported by octoploid (#329)
Yann Collet7304eb72016-09-01 15:47:33 -0700529
animalizee1fd4fd2020-12-14 10:27:35 +0800530v1.0.0 (Sep 1, 2016)
Yann Collet0588ee62016-08-31 09:05:22 -0700531Change Licensing, all project is now BSD, Copyright Facebook
Yann Collet8baf78a2016-08-20 03:47:49 +0200532Small decompression speed improvement
Yann Collet0588ee62016-08-31 09:05:22 -0700533API : Streaming API supports legacy format
Josh Sorefa880ca22019-04-12 14:18:11 -0400534API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter()
Yann Collet0588ee62016-08-31 09:05:22 -0700535CLI supports legacy formats v0.4+
536Fixed : compression fails on certain huge files, reported by Jesse McGrew
Yann Collet94376ac2016-08-25 19:09:21 +0200537Enhanced documentation, by Przemyslaw Skibinski
Yann Collet8baf78a2016-08-20 03:47:49 +0200538
animalizee1fd4fd2020-12-14 10:27:35 +0800539v0.8.1 (Aug 18, 2016)
Yann Collet655393c2016-08-14 00:16:20 +0200540New streaming API
Yann Colletfe0590f2016-08-12 18:04:15 +0200541Changed : --ultra now enables levels beyond 19
Yann Collet346efcc2016-08-02 14:26:00 +0200542Changed : -i# now selects benchmark time in second
543Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
Yann Colletfe0590f2016-08-12 18:04:15 +0200544Fixed : speed regression on specific patterns (#272)
Yann Colletb3950ee2016-08-16 15:10:30 +0200545Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
Yann Collet79d9cdd2016-08-18 11:50:37 +0200546Fixed : ICC compilation, by Przemyslaw Skibinski
Yann Collet346efcc2016-08-02 14:26:00 +0200547
animalizee1fd4fd2020-12-14 10:27:35 +0800548v0.8.0 (Aug 2, 2016)
Yann Colletdd25a272016-07-27 12:35:29 +0200549Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
Yann Collet8f29e8e2016-07-31 02:43:17 +0200550New : Build on FreeBSD and DragonFly, thanks to JrMarino
Yann Collet62470b42016-07-28 15:29:08 +0200551Changed : modified API : ZSTD_compressEnd()
Yann Colletd5c5a772016-07-19 15:06:55 +0200552Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
Yann Collet24a3d902016-07-26 01:26:56 +0200553Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
Yann Collet3ca75032016-08-01 02:26:20 +0200554Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
Yann Collet6fa05a22016-07-20 14:58:49 +0200555Fixed : checksum correctly checked in single-pass mode
Yann Collet24a3d902016-07-26 01:26:56 +0200556Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
Yann Collet85f39192016-07-17 20:42:21 +0200557Modified : minor compression level adaptations
Yann Collet6fa05a22016-07-20 14:58:49 +0200558Updated : compression format specification to v0.2.0
Yann Collet356e5e22016-07-18 03:14:58 +0200559changed : zstd.h moved to /lib directory
Yann Colletd54b2d22016-07-17 15:53:18 +0200560
animalizee1fd4fd2020-12-14 10:27:35 +0800561v0.7.5 (Aug 1, 2016)
Yann Colletef9999f2016-09-01 16:44:48 -0700562Transition version, supporting decoding of v0.8.x
563
animalizee1fd4fd2020-12-14 10:27:35 +0800564v0.7.4 (Jul 17, 2016)
Yann Colletd5c5a772016-07-19 15:06:55 +0200565Added : homebrew for Mac, by Daniel Cade
Yann Collet3b8b5752016-07-16 20:04:47 +0200566Added : more examples
Yann Collet227cc392016-07-15 11:27:09 +0200567Fixed : segfault when using small dictionaries, reported by Felix Handte
Yann Collet3b8b5752016-07-16 20:04:47 +0200568Modified : default compression level for CLI is now 3
569Updated : specification, to v0.1.1
Yann Colletea2ecdc2016-07-14 22:43:12 +0200570
animalizee1fd4fd2020-12-14 10:27:35 +0800571v0.7.3 (Jul 9, 2016)
Yann Colletd4e103a2016-07-08 19:18:30 +0200572New : compression format specification
Yann Collet19c27d22016-07-07 14:40:13 +0200573New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
574New : `ZSTD_getDecompressedSize()`
575New : OpenBSD target, by Juan Francisco Cantero Hurtado
576New : `examples` directory
Yann Colleta295b312016-07-06 13:13:12 +0200577fixed : dictBuilder using HC levels, reported by Bartosz Taudul
Yann Colletf246cf52016-07-06 20:30:52 +0200578fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
Yann Colletd4e103a2016-07-08 19:18:30 +0200579fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
Yann Collet19c27d22016-07-07 14:40:13 +0200580modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
581modified : legacy functions no longer need magic number
Yann Colletd916c902016-07-04 00:42:58 +0200582
animalizee1fd4fd2020-12-14 10:27:35 +0800583v0.7.2 (Jul 4, 2016)
Yann Collet00d44ab2016-07-04 01:29:47 +0200584fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
Yann Colletd96e8f22016-07-02 22:03:08 +0200585fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
586fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
Yann Collet529d9c72016-06-27 10:03:10 +0200587
animalizee1fd4fd2020-12-14 10:27:35 +0800588v0.7.1 (Jun 23, 2016)
Yann Colletaa292262016-06-21 14:04:57 +0200589fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
Yann Collet3755eb82016-06-22 13:15:53 +0200590fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
Yann Colleta436a522016-06-20 23:34:04 +0200591fixed : corruption issue, reported by cj
592modified : checksum enabled by default in command line mode
Yann Colletc98f8e72016-06-20 16:31:24 +0200593
animalizee1fd4fd2020-12-14 10:27:35 +0800594v0.7.0 (Jun 17, 2016)
Yann Colletdd97e242016-05-30 14:05:44 +0200595New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
Yann Colletb09b12c2016-06-09 22:59:51 +0200596New : Command `--rm`, to remove source file after successful de/compression
Yann Collet662a5412016-06-08 11:11:02 +0200597New : Visual build scripts, by Christophe Chevalier
Yann Colletde95f962016-05-23 19:46:47 +0200598New : Support for Sparse File-systems (do not use space for zero-filled sectors)
Yann Collet0d311602016-06-04 00:09:02 +0200599New : Frame checksum support
Yann Collete3f4e6c2016-05-31 10:12:04 +0200600New : Support pass-through mode (when using `-df`)
Yann Collet4948f272016-06-16 15:38:51 +0200601API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
602API : create dictionary files from custom content, by Giuseppe Ottaviano
603API : support for custom malloc/free functions
Yann Collete3f4e6c2016-05-31 10:12:04 +0200604New : controllable Dictionary ID
Yann Collet0d311602016-06-04 00:09:02 +0200605New : Support for skippable frames
Yann Colletde95f962016-05-23 19:46:47 +0200606
animalizee1fd4fd2020-12-14 10:27:35 +0800607v0.6.1 (May 13, 2016)
Yann Collete6aa23b2016-05-13 11:29:38 +0200608New : zlib wrapper API, thanks to Przemyslaw Skibinski
Yann Colletd9b3cca2016-05-13 12:43:36 +0200609New : Ability to compile compressor / decompressor separately
610Changed : new lib directory structure
Yann Colletf6ca09b2016-05-09 04:44:45 +0200611Fixed : Legacy codec v0.5 compatible with dictionary decompression
612Fixed : Decoder corruption error (#173)
Yann Collet918b9342016-05-10 07:00:07 +0200613Fixed : null-string roundtrip (#176)
Yann Collete6aa23b2016-05-13 11:29:38 +0200614New : benchmark mode can select directory as input
Yann Colletd9b3cca2016-05-13 12:43:36 +0200615Experimental : midipix support, VMS support
Yann Colletf6ca09b2016-05-09 04:44:45 +0200616
animalizee1fd4fd2020-12-14 10:27:35 +0800617v0.6.0 (Apr 13, 2016)
Yann Collet6cb41352016-03-15 15:47:38 +0100618Stronger high compression modes, thanks to Przemyslaw Skibinski
619API : ZSTD_getFrameParams() provides size of decompressed content
Yann Collet34b20ec2016-03-15 20:47:23 +0100620New : highest compression modes require `--ultra` command to fully unleash their capacity
Yann Colletfbc40b82016-03-16 16:53:47 +0100621Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
Yann Collet6cb41352016-03-15 15:47:38 +0100622
animalizee1fd4fd2020-12-14 10:27:35 +0800623v0.5.1 (Feb 18, 2016)
Yann Collet0db41152016-02-10 14:50:22 +0100624New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
Yann Collet459a6b72016-02-15 20:37:23 +0100625Changed : Dictionary builder integrated into libzstd and zstd cli
Yann Collet4c64d512016-02-18 01:01:42 +0100626Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
Yann Collet459a6b72016-02-15 20:37:23 +0100627Fix : high compression modes for big-endian platforms
Yann Collet2d08b092016-02-16 14:42:08 +0100628New : zstd cli : `-t` | `--test` command
Yann Collet0db41152016-02-10 14:50:22 +0100629
animalizee1fd4fd2020-12-14 10:27:35 +0800630v0.5.0 (Feb 5, 2016)
Yann Collete618f8e2016-01-28 00:29:58 +0100631New : dictionary builder utility
Yann Colletfd416f12016-01-30 03:14:15 +0100632Changed : streaming & dictionary API
Yann Collet45ff4302016-02-05 15:24:57 +0100633Improved : better compression of small data
Yann Colletfb810d62016-01-28 00:18:06 +0100634
animalizee1fd4fd2020-12-14 10:27:35 +0800635v0.4.7 (Jan 22, 2016)
Yann Collet223f6332016-01-21 13:33:05 +0100636Improved : small compression speed improvement in HC mode
637Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
638fix : bt search bug
639
animalizee1fd4fd2020-12-14 10:27:35 +0800640v0.4.6 (Jan 13, 2016)
Yann Collet5f9f9872015-12-30 19:52:08 +0100641fix : fast compression mode on Windows
Yann Collet3e5b73b2016-01-10 20:46:20 +0100642New : cmake configuration file, thanks to Artyom Dymchenko
Yann Collet5f9f9872015-12-30 19:52:08 +0100643Improved : high compression mode on repetitive data
Yann Colletbf42c8e2016-01-09 01:08:23 +0100644New : block-level API
645New : ZSTD_duplicateCCtx()
Yann Collet5f9f9872015-12-30 19:52:08 +0100646
animalizee1fd4fd2020-12-14 10:27:35 +0800647v0.4.5 (Dec 18, 2015)
Yann Colletdeb078b2015-12-17 20:30:14 +0100648new : -m/--multiple : compress/decompress multiple files
649
animalizee1fd4fd2020-12-14 10:27:35 +0800650v0.4.4 (Dec 14, 2015)
Yann Collet6c3e2e72015-12-11 10:44:07 +0100651Fixed : high compression modes for Windows 32 bits
Yann Colletf6f3d752015-12-13 13:35:21 +0100652new : external dictionary API extended to buffered mode and accessible through command line
Yann Collet7b7027f2015-12-10 23:53:21 +0100653new : windows DLL project, thanks to Christophe Chevalier
654
animalizee1fd4fd2020-12-14 10:27:35 +0800655v0.4.3 (Dec 7, 2015)
Yann Collet417890c2015-12-04 17:16:37 +0100656new : external dictionary API
Yann Collet56005e72015-12-07 10:44:25 +0100657new : zstd-frugal
Yann Collet28e7cef2015-12-03 12:11:30 +0100658
animalizee1fd4fd2020-12-14 10:27:35 +0800659v0.4.2 (Dec 2, 2015)
Yann Colletaaf6f202015-12-02 15:03:11 +0100660Generic minor improvements for small blocks
661Fixed : big-endian compatibility, by Peter Harris (#85)
662
animalizee1fd4fd2020-12-14 10:27:35 +0800663v0.4.1 (Dec 1, 2015)
Yann Collet44287a32015-11-30 23:13:56 +0100664Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
Yann Colletdaa1c652015-11-30 12:25:48 +0100665removed `zstd.c`
Yann Colleta85a8dd2015-11-30 11:53:11 +0100666
animalizee1fd4fd2020-12-14 10:27:35 +0800667v0.4.0 (Nov 29, 2015)
Yann Colletdd97e242016-05-30 14:05:44 +0200668Command line utility compatible with high compression levels
Yann Collet7f6e91f2015-11-11 14:39:50 +0100669Removed zstdhc => merged into zstd
Yann Collet88fcd292015-11-25 14:42:45 +0100670Added : ZBUFF API (see zstd_buffered.h)
Yann Collet5b78d2f2015-11-12 15:36:05 +0100671Rolling buffer support
Yann Collet7f6e91f2015-11-11 14:39:50 +0100672
animalizee1fd4fd2020-12-14 10:27:35 +0800673v0.3.6 (Nov 10, 2015)
Yann Collet43e0cd52015-11-09 16:38:17 +0100674small blocks params
675
animalizee1fd4fd2020-12-14 10:27:35 +0800676v0.3.5 (Nov 9, 2015)
Yann Colletf48e35c2015-11-07 01:13:31 +0100677minor generic compression improvements
678
animalizee1fd4fd2020-12-14 10:27:35 +0800679v0.3.4 (Nov 6, 2015)
Yann Colletacd222c2015-11-06 12:39:39 +0100680Faster fast cLevels
Yann Colletf12c1302015-11-05 18:16:59 +0100681
animalizee1fd4fd2020-12-14 10:27:35 +0800682v0.3.3 (Nov 5, 2015)
Yann Collet35644872015-11-02 16:14:46 +0100683Small compression ratio improvement
684
animalizee1fd4fd2020-12-14 10:27:35 +0800685v0.3.2 (Nov 2, 2015)
Yann Collet7671f392015-11-02 12:17:39 +0100686Fixed Visual Studio
687
animalizee1fd4fd2020-12-14 10:27:35 +0800688v0.3.1 (Nov 2, 2015)
Yann Collet66d22b82015-11-02 02:36:10 +0100689Small compression ratio improvement
690
animalizee1fd4fd2020-12-14 10:27:35 +0800691v0.3 (Oct 30, 2015)
Yann Colletc776c462015-10-29 19:10:54 +0100692HC mode : compression levels 2-26
693
animalizee1fd4fd2020-12-14 10:27:35 +0800694v0.2.2 (Oct 28, 2015)
Yann Collet1077bb82015-10-28 12:32:25 +0100695Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
696
animalizee1fd4fd2020-12-14 10:27:35 +0800697v0.2.1 (Oct 24, 2015)
Yann Colletdd97e242016-05-30 14:05:44 +0200698Fix : Read errors, advanced fuzzer tests, by Hanno Böck
Yann Collet1077bb82015-10-28 12:32:25 +0100699
animalizee1fd4fd2020-12-14 10:27:35 +0800700v0.2.0 (Oct 22, 2015)
Yann Colleta3befd32015-10-21 11:13:31 +0100701**Breaking format change**
702Faster decompression speed
703Can still decode v0.1 format
704
animalizee1fd4fd2020-12-14 10:27:35 +0800705v0.1.3 (Oct 15, 2015)
Yann Colleta3befd32015-10-21 11:13:31 +0100706fix uninitialization warning, reported by Evan Nemerson
707
animalizee1fd4fd2020-12-14 10:27:35 +0800708v0.1.2 (Sep 11, 2015)
Yann Colleta3befd32015-10-21 11:13:31 +0100709frame concatenation support
Yann Collet5abd8202015-08-27 03:16:04 +0100710
animalizee1fd4fd2020-12-14 10:27:35 +0800711v0.1.1 (Aug 27, 2015)
Yann Collet5abd8202015-08-27 03:16:04 +0100712fix compression bug
713detects write-flush errors
Yann Collet33a04652016-09-02 22:11:49 -0700714
animalizee1fd4fd2020-12-14 10:27:35 +0800715v0.1.0 (Aug 25, 2015)
Yann Collet5abd8202015-08-27 03:16:04 +0100716first release