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