2 cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
3 cli : new : advanced benchmark command --priority=rt
4 cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
5 cli : fix : --rm remains silent when input is stdin
6 cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
7 speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
8 memory : DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
9 arch : 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
10 API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
11 API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
12 build: new: meson build system in contrib/meson, by Dima Krasner
13 build: improved cmake script, by @Majlen
14 build: added -Wformat-security flag, as recommended by Padraig Brady
15 doc : new : educational decoder, by Sean Purcell
18 cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
19 cli : new : experimental target `make zstdmt`, with multi-threading support
20 cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
21 cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
22 cli : fix zstdless on Mac OS-X, by Andrew Janke
23 cli : fix #232 "compress non-files"
24 dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
25 API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
26 API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
27 API : new : ZDICT_finalizeDictionary()
28 API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
29 API : fix : all symbols properly exposed in libzstd, by Nick Terrell
30 build : support for Solaris target, by Przemyslaw Skibinski
31 doc : clarified specification, by Sean Purcell
34 API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
35 API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
36 API : zbuff : changed : prototypes now generate deprecation warnings
37 lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
38 lib : changed : only public ZSTD_ symbols are now exposed
39 lib : changed : reduced usage of stack memory
40 lib : fixed : several corner case bugs, by Nick Terrell
41 cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
42 cli : new : preserve file attributes
43 cli : new : added zstdless and zstdgrep tools
44 cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
46 zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
47 install : better compatibility with FreeBSD, by Dimitry Andric
48 source tree : changed : zbuff source files moved to lib/deprecated
51 New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
52 New : doc/zstd_manual.html, by Przemyslaw Skibinski
53 Improved : slightly better compression ratio at --ultra levels (>= 20)
54 Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
55 Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
56 Added : example/multiple_streaming_compression.c
57 Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
59 Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
62 New : contrib/pzstd, parallel version of zstd, by Nick Terrell
63 added : NetBSD install target (#338)
64 Improved : speed for batches of small files
65 Improved : speed of zlib wrapper, by Przemyslaw Skibinski
66 Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
67 Fixed : CLI -d output to stdout by default when input is stdin (#322)
68 Fixed : CLI correctly detects console on Mac OS-X
69 Fixed : CLI supports recursive mode `-r` on Mac OS-X
70 Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
71 Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
72 Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
73 Fixed : zstd-pgo, reported by octoploid (#329)
76 Change Licensing, all project is now BSD, Copyright Facebook
77 Small decompression speed improvement
78 API : Streaming API supports legacy format
79 API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParamter()
80 CLI supports legacy formats v0.4+
81 Fixed : compression fails on certain huge files, reported by Jesse McGrew
82 Enhanced documentation, by Przemyslaw Skibinski
86 Changed : --ultra now enables levels beyond 19
87 Changed : -i# now selects benchmark time in second
88 Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
89 Fixed : speed regression on specific patterns (#272)
90 Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
91 Fixed : ICC compilation, by Przemyslaw Skibinski
94 Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
95 New : Build on FreeBSD and DragonFly, thanks to JrMarino
96 Changed : modified API : ZSTD_compressEnd()
97 Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
98 Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
99 Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
100 Fixed : checksum correctly checked in single-pass mode
101 Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
102 Modified : minor compression level adaptations
103 Updated : compression format specification to v0.2.0
104 changed : zstd.h moved to /lib directory
107 Transition version, supporting decoding of v0.8.x
110 Added : homebrew for Mac, by Daniel Cade
111 Added : more examples
112 Fixed : segfault when using small dictionaries, reported by Felix Handte
113 Modified : default compression level for CLI is now 3
114 Updated : specification, to v0.1.1
117 New : compression format specification
118 New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
119 New : `ZSTD_getDecompressedSize()`
120 New : OpenBSD target, by Juan Francisco Cantero Hurtado
121 New : `examples` directory
122 fixed : dictBuilder using HC levels, reported by Bartosz Taudul
123 fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
124 fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
125 modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
126 modified : legacy functions no longer need magic number
129 fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
130 fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
131 fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
134 fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
135 fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
136 fixed : corruption issue, reported by cj
137 modified : checksum enabled by default in command line mode
140 New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
141 New : Command `--rm`, to remove source file after successful de/compression
142 New : Visual build scripts, by Christophe Chevalier
143 New : Support for Sparse File-systems (do not use space for zero-filled sectors)
144 New : Frame checksum support
145 New : Support pass-through mode (when using `-df`)
146 API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
147 API : create dictionary files from custom content, by Giuseppe Ottaviano
148 API : support for custom malloc/free functions
149 New : controllable Dictionary ID
150 New : Support for skippable frames
153 New : zlib wrapper API, thanks to Przemyslaw Skibinski
154 New : Ability to compile compressor / decompressor separately
155 Changed : new lib directory structure
156 Fixed : Legacy codec v0.5 compatible with dictionary decompression
157 Fixed : Decoder corruption error (#173)
158 Fixed : null-string roundtrip (#176)
159 New : benchmark mode can select directory as input
160 Experimental : midipix support, VMS support
163 Stronger high compression modes, thanks to Przemyslaw Skibinski
164 API : ZSTD_getFrameParams() provides size of decompressed content
165 New : highest compression modes require `--ultra` command to fully unleash their capacity
166 Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
169 New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
170 Changed : Dictionary builder integrated into libzstd and zstd cli
171 Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
172 Fix : high compression modes for big-endian platforms
173 New : zstd cli : `-t` | `--test` command
176 New : dictionary builder utility
177 Changed : streaming & dictionary API
178 Improved : better compression of small data
181 Improved : small compression speed improvement in HC mode
182 Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
186 fix : fast compression mode on Windows
187 New : cmake configuration file, thanks to Artyom Dymchenko
188 Improved : high compression mode on repetitive data
189 New : block-level API
190 New : ZSTD_duplicateCCtx()
193 new : -m/--multiple : compress/decompress multiple files
196 Fixed : high compression modes for Windows 32 bits
197 new : external dictionary API extended to buffered mode and accessible through command line
198 new : windows DLL project, thanks to Christophe Chevalier
201 new : external dictionary API
205 Generic minor improvements for small blocks
206 Fixed : big-endian compatibility, by Peter Harris (#85)
209 Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
213 Command line utility compatible with high compression levels
214 Removed zstdhc => merged into zstd
215 Added : ZBUFF API (see zstd_buffered.h)
216 Rolling buffer support
222 minor generic compression improvements
228 Small compression ratio improvement
234 Small compression ratio improvement
237 HC mode : compression levels 2-26
240 Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
243 Fix : Read errors, advanced fuzzer tests, by Hanno Böck
246 **Breaking format change**
247 Faster decompression speed
248 Can still decode v0.1 format
251 fix uninitialization warning, reported by Evan Nemerson
254 frame concatenation support
258 detects write-flush errors