]>
Commit | Line | Data |
---|---|---|
11ff2c71 LG |
1 | HISTORY of the LZMA SDK\r |
2 | -----------------------\r | |
3 | \r | |
7e6776de LW |
4 | 19.00 2019-02-21\r |
5 | -------------------------\r | |
6 | - Encryption strength for 7z archives was increased:\r | |
7 | the size of random initialization vector was increased from 64-bit to 128-bit,\r | |
8 | and the pseudo-random number generator was improved.\r | |
9 | - The bug in 7zIn.c code was fixed.\r | |
10 | \r | |
11 | \r | |
12 | 18.06 2018-12-30\r | |
13 | -------------------------\r | |
14 | - The speed for LZMA/LZMA2 compressing was increased by 3-10%,\r | |
15 | and there are minor changes in compression ratio.\r | |
16 | - Some bugs were fixed.\r | |
17 | - The bug in 7-Zip 18.02-18.05 was fixed:\r | |
18 | There was memory leak in multithreading xz decoder - XzDecMt_Decode(),\r | |
19 | if xz stream contains only one block.\r | |
20 | - The changes for MSVS compiler makefiles:\r | |
21 | - the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64)\r | |
22 | instead of "CPU" macroname with values (AMD64, ARM64).\r | |
23 | - the makefiles by default now use static version of the run-time library.\r | |
24 | \r | |
25 | \r | |
f0737de8 LG |
26 | 18.05 2018-04-30\r |
27 | -------------------------\r | |
ba39402f LL |
28 | - The speed for LZMA/LZMA2 compressing was increased\r |
29 | by 8% for fastest/fast compression levels and\r | |
f0737de8 LG |
30 | by 3% for normal/maximum compression levels.\r |
31 | - Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in\r | |
ba39402f | 32 | Windows 10 because of some BUG with "Large Pages" in Windows 10.\r |
f0737de8 LG |
33 | Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299).\r |
34 | - The BUG was fixed in Lzma2Enc.c\r | |
35 | Lzma2Enc_Encode2() function worked incorretly,\r | |
36 | if (inStream == NULL) and the number of block threads is more than 1.\r | |
37 | \r | |
38 | \r | |
39 | 18.03 beta 2018-03-04\r | |
40 | -------------------------\r | |
ba39402f | 41 | - Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm\r |
f0737de8 LG |
42 | for x64 with about 30% higher speed than main version of LZMA decoder written in C.\r |
43 | - The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%.\r | |
44 | - 7-Zip now can use multi-threading for 7z/LZMA2 decoding,\r | |
45 | if there are multiple independent data chunks in LZMA2 stream.\r | |
46 | - 7-Zip now can use multi-threading for xz decoding,\r | |
47 | if there are multiple blocks in xz stream.\r | |
48 | \r | |
49 | \r | |
50 | 18.01 2019-01-28\r | |
51 | -------------------------\r | |
52 | - The BUG in 17.01 - 18.00 beta was fixed:\r | |
53 | XzDec.c : random block unpacking and XzUnpacker_IsBlockFinished()\r | |
54 | didn't work correctly for xz archives without checksum (CRC).\r | |
55 | \r | |
56 | \r | |
57 | 18.00 beta 2019-01-10\r | |
58 | -------------------------\r | |
59 | - The BUG in xz encoder was fixed:\r | |
ba39402f | 60 | There was memory leak of 16 KB for each file compressed with\r |
f0737de8 LG |
61 | xz compression method, if additional filter was used.\r |
62 | \r | |
63 | \r | |
64 | 17.01 beta 2017-08-28\r | |
65 | -------------------------\r | |
66 | - Minor speed optimization for LZMA2 (xz and 7z) multi-threading compression.\r | |
67 | 7-Zip now uses additional memory buffers for multi-block LZMA2 compression.\r | |
68 | CPU utilization was slightly improved.\r | |
ba39402f | 69 | - 7-zip now creates multi-block xz archives by default. Block size can be\r |
f0737de8 LG |
70 | specified with -ms[Size]{m|g} switch.\r |
71 | - xz decoder now can unpack random block from multi-block xz archives.\r | |
72 | - 7-Zip command line: @listfile now doesn't work after -- switch.\r | |
73 | Use -i@listfile before -- switch instead.\r | |
74 | - The BUGs were fixed:\r | |
75 | 7-Zip 17.00 beta crashed for commands that write anti-item to 7z archive.\r | |
76 | \r | |
77 | \r | |
78 | 17.00 beta 2017-04-29\r | |
79 | -------------------------\r | |
ba39402f | 80 | - NewHandler.h / NewHandler.cpp:\r |
f0737de8 LG |
81 | now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900).\r |
82 | - C/7zTypes.h : the names of variables in interface structures were changed (vt).\r | |
83 | - Some bugs were fixed. 7-Zip could crash in some cases.\r | |
84 | - Some internal changes in code.\r | |
85 | \r | |
86 | \r | |
1e230224 LG |
87 | 16.04 2016-10-04\r |
88 | -------------------------\r | |
89 | - The bug was fixed in DllSecur.c.\r | |
90 | \r | |
91 | \r | |
92 | 16.03 2016-09-28\r | |
93 | -------------------------\r | |
94 | - SFX modules now use some protection against DLL preloading attack.\r | |
95 | - Some bugs in 7z code were fixed.\r | |
96 | \r | |
97 | \r | |
98 | 16.02 2016-05-21\r | |
99 | -------------------------\r | |
100 | - The BUG in 16.00 - 16.01 was fixed:\r | |
ba39402f | 101 | Split Handler (SplitHandler.cpp) returned incorrect\r |
1e230224 LG |
102 | total size value (kpidSize) for split archives.\r |
103 | \r | |
104 | \r | |
105 | 16.01 2016-05-19\r | |
ba39402f | 106 | -------------------------\r |
1e230224 LG |
107 | - Some internal changes to reduce the number of compiler warnings.\r |
108 | \r | |
109 | \r | |
110 | 16.00 2016-05-10\r | |
ba39402f | 111 | -------------------------\r |
1e230224 LG |
112 | - Some bugs were fixed.\r |
113 | \r | |
114 | \r | |
115 | 15.12 2015-11-19\r | |
ba39402f | 116 | -------------------------\r |
1e230224 LG |
117 | - The BUG in C version of 7z decoder was fixed:\r |
118 | 7zDec.c : SzDecodeLzma2()\r | |
119 | 7z decoder could mistakenly report about decoding error for some 7z archives\r | |
120 | that use LZMA2 compression method.\r | |
ba39402f LL |
121 | The probability to get that mistaken decoding error report was about\r |
122 | one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size).\r | |
1e230224 LG |
123 | - The BUG (in 9.26-15.11) in C version of 7z decoder was fixed:\r |
124 | 7zArcIn.c : SzReadHeader2()\r | |
ba39402f LL |
125 | 7z decoder worked incorrectly for 7z archives that contain\r |
126 | empty solid blocks, that can be placed to 7z archive, if some file is\r | |
1e230224 LG |
127 | unavailable for reading during archive creation.\r |
128 | \r | |
129 | \r | |
130 | 15.09 beta 2015-10-16\r | |
ba39402f | 131 | -------------------------\r |
1e230224 LG |
132 | - The BUG in LZMA / LZMA2 encoding code was fixed.\r |
133 | The BUG in LzFind.c::MatchFinder_ReadBlock() function.\r | |
134 | If input data size is larger than (4 GiB - dictionary_size),\r | |
135 | the following code worked incorrectly:\r | |
ba39402f LL |
136 | - LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions\r |
137 | for compressing from memory to memory.\r | |
1e230224 | 138 | That BUG is not related to LZMA encoder version that works via streams.\r |
ba39402f LL |
139 | - LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if\r |
140 | default value of chunk size (CLzma2EncProps::blockSize) is changed\r | |
1e230224 LG |
141 | to value larger than (4 GiB - dictionary_size).\r |
142 | \r | |
143 | \r | |
144 | 9.38 beta 2015-01-03\r | |
ba39402f | 145 | -------------------------\r |
1e230224 LG |
146 | - The BUG in 9.31-9.37 was fixed:\r |
147 | IArchiveGetRawProps interface was disabled for 7z archives.\r | |
148 | - The BUG in 9.26-9.36 was fixed:\r | |
149 | Some code in CPP\7zip\Archive\7z\ worked correctly only under Windows.\r | |
150 | \r | |
151 | \r | |
152 | 9.36 beta 2014-12-26\r | |
ba39402f | 153 | -------------------------\r |
1e230224 LG |
154 | - The BUG in command line version was fixed:\r |
155 | 7-Zip created temporary archive in current folder during update archive\r | |
ba39402f | 156 | operation, if -w{Path} switch was not specified.\r |
1e230224 LG |
157 | The fixed 7-Zip creates temporary archive in folder that contains updated archive.\r |
158 | - The BUG in 9.33-9.35 was fixed:\r | |
159 | 7-Zip silently ignored file reading errors during 7z or gz archive creation,\r | |
160 | and the created archive contained only part of file that was read before error.\r | |
161 | The fixed 7-Zip stops archive creation and it reports about error.\r | |
162 | \r | |
163 | \r | |
164 | 9.35 beta 2014-12-07\r | |
ba39402f | 165 | -------------------------\r |
1e230224 LG |
166 | - 7zr.exe now support AES encryption.\r |
167 | - SFX mudules were added to LZMA SDK\r | |
168 | - Some bugs were fixed.\r | |
169 | \r | |
170 | \r | |
171 | 9.21 beta 2011-04-11\r | |
ba39402f | 172 | -------------------------\r |
1e230224 LG |
173 | - New class FString for file names at file systems.\r |
174 | - Speed optimization in CRC code for big-endian CPUs.\r | |
175 | - The BUG in Lzma2Dec.c was fixed:\r | |
176 | Lzma2Decode function didn't work.\r | |
177 | \r | |
178 | \r | |
179 | 9.18 beta 2010-11-02\r | |
ba39402f | 180 | -------------------------\r |
1e230224 LG |
181 | - New small SFX module for installers (SfxSetup).\r |
182 | \r | |
183 | \r | |
184 | 9.12 beta 2010-03-24\r | |
185 | -------------------------\r | |
186 | - The BUG in LZMA SDK 9.* was fixed: LZMA2 codec didn't work,\r | |
187 | if more than 10 threads were used (or more than 20 threads in some modes).\r | |
188 | \r | |
189 | \r | |
190 | 9.11 beta 2010-03-15\r | |
191 | -------------------------\r | |
192 | - PPMd compression method support\r | |
ba39402f | 193 | \r |
1e230224 LG |
194 | \r |
195 | 9.09 2009-12-12\r | |
196 | -------------------------\r | |
197 | - The bug was fixed:\r | |
198 | Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c\r | |
199 | incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8.\r | |
200 | - Some bugs were fixed\r | |
201 | \r | |
202 | \r | |
203 | 9.06 2009-08-17\r | |
204 | -------------------------\r | |
205 | - Some changes in ANSI-C 7z Decoder interfaces.\r | |
206 | \r | |
207 | \r | |
208 | 9.04 2009-05-30\r | |
209 | -------------------------\r | |
210 | - LZMA2 compression method support\r | |
211 | - xz format support\r | |
212 | \r | |
213 | \r | |
11ff2c71 LG |
214 | 4.65 2009-02-03\r |
215 | -------------------------\r | |
216 | - Some minor fixes\r | |
217 | \r | |
218 | \r | |
219 | 4.63 2008-12-31\r | |
220 | -------------------------\r | |
221 | - Some minor fixes\r | |
222 | \r | |
223 | \r | |
224 | 4.61 beta 2008-11-23\r | |
225 | -------------------------\r | |
226 | - The bug in ANSI-C LZMA Decoder was fixed:\r | |
ba39402f | 227 | If encoded stream was corrupted, decoder could access memory\r |
11ff2c71 LG |
228 | outside of allocated range.\r |
229 | - Some changes in ANSI-C 7z Decoder interfaces.\r | |
230 | - LZMA SDK is placed in the public domain.\r | |
231 | \r | |
232 | \r | |
233 | 4.60 beta 2008-08-19\r | |
234 | -------------------------\r | |
235 | - Some minor fixes.\r | |
236 | \r | |
237 | \r | |
238 | 4.59 beta 2008-08-13\r | |
239 | -------------------------\r | |
240 | - The bug was fixed:\r | |
ba39402f | 241 | LZMA Encoder in fast compression mode could access memory outside of\r |
11ff2c71 LG |
242 | allocated range in some rare cases.\r |
243 | \r | |
244 | \r | |
245 | 4.58 beta 2008-05-05\r | |
246 | -------------------------\r | |
247 | - ANSI-C LZMA Decoder was rewritten for speed optimizations.\r | |
248 | - ANSI-C LZMA Encoder was included to LZMA SDK.\r | |
249 | - C++ LZMA code now is just wrapper over ANSI-C code.\r | |
250 | \r | |
251 | \r | |
252 | 4.57 2007-12-12\r | |
253 | -------------------------\r | |
ba39402f | 254 | - Speed optimizations in ?++ LZMA Decoder.\r |
11ff2c71 LG |
255 | - Small changes for more compatibility with some C/C++ compilers.\r |
256 | \r | |
257 | \r | |
258 | 4.49 beta 2007-07-05\r | |
259 | -------------------------\r | |
260 | - .7z ANSI-C Decoder:\r | |
261 | - now it supports BCJ and BCJ2 filters\r | |
262 | - now it supports files larger than 4 GB.\r | |
263 | - now it supports "Last Write Time" field for files.\r | |
ba39402f | 264 | - C++ code for .7z archives compressing/decompressing from 7-zip\r |
11ff2c71 | 265 | was included to LZMA SDK.\r |
ba39402f | 266 | \r |
11ff2c71 LG |
267 | \r |
268 | 4.43 2006-06-04\r | |
269 | -------------------------\r | |
270 | - Small changes for more compatibility with some C/C++ compilers.\r | |
ba39402f | 271 | \r |
11ff2c71 LG |
272 | \r |
273 | 4.42 2006-05-15\r | |
274 | -------------------------\r | |
275 | - Small changes in .h files in ANSI-C version.\r | |
ba39402f | 276 | \r |
11ff2c71 LG |
277 | \r |
278 | 4.39 beta 2006-04-14\r | |
279 | -------------------------\r | |
280 | - The bug in versions 4.33b:4.38b was fixed:\r | |
ba39402f | 281 | C++ version of LZMA encoder could not correctly compress\r |
11ff2c71 | 282 | files larger than 2 GB with HC4 match finder (-mfhc4).\r |
ba39402f | 283 | \r |
11ff2c71 LG |
284 | \r |
285 | 4.37 beta 2005-04-06\r | |
286 | -------------------------\r | |
ba39402f | 287 | - Fixes in C++ code: code could no be compiled if _NO_EXCEPTIONS was defined.\r |
11ff2c71 LG |
288 | \r |
289 | \r | |
290 | 4.35 beta 2005-03-02\r | |
291 | -------------------------\r | |
292 | - The bug was fixed in C++ version of LZMA Decoder:\r | |
ba39402f | 293 | If encoded stream was corrupted, decoder could access memory\r |
11ff2c71 LG |
294 | outside of allocated range.\r |
295 | \r | |
296 | \r | |
297 | 4.34 beta 2006-02-27\r | |
298 | -------------------------\r | |
299 | - Compressing speed and memory requirements for compressing were increased\r | |
300 | - LZMA now can use only these match finders: HC4, BT2, BT3, BT4\r | |
301 | \r | |
302 | \r | |
303 | 4.32 2005-12-09\r | |
304 | -------------------------\r | |
305 | - Java version of LZMA SDK was included\r | |
306 | \r | |
307 | \r | |
308 | 4.30 2005-11-20\r | |
309 | -------------------------\r | |
310 | - Compression ratio was improved in -a2 mode\r | |
311 | - Speed optimizations for compressing in -a2 mode\r | |
312 | - -fb switch now supports values up to 273\r | |
313 | - The bug in 7z_C (7zIn.c) was fixed:\r | |
314 | It used Alloc/Free functions from different memory pools.\r | |
315 | So if program used two memory pools, it worked incorrectly.\r | |
316 | - 7z_C: .7z format supporting was improved\r | |
317 | - LZMA# SDK (C#.NET version) was included\r | |
318 | \r | |
319 | \r | |
320 | 4.27 (Updated) 2005-09-21\r | |
321 | -------------------------\r | |
322 | - Some GUIDs/interfaces in C++ were changed.\r | |
323 | IStream.h:\r | |
324 | ISequentialInStream::Read now works as old ReadPart\r | |
325 | ISequentialOutStream::Write now works as old WritePart\r | |
326 | \r | |
327 | \r | |
328 | 4.27 2005-08-07\r | |
329 | -------------------------\r | |
330 | - The bug in LzmaDecodeSize.c was fixed:\r | |
331 | if _LZMA_IN_CB and _LZMA_OUT_READ were defined,\r | |
332 | decompressing worked incorrectly.\r | |
333 | \r | |
334 | \r | |
335 | 4.26 2005-08-05\r | |
336 | -------------------------\r | |
337 | - Fixes in 7z_C code and LzmaTest.c:\r | |
338 | previous versions could work incorrectly,\r | |
339 | if malloc(0) returns 0\r | |
340 | \r | |
341 | \r | |
342 | 4.23 2005-06-29\r | |
343 | -------------------------\r | |
344 | - Small fixes in C++ code\r | |
345 | \r | |
346 | \r | |
347 | 4.22 2005-06-10\r | |
348 | -------------------------\r | |
349 | - Small fixes\r | |
350 | \r | |
351 | \r | |
352 | 4.21 2005-06-08\r | |
353 | -------------------------\r | |
354 | - Interfaces for ANSI-C LZMA Decoder (LzmaDecode.c) were changed\r | |
355 | - New additional version of ANSI-C LZMA Decoder with zlib-like interface:\r | |
356 | - LzmaStateDecode.h\r | |
357 | - LzmaStateDecode.c\r | |
358 | - LzmaStateTest.c\r | |
359 | - ANSI-C LZMA Decoder now can decompress files larger than 4 GB\r | |
360 | \r | |
361 | \r | |
362 | 4.17 2005-04-18\r | |
363 | -------------------------\r | |
ba39402f | 364 | - New example for RAM->RAM compressing/decompressing:\r |
11ff2c71 LG |
365 | LZMA + BCJ (filter for x86 code):\r |
366 | - LzmaRam.h\r | |
367 | - LzmaRam.cpp\r | |
368 | - LzmaRamDecode.h\r | |
369 | - LzmaRamDecode.c\r | |
370 | - -f86 switch for lzma.exe\r | |
371 | \r | |
372 | \r | |
373 | 4.16 2005-03-29\r | |
374 | -------------------------\r | |
ba39402f | 375 | - The bug was fixed in LzmaDecode.c (ANSI-C LZMA Decoder):\r |
11ff2c71 LG |
376 | If _LZMA_OUT_READ was defined, and if encoded stream was corrupted,\r |
377 | decoder could access memory outside of allocated range.\r | |
378 | - Speed optimization of ANSI-C LZMA Decoder (now it's about 20% faster).\r | |
ba39402f | 379 | Old version of LZMA Decoder now is in file LzmaDecodeSize.c.\r |
11ff2c71 LG |
380 | LzmaDecodeSize.c can provide slightly smaller code than LzmaDecode.c\r |
381 | - Small speed optimization in LZMA C++ code\r | |
382 | - filter for SPARC's code was added\r | |
383 | - Simplified version of .7z ANSI-C Decoder was included\r | |
384 | \r | |
385 | \r | |
386 | 4.06 2004-09-05\r | |
387 | -------------------------\r | |
388 | - The bug in v4.05 was fixed:\r | |
389 | LZMA-Encoder didn't release output stream in some cases.\r | |
390 | \r | |
391 | \r | |
392 | 4.05 2004-08-25\r | |
393 | -------------------------\r | |
ba39402f | 394 | - Source code of filters for x86, IA-64, ARM, ARM-Thumb\r |
11ff2c71 LG |
395 | and PowerPC code was included to SDK\r |
396 | - Some internal minor changes\r | |
397 | \r | |
398 | \r | |
399 | 4.04 2004-07-28\r | |
400 | -------------------------\r | |
401 | - More compatibility with some C++ compilers\r | |
402 | \r | |
403 | \r | |
404 | 4.03 2004-06-18\r | |
405 | -------------------------\r | |
ba39402f LL |
406 | - "Benchmark" command was added. It measures compressing\r |
407 | and decompressing speed and shows rating values.\r | |
11ff2c71 LG |
408 | Also it checks hardware errors.\r |
409 | \r | |
410 | \r | |
411 | 4.02 2004-06-10\r | |
412 | -------------------------\r | |
413 | - C++ LZMA Encoder/Decoder code now is more portable\r | |
414 | and it can be compiled by GCC on Linux.\r | |
415 | \r | |
416 | \r | |
417 | 4.01 2004-02-15\r | |
418 | -------------------------\r | |
419 | - Some detection of data corruption was enabled.\r | |
420 | LzmaDecode.c / RangeDecoderReadByte\r | |
421 | .....\r | |
422 | {\r | |
423 | rd->ExtraBytes = 1;\r | |
424 | return 0xFF;\r | |
425 | }\r | |
426 | \r | |
427 | \r | |
428 | 4.00 2004-02-13\r | |
429 | -------------------------\r | |
430 | - Original version of LZMA SDK\r | |
431 | \r | |
432 | \r | |
433 | \r | |
434 | HISTORY of the LZMA\r | |
435 | -------------------\r | |
ba39402f | 436 | 2001-2008: Improvements to LZMA compressing/decompressing code,\r |
11ff2c71 LG |
437 | keeping compatibility with original LZMA format\r |
438 | 1996-2001: Development of LZMA compression format\r | |
439 | \r | |
440 | Some milestones:\r | |
441 | \r | |
442 | 2001-08-30: LZMA compression was added to 7-Zip\r | |
443 | 1999-01-02: First version of 7-Zip was released\r | |
ba39402f | 444 | \r |
11ff2c71 LG |
445 | \r |
446 | End of document\r |