]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/LzmaCustomDecompressLib/Sdk/DOC/lzma-history.txt
MdeModulePkg Lzma: Update LZMA SDK version to 19.00
[mirror_edk2.git] / MdeModulePkg / Library / LzmaCustomDecompressLib / Sdk / DOC / lzma-history.txt
CommitLineData
11ff2c71
LG
1HISTORY of the LZMA SDK\r
2-----------------------\r
3\r
7e6776de
LW
419.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
1218.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
2618.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
3918.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
5018.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
5718.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
6417.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
7817.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
8716.04 2016-10-04\r
88-------------------------\r
89- The bug was fixed in DllSecur.c.\r
90\r
91\r
9216.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
9816.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
10516.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
11016.00 2016-05-10\r
ba39402f 111-------------------------\r
1e230224
LG
112- Some bugs were fixed.\r
113\r
114\r
11515.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
13015.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
1449.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
1529.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
1649.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
1719.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
1799.18 beta 2010-11-02\r
ba39402f 180-------------------------\r
1e230224
LG
181- New small SFX module for installers (SfxSetup).\r
182\r
183\r
1849.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
1909.11 beta 2010-03-15\r
191-------------------------\r
192- PPMd compression method support\r
ba39402f 193\r
1e230224
LG
194\r
1959.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
2039.06 2009-08-17\r
204-------------------------\r
205- Some changes in ANSI-C 7z Decoder interfaces.\r
206\r
207\r
2089.04 2009-05-30\r
209-------------------------\r
210- LZMA2 compression method support\r
211- xz format support\r
212\r
213\r
11ff2c71
LG
2144.65 2009-02-03\r
215-------------------------\r
216- Some minor fixes\r
217\r
218\r
2194.63 2008-12-31\r
220-------------------------\r
221- Some minor fixes\r
222\r
223\r
2244.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
2334.60 beta 2008-08-19\r
234-------------------------\r
235- Some minor fixes.\r
236\r
237\r
2384.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
2454.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
2524.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
2584.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
2684.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
2734.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
2784.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
2854.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
2904.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
2974.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
3034.32 2005-12-09\r
304-------------------------\r
305- Java version of LZMA SDK was included\r
306\r
307\r
3084.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
3204.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
3284.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
3354.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
3424.23 2005-06-29\r
343-------------------------\r
344- Small fixes in C++ code\r
345\r
346\r
3474.22 2005-06-10\r
348-------------------------\r
349- Small fixes\r
350\r
351\r
3524.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
3624.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
3734.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
3864.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
3924.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
3994.04 2004-07-28\r
400-------------------------\r
401- More compatibility with some C++ compilers\r
402\r
403\r
4044.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
4114.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
4174.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
4284.00 2004-02-13\r
429-------------------------\r
430- Original version of LZMA SDK\r
431\r
432\r
433\r
434HISTORY 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
446End of document\r