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