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