]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/zstd/NEWS
Import zstandard 1.3.1
[FreeBSD/FreeBSD.git] / contrib / zstd / NEWS
1 v1.3.1
2 New license : BSD + GPLv2
3 perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
4 perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
5 cli : improved and fixed --list command, by @ib (#772)
6 cli : command -vV to list supported formats, by @ib (#771)
7 build : fixed binary variants, reported by @svenha (#788)
8 build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
9 API exp : breaking change : ZSTD_getframeHeader() provides more information
10 API exp : breaking change : pinned down values of error codes
11 doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
12 new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
13 new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
14 updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
15
16 v1.3.0
17 cli : new : `--list` command, by Paul Cruz
18 cli : changed : xz/lzma support enabled by default
19 cli : changed : `-t *` continue processing list after a decompression error
20 API : added : ZSTD_versionString()
21 API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
22 API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
23 API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
24 API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
25 API exp : clarified memory estimation / measurement functions.
26 API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
27 tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
28 new : contrib/seekable_format, demo and API, by Sean Purcell
29 changed : contrib/linux-kernel, updated version and license, by Nick Terrell
30
31 v1.2.0
32 cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
33 cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
34 cli : new : zstdmt symlink hardwired to `zstd -T0`
35 cli : new : command --threads=# (#671)
36 cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
37 cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
38 cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
39 cli : fix : does not output compressed data on console
40 cli : fix : ignore symbolic links unless --force specified,
41 API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
42 API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
43 API : improved: ZSTDMT_compressCCtx() reduced memory usage
44 API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
45 API : fix : src size stored in frame header is controlled at end of frame
46 API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
47 API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
48 build: improved cmake script, by @Majlen
49 build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
50 tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
51 new : contrib/linux-kernel version, by Nick Terrell
52
53 v1.1.4
54 cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
55 cli : new : advanced benchmark command --priority=rt
56 cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
57 cli : fix : --rm remains silent when input is stdin
58 cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
59 speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
60 memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
61 arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
62 API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
63 API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
64 build : new: meson build system in contrib/meson, by Dima Krasner
65 build : improved cmake script, by @Majlen
66 build : added -Wformat-security flag, as recommended by Padraig Brady
67 doc : new : educational decoder, by Sean Purcell
68
69 v1.1.3
70 cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
71 cli : new : experimental target `make zstdmt`, with multi-threading support
72 cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
73 cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
74 cli : fix zstdless on Mac OS-X, by Andrew Janke
75 cli : fix #232 "compress non-files"
76 dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
77 API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
78 API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
79 API : new : ZDICT_finalizeDictionary()
80 API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
81 API : fix : all symbols properly exposed in libzstd, by Nick Terrell
82 build : support for Solaris target, by Przemyslaw Skibinski
83 doc : clarified specification, by Sean Purcell
84
85 v1.1.2
86 API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
87 API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
88 API : zbuff : changed : prototypes now generate deprecation warnings
89 lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
90 lib : changed : only public ZSTD_ symbols are now exposed
91 lib : changed : reduced usage  of stack memory
92 lib : fixed : several corner case bugs, by Nick Terrell
93 cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
94 cli : new : preserve file attributes
95 cli : new : added zstdless and zstdgrep tools
96 cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
97 cli : fixed : zstdcat
98 zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
99 install : better compatibility with FreeBSD, by Dimitry Andric
100 source tree : changed : zbuff source files moved to lib/deprecated
101
102 v1.1.1
103 New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
104 New : doc/zstd_manual.html, by Przemyslaw Skibinski
105 Improved : slightly better compression ratio at --ultra levels (>= 20)
106 Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
107 Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
108 Added : example/multiple_streaming_compression.c
109 Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
110 Updated man page
111 Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
112
113 v1.1.0
114 New : contrib/pzstd, parallel version of zstd, by Nick Terrell
115 added : NetBSD install target (#338)
116 Improved : speed for batches of small files
117 Improved : speed of zlib wrapper, by Przemyslaw Skibinski
118 Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
119 Fixed : CLI -d output to stdout by default when input is stdin (#322)
120 Fixed : CLI correctly detects console on Mac OS-X
121 Fixed : CLI supports recursive mode `-r` on Mac OS-X
122 Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
123 Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
124 Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
125 Fixed : zstd-pgo, reported by octoploid (#329)
126
127 v1.0.0
128 Change Licensing, all project is now BSD, Copyright Facebook
129 Small decompression speed improvement
130 API : Streaming API supports legacy format
131 API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParamter()
132 CLI supports legacy formats v0.4+
133 Fixed : compression fails on certain huge files, reported by Jesse McGrew
134 Enhanced documentation, by Przemyslaw Skibinski
135
136 v0.8.1
137 New streaming API
138 Changed : --ultra now enables levels beyond 19
139 Changed : -i# now selects benchmark time in second
140 Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
141 Fixed : speed regression on specific patterns (#272)
142 Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
143 Fixed : ICC compilation, by Przemyslaw Skibinski
144
145 v0.8.0
146 Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
147 New : Build on FreeBSD and DragonFly, thanks to JrMarino
148 Changed : modified API : ZSTD_compressEnd()
149 Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
150 Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
151 Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
152 Fixed : checksum correctly checked in single-pass mode
153 Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
154 Modified : minor compression level adaptations
155 Updated : compression format specification to v0.2.0
156 changed : zstd.h moved to /lib directory
157
158 v0.7.5
159 Transition version, supporting decoding of v0.8.x
160
161 v0.7.4
162 Added : homebrew for Mac, by Daniel Cade
163 Added : more examples
164 Fixed : segfault when using small dictionaries, reported by Felix Handte
165 Modified : default compression level for CLI is now 3
166 Updated : specification, to v0.1.1
167
168 v0.7.3
169 New : compression format specification
170 New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
171 New : `ZSTD_getDecompressedSize()`
172 New : OpenBSD target, by Juan Francisco Cantero Hurtado
173 New : `examples` directory
174 fixed : dictBuilder using HC levels, reported by Bartosz Taudul
175 fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
176 fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
177 modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
178 modified : legacy functions no longer need magic number
179
180 v0.7.2
181 fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
182 fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
183 fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
184
185 v0.7.1
186 fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
187 fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
188 fixed : corruption issue, reported by cj
189 modified : checksum enabled by default in command line mode
190
191 v0.7.0
192 New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
193 New : Command `--rm`, to remove source file after successful de/compression
194 New : Visual build scripts, by Christophe Chevalier
195 New : Support for Sparse File-systems (do not use space for zero-filled sectors)
196 New : Frame checksum support
197 New : Support pass-through mode (when using `-df`)
198 API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
199 API : create dictionary files from custom content, by Giuseppe Ottaviano
200 API : support for custom malloc/free functions
201 New : controllable Dictionary ID
202 New : Support for skippable frames
203
204 v0.6.1
205 New : zlib wrapper API, thanks to Przemyslaw Skibinski
206 New : Ability to compile compressor / decompressor separately
207 Changed : new lib directory structure
208 Fixed : Legacy codec v0.5 compatible with dictionary decompression
209 Fixed : Decoder corruption error (#173)
210 Fixed : null-string roundtrip (#176)
211 New : benchmark mode can select directory as input
212 Experimental : midipix support, VMS support
213
214 v0.6.0
215 Stronger high compression modes, thanks to Przemyslaw Skibinski
216 API : ZSTD_getFrameParams() provides size of decompressed content
217 New : highest compression modes require `--ultra` command to fully unleash their capacity
218 Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
219
220 v0.5.1
221 New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
222 Changed : Dictionary builder integrated into libzstd and zstd cli
223 Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
224 Fix : high compression modes for big-endian platforms
225 New : zstd cli : `-t` | `--test` command
226
227 v0.5.0
228 New : dictionary builder utility
229 Changed : streaming & dictionary API
230 Improved : better compression of small data
231
232 v0.4.7
233 Improved : small compression speed improvement in HC mode
234 Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
235 fix : bt search bug
236
237 v0.4.6
238 fix : fast compression mode on Windows
239 New : cmake configuration file, thanks to Artyom Dymchenko
240 Improved : high compression mode on repetitive data
241 New : block-level API
242 New : ZSTD_duplicateCCtx()
243
244 v0.4.5
245 new : -m/--multiple : compress/decompress multiple files
246
247 v0.4.4
248 Fixed : high compression modes for Windows 32 bits
249 new : external dictionary API extended to buffered mode and accessible through command line
250 new : windows DLL project, thanks to Christophe Chevalier
251
252 v0.4.3 :
253 new : external dictionary API
254 new : zstd-frugal
255
256 v0.4.2 :
257 Generic minor improvements for small blocks
258 Fixed : big-endian compatibility, by Peter Harris (#85)
259
260 v0.4.1
261 Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
262 removed `zstd.c`
263
264 v0.4.0
265 Command line utility compatible with high compression levels
266 Removed zstdhc => merged into zstd
267 Added : ZBUFF API (see zstd_buffered.h)
268 Rolling buffer support
269
270 v0.3.6
271 small blocks params
272
273 v0.3.5
274 minor generic compression improvements
275
276 v0.3.4
277 Faster fast cLevels
278
279 v0.3.3
280 Small compression ratio improvement
281
282 v0.3.2
283 Fixed Visual Studio
284
285 v0.3.1 :
286 Small compression ratio improvement
287
288 v0.3
289 HC mode : compression levels 2-26
290
291 v0.2.2
292 Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
293
294 v0.2.1
295 Fix : Read errors, advanced fuzzer tests, by Hanno Böck
296
297 v0.2.0
298 **Breaking format change**
299 Faster decompression speed
300 Can still decode v0.1 format
301
302 v0.1.3
303 fix uninitialization warning, reported by Evan Nemerson
304
305 v0.1.2
306 frame concatenation support
307
308 v0.1.1
309 fix compression bug
310 detects write-flush errors
311
312 v0.1.0
313 first release