1*4882a593SmuzhiyunHISTORY of the LZMA SDK 2*4882a593Smuzhiyun----------------------- 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun9.18 beta 2010-11-02 5*4882a593Smuzhiyun------------------------- 6*4882a593Smuzhiyun- New small SFX module for installers (SfxSetup). 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun9.12 beta 2010-03-24 10*4882a593Smuzhiyun------------------------- 11*4882a593Smuzhiyun- The BUG in LZMA SDK 9.* was fixed: LZMA2 codec didn't work, 12*4882a593Smuzhiyun if more than 10 threads were used (or more than 20 threads in some modes). 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun9.11 beta 2010-03-15 16*4882a593Smuzhiyun------------------------- 17*4882a593Smuzhiyun- PPMd compression method support 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun9.09 2009-12-12 21*4882a593Smuzhiyun------------------------- 22*4882a593Smuzhiyun- The bug was fixed: 23*4882a593Smuzhiyun Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c 24*4882a593Smuzhiyun incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8. 25*4882a593Smuzhiyun- Some bugs were fixed 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun9.06 2009-08-17 29*4882a593Smuzhiyun------------------------- 30*4882a593Smuzhiyun- Some changes in ANSI-C 7z Decoder interfaces. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun9.04 2009-05-30 34*4882a593Smuzhiyun------------------------- 35*4882a593Smuzhiyun- LZMA2 compression method support 36*4882a593Smuzhiyun- xz format support 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun4.65 2009-02-03 40*4882a593Smuzhiyun------------------------- 41*4882a593Smuzhiyun- Some minor fixes 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun4.63 2008-12-31 45*4882a593Smuzhiyun------------------------- 46*4882a593Smuzhiyun- Some minor fixes 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun4.61 beta 2008-11-23 50*4882a593Smuzhiyun------------------------- 51*4882a593Smuzhiyun- The bug in ANSI-C LZMA Decoder was fixed: 52*4882a593Smuzhiyun If encoded stream was corrupted, decoder could access memory 53*4882a593Smuzhiyun outside of allocated range. 54*4882a593Smuzhiyun- Some changes in ANSI-C 7z Decoder interfaces. 55*4882a593Smuzhiyun- LZMA SDK is placed in the public domain. 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun4.60 beta 2008-08-19 59*4882a593Smuzhiyun------------------------- 60*4882a593Smuzhiyun- Some minor fixes. 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun4.59 beta 2008-08-13 64*4882a593Smuzhiyun------------------------- 65*4882a593Smuzhiyun- The bug was fixed: 66*4882a593Smuzhiyun LZMA Encoder in fast compression mode could access memory outside of 67*4882a593Smuzhiyun allocated range in some rare cases. 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun4.58 beta 2008-05-05 71*4882a593Smuzhiyun------------------------- 72*4882a593Smuzhiyun- ANSI-C LZMA Decoder was rewritten for speed optimizations. 73*4882a593Smuzhiyun- ANSI-C LZMA Encoder was included to LZMA SDK. 74*4882a593Smuzhiyun- C++ LZMA code now is just wrapper over ANSI-C code. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun4.57 2007-12-12 78*4882a593Smuzhiyun------------------------- 79*4882a593Smuzhiyun- Speed optimizations in Ñ++ LZMA Decoder. 80*4882a593Smuzhiyun- Small changes for more compatibility with some C/C++ compilers. 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun4.49 beta 2007-07-05 84*4882a593Smuzhiyun------------------------- 85*4882a593Smuzhiyun- .7z ANSI-C Decoder: 86*4882a593Smuzhiyun - now it supports BCJ and BCJ2 filters 87*4882a593Smuzhiyun - now it supports files larger than 4 GB. 88*4882a593Smuzhiyun - now it supports "Last Write Time" field for files. 89*4882a593Smuzhiyun- C++ code for .7z archives compressing/decompressing from 7-zip 90*4882a593Smuzhiyun was included to LZMA SDK. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun4.43 2006-06-04 94*4882a593Smuzhiyun------------------------- 95*4882a593Smuzhiyun- Small changes for more compatibility with some C/C++ compilers. 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun4.42 2006-05-15 99*4882a593Smuzhiyun------------------------- 100*4882a593Smuzhiyun- Small changes in .h files in ANSI-C version. 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun4.39 beta 2006-04-14 104*4882a593Smuzhiyun------------------------- 105*4882a593Smuzhiyun- The bug in versions 4.33b:4.38b was fixed: 106*4882a593Smuzhiyun C++ version of LZMA encoder could not correctly compress 107*4882a593Smuzhiyun files larger than 2 GB with HC4 match finder (-mfhc4). 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun4.37 beta 2005-04-06 111*4882a593Smuzhiyun------------------------- 112*4882a593Smuzhiyun- Fixes in C++ code: code could no be compiled if _NO_EXCEPTIONS was defined. 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun4.35 beta 2005-03-02 116*4882a593Smuzhiyun------------------------- 117*4882a593Smuzhiyun- The bug was fixed in C++ version of LZMA Decoder: 118*4882a593Smuzhiyun If encoded stream was corrupted, decoder could access memory 119*4882a593Smuzhiyun outside of allocated range. 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun4.34 beta 2006-02-27 123*4882a593Smuzhiyun------------------------- 124*4882a593Smuzhiyun- Compressing speed and memory requirements for compressing were increased 125*4882a593Smuzhiyun- LZMA now can use only these match finders: HC4, BT2, BT3, BT4 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun4.32 2005-12-09 129*4882a593Smuzhiyun------------------------- 130*4882a593Smuzhiyun- Java version of LZMA SDK was included 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun4.30 2005-11-20 134*4882a593Smuzhiyun------------------------- 135*4882a593Smuzhiyun- Compression ratio was improved in -a2 mode 136*4882a593Smuzhiyun- Speed optimizations for compressing in -a2 mode 137*4882a593Smuzhiyun- -fb switch now supports values up to 273 138*4882a593Smuzhiyun- The bug in 7z_C (7zIn.c) was fixed: 139*4882a593Smuzhiyun It used Alloc/Free functions from different memory pools. 140*4882a593Smuzhiyun So if program used two memory pools, it worked incorrectly. 141*4882a593Smuzhiyun- 7z_C: .7z format supporting was improved 142*4882a593Smuzhiyun- LZMA# SDK (C#.NET version) was included 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun4.27 (Updated) 2005-09-21 146*4882a593Smuzhiyun------------------------- 147*4882a593Smuzhiyun- Some GUIDs/interfaces in C++ were changed. 148*4882a593Smuzhiyun IStream.h: 149*4882a593Smuzhiyun ISequentialInStream::Read now works as old ReadPart 150*4882a593Smuzhiyun ISequentialOutStream::Write now works as old WritePart 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun4.27 2005-08-07 154*4882a593Smuzhiyun------------------------- 155*4882a593Smuzhiyun- The bug in LzmaDecodeSize.c was fixed: 156*4882a593Smuzhiyun if _LZMA_IN_CB and _LZMA_OUT_READ were defined, 157*4882a593Smuzhiyun decompressing worked incorrectly. 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun4.26 2005-08-05 161*4882a593Smuzhiyun------------------------- 162*4882a593Smuzhiyun- Fixes in 7z_C code and LzmaTest.c: 163*4882a593Smuzhiyun previous versions could work incorrectly, 164*4882a593Smuzhiyun if malloc(0) returns 0 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun4.23 2005-06-29 168*4882a593Smuzhiyun------------------------- 169*4882a593Smuzhiyun- Small fixes in C++ code 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun4.22 2005-06-10 173*4882a593Smuzhiyun------------------------- 174*4882a593Smuzhiyun- Small fixes 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun4.21 2005-06-08 178*4882a593Smuzhiyun------------------------- 179*4882a593Smuzhiyun- Interfaces for ANSI-C LZMA Decoder (LzmaDecode.c) were changed 180*4882a593Smuzhiyun- New additional version of ANSI-C LZMA Decoder with zlib-like interface: 181*4882a593Smuzhiyun - LzmaStateDecode.h 182*4882a593Smuzhiyun - LzmaStateDecode.c 183*4882a593Smuzhiyun - LzmaStateTest.c 184*4882a593Smuzhiyun- ANSI-C LZMA Decoder now can decompress files larger than 4 GB 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun4.17 2005-04-18 188*4882a593Smuzhiyun------------------------- 189*4882a593Smuzhiyun- New example for RAM->RAM compressing/decompressing: 190*4882a593Smuzhiyun LZMA + BCJ (filter for x86 code): 191*4882a593Smuzhiyun - LzmaRam.h 192*4882a593Smuzhiyun - LzmaRam.cpp 193*4882a593Smuzhiyun - LzmaRamDecode.h 194*4882a593Smuzhiyun - LzmaRamDecode.c 195*4882a593Smuzhiyun - -f86 switch for lzma.exe 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun4.16 2005-03-29 199*4882a593Smuzhiyun------------------------- 200*4882a593Smuzhiyun- The bug was fixed in LzmaDecode.c (ANSI-C LZMA Decoder): 201*4882a593Smuzhiyun If _LZMA_OUT_READ was defined, and if encoded stream was corrupted, 202*4882a593Smuzhiyun decoder could access memory outside of allocated range. 203*4882a593Smuzhiyun- Speed optimization of ANSI-C LZMA Decoder (now it's about 20% faster). 204*4882a593Smuzhiyun Old version of LZMA Decoder now is in file LzmaDecodeSize.c. 205*4882a593Smuzhiyun LzmaDecodeSize.c can provide slightly smaller code than LzmaDecode.c 206*4882a593Smuzhiyun- Small speed optimization in LZMA C++ code 207*4882a593Smuzhiyun- filter for SPARC's code was added 208*4882a593Smuzhiyun- Simplified version of .7z ANSI-C Decoder was included 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun4.06 2004-09-05 212*4882a593Smuzhiyun------------------------- 213*4882a593Smuzhiyun- The bug in v4.05 was fixed: 214*4882a593Smuzhiyun LZMA-Encoder didn't release output stream in some cases. 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun4.05 2004-08-25 218*4882a593Smuzhiyun------------------------- 219*4882a593Smuzhiyun- Source code of filters for x86, IA-64, ARM, ARM-Thumb 220*4882a593Smuzhiyun and PowerPC code was included to SDK 221*4882a593Smuzhiyun- Some internal minor changes 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun4.04 2004-07-28 225*4882a593Smuzhiyun------------------------- 226*4882a593Smuzhiyun- More compatibility with some C++ compilers 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun4.03 2004-06-18 230*4882a593Smuzhiyun------------------------- 231*4882a593Smuzhiyun- "Benchmark" command was added. It measures compressing 232*4882a593Smuzhiyun and decompressing speed and shows rating values. 233*4882a593Smuzhiyun Also it checks hardware errors. 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun4.02 2004-06-10 237*4882a593Smuzhiyun------------------------- 238*4882a593Smuzhiyun- C++ LZMA Encoder/Decoder code now is more portable 239*4882a593Smuzhiyun and it can be compiled by GCC on Linux. 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun4.01 2004-02-15 243*4882a593Smuzhiyun------------------------- 244*4882a593Smuzhiyun- Some detection of data corruption was enabled. 245*4882a593Smuzhiyun LzmaDecode.c / RangeDecoderReadByte 246*4882a593Smuzhiyun ..... 247*4882a593Smuzhiyun { 248*4882a593Smuzhiyun rd->ExtraBytes = 1; 249*4882a593Smuzhiyun return 0xFF; 250*4882a593Smuzhiyun } 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun4.00 2004-02-13 254*4882a593Smuzhiyun------------------------- 255*4882a593Smuzhiyun- Original version of LZMA SDK 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun 259*4882a593SmuzhiyunHISTORY of the LZMA 260*4882a593Smuzhiyun------------------- 261*4882a593Smuzhiyun 2001-2008: Improvements to LZMA compressing/decompressing code, 262*4882a593Smuzhiyun keeping compatibility with original LZMA format 263*4882a593Smuzhiyun 1996-2001: Development of LZMA compression format 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun Some milestones: 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun 2001-08-30: LZMA compression was added to 7-Zip 268*4882a593Smuzhiyun 1999-01-02: First version of 7-Zip was released 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun 271*4882a593SmuzhiyunEnd of document 272