9e052883 |
1 | HISTORY of the LZMA SDK\r |
2 | -----------------------\r |
3 | \r |
4 | 21.07 2021-12-26\r |
5 | -------------------------\r |
6 | - New switches: -spm and -im!{file_path} to exclude directories from processing \r |
7 | for specified paths that don't contain path separator character at the end of path.\r |
8 | - The sorting order of files in archives was slightly changed to be more consistent\r |
9 | for cases where the name of some directory is the same as the prefix part of the name\r |
10 | of another directory or file.\r |
11 | \r |
12 | \r |
13 | 21.06 2021-11-24\r |
14 | -------------------------\r |
15 | - Bug in LZMA encoder in file LzmaEnc.c was fixed:\r |
16 | LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly, \r |
17 | if size value for output buffer is smaller than size required for all compressed data.\r |
18 | LzmaEnc_Encode() could work incorrectly,\r |
19 | if callback ISeqOutStream::Write() doesn't write all compressed data.\r |
20 | NCompress::NLzma::CEncoder::Code() could work incorrectly,\r |
21 | if callback ISequentialOutStream::Write() returns error code.\r |
22 | - Bug in versions 21.00-21.05 was fixed:\r |
23 | 7-Zip didn't set attributes of directories during archive extracting.\r |
24 | \r |
25 | \r |
26 | 21.04 beta 2021-11-02\r |
27 | -------------------------\r |
28 | - 7-Zip now reduces the number of working CPU threads for compression,\r |
29 | if RAM size is not enough for compression with big LZMA2 dictionary.\r |
30 | - 7-Zip now can create and check "file.sha256" text files that contain the list \r |
31 | of file names and SHA-256 checksums in format compatible with sha256sum program.\r |
32 | \r |
33 | \r |
34 | 21.03 beta 2021-07-20\r |
35 | -------------------------\r |
36 | - The maximum dictionary size for LZMA/LZMA2 compressing was increased to 4 GB (3840 MiB).\r |
37 | - Minor speed optimizations in LZMA/LZMA2 compressing.\r |
38 | \r |
39 | \r |
40 | 21.02 alpha 2021-05-06\r |
41 | -------------------------\r |
42 | - The command line version of 7-Zip for macOS was released.\r |
43 | - The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux \r |
44 | was increased by 20%-60%.\r |
45 | \r |
46 | \r |
47 | 21.01 alpha 2021-03-09\r |
48 | -------------------------\r |
49 | - The command line version of 7-Zip for Linux was released.\r |
50 | - The improvements for speed of ARM64 version using hardware CPU instructions \r |
51 | for AES, CRC-32, SHA-1 and SHA-256.\r |
52 | - Some bugs were fixed.\r |
53 | \r |
54 | \r |
55 | 20.02 alpha 2020-08-08\r |
56 | -------------------------\r |
57 | - The default number of LZMA2 chunks per solid block in 7z archive was increased to 64.\r |
58 | It allows to increase the compression speed for big 7z archives, if there is a big number \r |
59 | of CPU cores and threads.\r |
60 | - The speed of PPMd compressing/decompressing was increased for 7z archives.\r |
61 | - The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system \r |
62 | to modify "Last Access Time" property of source files for archiving and hashing operations. \r |
63 | - Some bugs were fixed.\r |
64 | \r |
65 | \r |
66 | 20.00 alpha 2020-02-06\r |
67 | -------------------------\r |
68 | - 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5, \r |
69 | that can work faster than bt4 and hc4 match finders for the data with big redundancy.\r |
70 | - The compression ratio was improved for Fast and Fastest compression levels with the \r |
71 | following default settings:\r |
72 | - Fastest level (-mx1) : hc5 match finder with 256 KB dictionary.\r |
73 | - Fast level (-mx3) : hc5 match finder with 4 MB dictionary.\r |
74 | - Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra \r |
75 | compression levels.\r |
76 | \r |
77 | \r |
78 | 19.00 2019-02-21\r |
79 | -------------------------\r |
80 | - Encryption strength for 7z archives was increased:\r |
81 | the size of random initialization vector was increased from 64-bit to 128-bit,\r |
82 | and the pseudo-random number generator was improved.\r |
83 | - The bug in 7zIn.c code was fixed.\r |
84 | \r |
85 | \r |
86 | 18.06 2018-12-30\r |
87 | -------------------------\r |
88 | - The speed for LZMA/LZMA2 compressing was increased by 3-10%,\r |
89 | and there are minor changes in compression ratio.\r |
90 | - Some bugs were fixed.\r |
91 | - The bug in 7-Zip 18.02-18.05 was fixed:\r |
92 | There was memory leak in multithreading xz decoder - XzDecMt_Decode(),\r |
93 | if xz stream contains only one block.\r |
94 | - The changes for MSVS compiler makefiles: \r |
95 | - the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64)\r |
96 | instead of "CPU" macroname with values (AMD64, ARM64).\r |
97 | - the makefiles by default now use static version of the run-time library.\r |
98 | \r |
99 | \r |
100 | 18.05 2018-04-30\r |
101 | -------------------------\r |
102 | - The speed for LZMA/LZMA2 compressing was increased \r |
103 | by 8% for fastest/fast compression levels and \r |
104 | by 3% for normal/maximum compression levels.\r |
105 | - Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in\r |
106 | Windows 10 because of some BUG with "Large Pages" in Windows 10. \r |
107 | Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299).\r |
108 | - The BUG was fixed in Lzma2Enc.c\r |
109 | Lzma2Enc_Encode2() function worked incorretly,\r |
110 | if (inStream == NULL) and the number of block threads is more than 1.\r |
111 | \r |
112 | \r |
113 | 18.03 beta 2018-03-04\r |
114 | -------------------------\r |
115 | - Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm \r |
116 | for x64 with about 30% higher speed than main version of LZMA decoder written in C.\r |
117 | - The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%.\r |
118 | - 7-Zip now can use multi-threading for 7z/LZMA2 decoding,\r |
119 | if there are multiple independent data chunks in LZMA2 stream.\r |
120 | - 7-Zip now can use multi-threading for xz decoding,\r |
121 | if there are multiple blocks in xz stream.\r |
122 | \r |
123 | \r |
124 | 18.01 2019-01-28\r |
125 | -------------------------\r |
126 | - The BUG in 17.01 - 18.00 beta was fixed:\r |
127 | XzDec.c : random block unpacking and XzUnpacker_IsBlockFinished()\r |
128 | didn't work correctly for xz archives without checksum (CRC).\r |
129 | \r |
130 | \r |
131 | 18.00 beta 2019-01-10\r |
132 | -------------------------\r |
133 | - The BUG in xz encoder was fixed:\r |
134 | There was memory leak of 16 KB for each file compressed with \r |
135 | xz compression method, if additional filter was used.\r |
136 | \r |
137 | \r |
138 | 17.01 beta 2017-08-28\r |
139 | -------------------------\r |
140 | - Minor speed optimization for LZMA2 (xz and 7z) multi-threading compression.\r |
141 | 7-Zip now uses additional memory buffers for multi-block LZMA2 compression.\r |
142 | CPU utilization was slightly improved.\r |
143 | - 7-zip now creates multi-block xz archives by default. Block size can be \r |
144 | specified with -ms[Size]{m|g} switch.\r |
145 | - xz decoder now can unpack random block from multi-block xz archives.\r |
146 | - 7-Zip command line: @listfile now doesn't work after -- switch.\r |
147 | Use -i@listfile before -- switch instead.\r |
148 | - The BUGs were fixed:\r |
149 | 7-Zip 17.00 beta crashed for commands that write anti-item to 7z archive.\r |
150 | \r |
151 | \r |
152 | 17.00 beta 2017-04-29\r |
153 | -------------------------\r |
154 | - NewHandler.h / NewHandler.cpp: \r |
155 | now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900).\r |
156 | - C/7zTypes.h : the names of variables in interface structures were changed (vt).\r |
157 | - Some bugs were fixed. 7-Zip could crash in some cases.\r |
158 | - Some internal changes in code.\r |
159 | \r |
160 | \r |
161 | 16.04 2016-10-04\r |
162 | -------------------------\r |
163 | - The bug was fixed in DllSecur.c.\r |
164 | \r |
165 | \r |
166 | 16.03 2016-09-28\r |
167 | -------------------------\r |
168 | - SFX modules now use some protection against DLL preloading attack.\r |
169 | - Some bugs in 7z code were fixed.\r |
170 | \r |
171 | \r |
172 | 16.02 2016-05-21\r |
173 | -------------------------\r |
174 | - The BUG in 16.00 - 16.01 was fixed:\r |
175 | Split Handler (SplitHandler.cpp) returned incorrect \r |
176 | total size value (kpidSize) for split archives.\r |
177 | \r |
178 | \r |
179 | 16.01 2016-05-19\r |
180 | ------------------------- \r |
181 | - Some internal changes to reduce the number of compiler warnings.\r |
182 | \r |
183 | \r |
184 | 16.00 2016-05-10\r |
185 | ------------------------- \r |
186 | - Some bugs were fixed.\r |
187 | \r |
188 | \r |
189 | 15.12 2015-11-19\r |
190 | ------------------------- \r |
191 | - The BUG in C version of 7z decoder was fixed:\r |
192 | 7zDec.c : SzDecodeLzma2()\r |
193 | 7z decoder could mistakenly report about decoding error for some 7z archives\r |
194 | that use LZMA2 compression method.\r |
195 | The probability to get that mistaken decoding error report was about \r |
196 | one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size). \r |
197 | - The BUG (in 9.26-15.11) in C version of 7z decoder was fixed:\r |
198 | 7zArcIn.c : SzReadHeader2()\r |
199 | 7z decoder worked incorrectly for 7z archives that contain \r |
200 | empty solid blocks, that can be placed to 7z archive, if some file is \r |
201 | unavailable for reading during archive creation.\r |
202 | \r |
203 | \r |
204 | 15.09 beta 2015-10-16\r |
205 | ------------------------- \r |
206 | - The BUG in LZMA / LZMA2 encoding code was fixed.\r |
207 | The BUG in LzFind.c::MatchFinder_ReadBlock() function.\r |
208 | If input data size is larger than (4 GiB - dictionary_size),\r |
209 | the following code worked incorrectly:\r |
210 | - LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions \r |
211 | for compressing from memory to memory. \r |
212 | That BUG is not related to LZMA encoder version that works via streams.\r |
213 | - LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if \r |
214 | default value of chunk size (CLzma2EncProps::blockSize) is changed \r |
215 | to value larger than (4 GiB - dictionary_size).\r |
216 | \r |
217 | \r |
218 | 9.38 beta 2015-01-03\r |
219 | ------------------------- \r |
220 | - The BUG in 9.31-9.37 was fixed:\r |
221 | IArchiveGetRawProps interface was disabled for 7z archives.\r |
222 | - The BUG in 9.26-9.36 was fixed:\r |
223 | Some code in CPP\7zip\Archive\7z\ worked correctly only under Windows.\r |
224 | \r |
225 | \r |
226 | 9.36 beta 2014-12-26\r |
227 | ------------------------- \r |
228 | - The BUG in command line version was fixed:\r |
229 | 7-Zip created temporary archive in current folder during update archive\r |
230 | operation, if -w{Path} switch was not specified. \r |
231 | The fixed 7-Zip creates temporary archive in folder that contains updated archive.\r |
232 | - The BUG in 9.33-9.35 was fixed:\r |
233 | 7-Zip silently ignored file reading errors during 7z or gz archive creation,\r |
234 | and the created archive contained only part of file that was read before error.\r |
235 | The fixed 7-Zip stops archive creation and it reports about error.\r |
236 | \r |
237 | \r |
238 | 9.35 beta 2014-12-07\r |
239 | ------------------------- \r |
240 | - 7zr.exe now support AES encryption.\r |
241 | - SFX mudules were added to LZMA SDK\r |
242 | - Some bugs were fixed.\r |
243 | \r |
244 | \r |
245 | 9.21 beta 2011-04-11\r |
246 | ------------------------- \r |
247 | - New class FString for file names at file systems.\r |
248 | - Speed optimization in CRC code for big-endian CPUs.\r |
249 | - The BUG in Lzma2Dec.c was fixed:\r |
250 | Lzma2Decode function didn't work.\r |
251 | \r |
252 | \r |
253 | 9.18 beta 2010-11-02\r |
254 | ------------------------- \r |
255 | - New small SFX module for installers (SfxSetup).\r |
256 | \r |
257 | \r |
258 | 9.12 beta 2010-03-24\r |
259 | -------------------------\r |
260 | - The BUG in LZMA SDK 9.* was fixed: LZMA2 codec didn't work,\r |
261 | if more than 10 threads were used (or more than 20 threads in some modes).\r |
262 | \r |
263 | \r |
264 | 9.11 beta 2010-03-15\r |
265 | -------------------------\r |
266 | - PPMd compression method support\r |
267 | \r |
268 | \r |
269 | 9.09 2009-12-12\r |
270 | -------------------------\r |
271 | - The bug was fixed:\r |
272 | Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c\r |
273 | incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8.\r |
274 | - Some bugs were fixed\r |
275 | \r |
276 | \r |
277 | 9.06 2009-08-17\r |
278 | -------------------------\r |
279 | - Some changes in ANSI-C 7z Decoder interfaces.\r |
280 | \r |
281 | \r |
282 | 9.04 2009-05-30\r |
283 | -------------------------\r |
284 | - LZMA2 compression method support\r |
285 | - xz format support\r |
286 | \r |
287 | \r |
288 | 4.65 2009-02-03\r |
289 | -------------------------\r |
290 | - Some minor fixes\r |
291 | \r |
292 | \r |
293 | 4.63 2008-12-31\r |
294 | -------------------------\r |
295 | - Some minor fixes\r |
296 | \r |
297 | \r |
298 | 4.61 beta 2008-11-23\r |
299 | -------------------------\r |
300 | - The bug in ANSI-C LZMA Decoder was fixed:\r |
301 | If encoded stream was corrupted, decoder could access memory \r |
302 | outside of allocated range.\r |
303 | - Some changes in ANSI-C 7z Decoder interfaces.\r |
304 | - LZMA SDK is placed in the public domain.\r |
305 | \r |
306 | \r |
307 | 4.60 beta 2008-08-19\r |
308 | -------------------------\r |
309 | - Some minor fixes.\r |
310 | \r |
311 | \r |
312 | 4.59 beta 2008-08-13\r |
313 | -------------------------\r |
314 | - The bug was fixed:\r |
315 | LZMA Encoder in fast compression mode could access memory outside of \r |
316 | allocated range in some rare cases.\r |
317 | \r |
318 | \r |
319 | 4.58 beta 2008-05-05\r |
320 | -------------------------\r |
321 | - ANSI-C LZMA Decoder was rewritten for speed optimizations.\r |
322 | - ANSI-C LZMA Encoder was included to LZMA SDK.\r |
323 | - C++ LZMA code now is just wrapper over ANSI-C code.\r |
324 | \r |
325 | \r |
326 | 4.57 2007-12-12\r |
327 | -------------------------\r |
328 |