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