Imported Upstream version 9.20
[platform/upstream/7zip.git] / DOC / history.txt
1 Sources history of the 7-Zip\r
2 ----------------------------\r
3 \r
4 9.18           2010-11-02\r
5 -------------------------       \r
6 - New small SFX module for installers (C/Util/SfxSetup).\r
7 \r
8 \r
9 9.17           2010-10-04\r
10 -------------------------\r
11 - IStream.h::IOutStream::\r
12     STDMETHOD(SetSize)(Int64 newSize) PURE;\r
13   was changed to\r
14     STDMETHOD(SetSize)(UInt64 newSize) PURE;\r
15 \r
16 \r
17 9.09           2009-12-12\r
18 -------------------------\r
19 - The bug was fixed:\r
20    Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c\r
21    incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8.\r
22 \r
23 \r
24 9.05           2009-07-05\r
25 -------------------------\r
26 - FileMapping.h::CFileMapping now returns WRes\r
27 \r
28 \r
29 9.04           2009-05-30\r
30 -------------------------\r
31 - ICoder.h: NCoderPropID::EEnum values were changed\r
32 \r
33 \r
34 9.02           2009-04-23\r
35 -------------------------\r
36 - Bug was fixed: if swap2 filter was requests at compression,\r
37   7-zip used swap4 filter instead (but id was swap2), so archives were incorrect.\r
38   \r
39 4.61           2008-11-23\r
40 -------------------------\r
41 - Bug in ver. 4.58+ was fixed:\r
42    7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives. \r
43 - Bug in .CAB code was fixed. 7-Zip didn't show some empty files,\r
44   if .CAB archive contains more than one empty file.\r
45    \r
46 \r
47 4.59           2008-07-27\r
48 -------------------------\r
49 - Bug was fixed:\r
50    LZMA Encoder in fast compression mode could access memory outside of \r
51    allocated range in some rare cases.\r
52    \r
53 \r
54 4.59 alpha     2008-05-30\r
55 -------------------------\r
56 - BUGS was fixed: \r
57     7zOut.cpp: 7-Zip incorrectly wrote size of property records in some cases.\r
58     7zIn.cpp:  7-Zip incorrectly work with archive, containg archive properties.\r
59 \r
60 4.58 alpha 9   2008-04-29\r
61 -------------------------\r
62 - BUG was fixed: 7-Zip showed incorrect timestamps in ISO files.\r
63 \r
64 \r
65 4.58 alpha 8   2008-04-15\r
66 -------------------------\r
67 - BUG in 4.58 alpha 5/6/7 was fixed:\r
68     LZMA encoder worked incorrectly, if lp != 0.\r
69 - Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes:\r
70     1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.\r
71     2) -mcu switch:  7-Zip uses UTF-8, if there are non-ASCII symbols.\r
72     3) -mcl switch:  7-Zip uses local code page.\r
73 - Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on  \r
74 \r
75 \r
76 4.58 alpha 7   2008-04-08\r
77 -------------------------\r
78 - BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without \r
79   creating, when BZip2 code was called with one thread (with -mmt1 switch or with \r
80   default switches on single thread CPU).\r
81 - .lzma support.\r
82 - RPM and NSIS support was improved.\r
83 - LZMA now stores only (2 << n) or (3 << n) dictionary size value to LZMA properties.\r
84 \r
85 \r
86 4.58 alpha 6   2008-03-27\r
87 -------------------------\r
88 - NTFS time extra in ZIP.\r
89 - New item property - kpidTimeType - VT_UI4 (0 - NTFS, 1 - Unix, 2 - DOS).\r
90 - Static CRC table is not required now for Lzma Encoder (in Lz MatchFinder).\r
91 \r
92 \r
93 4.58 alpha 5   2008-03-19\r
94 -------------------------\r
95 - Creation time (-mtc switch) for .7z archives\r
96 - LZMA encoder was converted to ANSI-C\r
97 \r
98 \r
99 4.58 alpha 3   2008-02-25\r
100 -------------------------\r
101 - Speed optimizations for LZMA decoding. Now it uses C code instead of C++.\r
102 - 7-Zip now has 128 MB dictionary limit for 32-bit version:\r
103   It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2;\r
104 - TAR: 'D' link flag support.\r
105 - 7-Zip now can unpack multivolume RAR archives created with \r
106   "old style volume names" scheme (-vn switch) and names *.001, *.002, ...\r
107 - Fixed bugs:\r
108   - 7-Zip FM could not copy / move files to root network folders like \\COMPNAME\FOLDERNAME\\r
109     In case of move it removed original files.\r
110   - SFX-WIN: if there are errors, it still could return 0.\r
111   - ZIP (.XPS file) isZip64 && thisDiskNumber16 == 0xFFFF.\r
112   - ZIP name updating:\r
113       If zip file contains extra field and you try to change properties of files,\r
114       7-zip tries to delete all extra fileds (except for WzAES).\r
115       And that code could hang.\r
116   -  7-Zip GUI didn't suggest BZip2 dictionary size used in previous run.\r
117   -  If creation time stamp was included in .RAR archive, 7-zip used creation time stamp \r
118      as modification time stamp.\r
119 \r
120 4.58 alpha 2   2007-12-31\r
121 -------------------------\r
122 - Small changes in Deflate and LZMA compression.\r
123 - Some speed optimizations.\r
124 \r
125 \r
126 4.57\r
127 ----\r
128 - Bug was fixed:\r
129   Anti item is created for wrong file:\r
130   http://sourceforge.net/forum/forum.php?thread_id=1880366&forum_id=45798\r
131 \r
132 \r
133 4.52 beta      2007-07-32\r
134 -------------------------\r
135 - 7-Zip could not decompress some cab files\r
136 - "." dir creating at FAT was fixed / long names\r
137 \r
138 \r
139 4.50 beta      2007-07-24\r
140 -------------------------\r
141 - 7-Zip now replaces unsupported filenames (like "nul", "com1") during extracting.\r
142 - New switch for command line version:\r
143     -ssc[-] enables/disables case-sensitive mode.\r
144 - 7z.exe l shows archive comment for zip archives\r
145 - Some bugs were fixed: long paths names shorter than 4.\r
146 - Speed optimizations for AES encryption.\r
147 \r
148 \r
149 \r
150 4.56 beta      2007-09-13\r
151 -------------------------\r
152 - some fixes in LZ encoder (LZMA and Deflate) code.\r
153  size_t was replaces to ptrdiff_t.\r
154  size_t version worked incorrectly with some compilers.\r
155 \r
156  \r
157 4.46 beta      2007-05-25\r
158 -------------------------\r
159 - CPP Synchronization objects now return HRes (error code) instead of bool.\r
160 \r
161 \r
162 4.45 beta      2007-04-16\r
163 -------------------------\r
164 - 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at \r
165   stratup code, or you must add CPP/Common/CRC.cpp to your project.\r
166 - Method ID in .7z now is 63-bit integer (UInt64).\r
167 - Open error messages\r
168 - unRar 1.5 fixed\r
169 - unShrink fixed\r
170 - BUG of 4.43 beta and 4.44 beta was fixed.\r
171   7-Zip compressing to .zip in multi-threading mode didn't work in some cases.\r
172 \r
173 \r
174 4.44 beta      2007-01-20\r
175 -------------------------\r
176 \r
177 - Bug was fixed: LZMAEncoder.cpp::CEncoder::GetOptimumFast\r
178   it was:\r
179     data++\r
180   fixed version:\r
181     data = _matchFinder.GetPointerToCurrentPos(_matchFinderObj) - 1;\r
182   It could lead to very small cpmpression ratio decreasing when block needs move.\r
183 \r
184 \r
185 4.30 beta      2005-11-18\r
186 -------------------------\r
187 - Security.h::AddLockMemoryPrivilege       - installs "Large pages" feature\r
188 - MemoryLock.h::EnableLockMemoryPrivilege  - enables "Large pages" feature\r
189 - Alloc.h::SetLargePageSize                - sets optimal LargePageSize size\r
190 \r
191 \r
192 4.27           2005-09-21\r
193 -------------------------\r
194 - Some GUIDs/interfaces were changed.\r
195  IStream.h:\r
196    ISequentialInStream::Read now works as old ReadPart\r
197    ISequentialOutStream::Write now works as old WritePart\r
198 \r
199 \r
200 4.26 beta      2005-08-05\r
201 -------------------------\r
202 -  MyAlloc(0)/BigAlloc(0) now return 0\r
203 \r
204 \r
205 4.25 beta      2005-07-31\r
206 -------------------------\r
207 -  More 64-bit compatibilty\r
208 \r
209 \r
210 4.24 beta      2005-07-06\r
211 -------------------------\r
212 -  Common\NewHandler.h: using throw() for code size optimization.\r
213 \r
214 \r
215 4.23           2005-06-29\r
216 -------------------------\r
217 -  Bug was fixed: memory leak in Cab decoder.\r
218 \r
219 \r
220 4.19 beta      2005-05-21\r
221 -------------------------\r
222 -  BZip2 code was rewritten. Now 7-Zip doesn't use original BZip2 code.\r
223   Old (original) version was moved to folder 7zip/Compress/BZip2Original/\r
224 \r
225 \r
226 4.14 beta      2005-01-11\r
227 -------------------------\r
228 -  STL using was reduced\r
229 -  7za now supports Split(001) archves\r
230 \r
231 \r
232 4.10 beta      2004-10-21\r
233 -------------------------\r
234 -  Codecs now use new interface: ICompressSetDecoderProperties2\r
235 \r
236 \r
237 4.07 beta      2004-10-03\r
238 -------------------------\r
239 -  some interfaces were changed slightly to support \r
240   -stdin -stdout mode.\r
241 -  FilterCoder for simple filters\r
242 -  Wildcard censor class was changed.\r
243 -  Bug was fixed: when encrypted stream was multiple 16,\r
244   it used additional 16 empty bytes.\r
245 \r
246 \r
247 3.11           2003-10-06\r
248 -------------------------\r
249   File functions support unicode strings even\r
250   on Windows 95/98/ME.\r
251 \r
252 \r
253 3.08.02        2003-09-20\r
254 -------------------------\r
255   More compatible with GCC.\r
256 \r
257 \r
258 3.08.02 beta   2003-08-20\r
259 -------------------------\r
260   Extracting bug in 7zExtract.cpp was fixed.\r
261  \r
262 \r
263 3.08 beta      2003-08-19\r
264 -------------------------\r
265   Big source code reconstruction.\r
266  \r
267 \r
268 2.30 Beta 32   2003-05-15\r
269 -------------------------\r
270   Small changes in Deflate decoder.\r
271  \r
272 \r
273 2.30 Beta 31   2003-04-29\r
274 -------------------------\r
275   Common/NewHandler.cpp\r
276     HeapAlloc in (included to beta 30) was changed to malloc.\r
277     HeapAlloc worked slower in Win95/98/Me.\r
278  \r
279 \r
280 2.30 Beta 30   2003-04-21\r
281 -------------------------\r
282   new file: Common/String.cpp\r
283   Common/NewHandler.*  were changed\r
284 \r
285 \r
286 2.30 Beta 29   2003-04-07\r
287 -------------------------\r
288   Small changes in LZMA code.\r
289 \r
290 \r
291 2.30 Beta 28   2003-02-16\r
292 -------------------------\r
293   Processing anti-files was corrected.\r
294 \r
295 \r
296 2.30 Beta 27   2003-01-24\r
297 -------------------------\r
298   Project/Archiver/Format/Common/ArchiveInterface.h:\r
299     new IArchiveOpenVolumeCallback interface.\r
300 \r
301 \r
302 2.30 Beta 26   2003-01-12\r
303 -------------------------\r
304   SDK/Interface/PropID.h:\r
305     kpidComment now is kpidCommented\r
306 \r
307 \r
308 2.30 Beta 25   2003-01-02\r
309 -------------------------\r
310   Main archive interfaces were changed.\r
311 \r
312 \r
313 2.30 Beta 24   2002-11-01\r
314 -------------------------\r
315   SDK/Windows/Synchronization.h \r
316   SDK/Windows/Synchronization.cpp\r
317     - some changes.\r
318 \r
319 \r
320 2.30 Beta 23   2002-09-07\r
321 -------------------------\r
322   Project/FileManager folder was added.\r
323   Notation of some source files was changed.\r
324 \r
325 \r
326 2.30 Beta 22   2002-08-28\r
327 -------------------------\r
328   Project/FileManager folder was added.\r
329   Notation of some source files was changed.\r
330 \r
331 \r
332 \r
333 2.30 Beta 21   2002-07-08\r
334 -------------------------\r
335   Project/Compress/LZ/MatchFinder/BinTree/BinTree.h\r
336   Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h\r
337   Project/Compress/LZ/MatchFinder/BinTree/HC.h\r
338   Project/Compress/LZ/MatchFinder/BinTree/HCMain.h\r
339     - RAM requirements for LZMA (7z) compression were reduced.\r
340 \r
341 \r
342 2.30 Beta 20   2002-07-01\r
343 -------------------------\r
344 - SDK/Stream/WindowOut.h \r
345     now it uses only required memory (dictionary size).\r
346 - Project/Archiver/Resource \r
347     contains common resurces\r
348 \r
349 \r
350 2.30 Beta 19   2002-04-11\r
351 -------------------------\r
352 - SDK/Archive/Rar/Handler.cpp\r
353     supporting RAR29\r
354 \r
355 2.30 Beta 18   2002-03-25\r
356 -------------------------\r
357 - SDK/Archive/Cab/MSZipDecoder.cpp\r
358   SDK/Archive/Cab/LZXDecoder.cpp:\r
359     bug with corrupted archives was fixed\r
360 - Project/Compress/LZ/MatchFinder/BinTree/BinTree.h \r
361 - Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h \r
362     some speed optimization (using prefetching)\r
363 \r
364 \r
365 2.30 Beta 17   2002-03-03\r
366 -------------------------\r
367 - ARJ suppport.\r
368 \r
369 \r
370 2.30 Beta 16   2002-02-24\r
371 -------------------------\r
372 - Project/Compress/LZ/LZMA/Decoder.cpp:\r
373     Bug was fixed: LZMA could not extract more than 4 GB.\r
374 - RPM and CPIO formats.\r
375 - Project/Compress/LZ/LZMA/Encoder.*\r
376   Project/Archiver/Format/7z/OutHandler.cpp \r
377     New fast compression mode for LZMA: -m0a=0.\r
378 - New match finders for LZMA: bt4b, hc3, hc4.\r
379 \r
380 \r
381 2.30 Beta 15   2002-02-17\r
382 -------------------------\r
383 - Compression ratio in LZMA was slightly improved:\r
384     Project/Compress/LZ/LZMA/Encoder.*\r
385     Project/Archiver/Format/7z/OutHandler.cpp \r
386 \r
387 \r
388 2.30 Beta 14   2002-02-10\r
389 -------------------------\r
390 - Supporting multithreading for LZMA:\r
391     Project/Compress/LZ/MatchFinder/MT \r
392 - Common/String.h:\r
393     CStringBase::Replace function was fixed.\r
394 \r
395 \r
396 2.30 Beta 13   2002-01-27\r
397 -------------------------\r
398 - Compress/LZ/MatchFinder/BinTree3.h: \r
399    method\r
400 - Compress/LZ/MatchFinder/BinTreemain.h: \r
401     - one VirtualAlloc array was splitted to \r
402       the for 3 arrays.\r
403     - Hash-functions were changed.\r
404 \r
405 \r
406 \r
407 2.30 Beta 12   2002-01-16\r
408 -------------------------\r
409 - Compress/LZ/MatchFinder/BinTreemain.h: \r
410   Compress/LZ/MatchFinder/Patricia.h: \r
411   Compress/PPM/PPMd/SubAlloc.h: \r
412     Beta 11 bugs were fixed:\r
413       - VirtualFree was used incorrectly\r
414       - checking WIN32 instead _WINDOWS.\r
415   Compress/LZ/MatchFinder/Patricia.h: \r
416     Beta 11 bug with deleting m_Hash2Descendants was fixed.\r
417 \r
418 \r
419 2.30 Beta 11   2002-01-15\r
420 -------------------------\r
421 - Compress/LZ/MatchFinder/BinTreemain.h: \r
422   Compress/LZ/MatchFinder/Patricia.h: \r
423   Compress/PPM/PPMd/SubAlloc.h: \r
424     using VirtualAlloc for memory allocating\r
425 - Exlorer/ContextMenu.cpp: \r
426     Testing supporting.\r
427     CreateProcess instead WinExec\r
428 - Format/Common/IArchiveHandler.h:\r
429   Exlorer/ProxyHandler.cpp:\r
430   FAR/Plugin.cpp:\r
431     New properties names: Method, HostOS.\r
432 - Exlorer/OverwriteDialog.cpp:\r
433   FAR/OverwriteDialog.cpp:\r
434   Windows/PropVariantConversions.h\r
435     Using National time format was eliminated.\r
436 \r
437 \r
438 \r
439 2.30 Beta 10   2002-01-11\r
440 -------------------------\r
441 - Exlorer/ContextMenu.cpp: bug with context menu on \r
442   Windows NT4 in Unicode version was fixed.\r
443 - Format/7z/UpdateArchiveEngine.cpp: bug was fixed - \r
444   Updating in Beta 8 and 9 didn't work.\r
445 - Exlorer/CCompressDialog.cpp: history growing bug was fixed.\r
446 \r
447 \r
448 2.30 Beta 9    2002-01-08\r
449 -------------------------\r
450 - SDK/Common/Vector.h: sopporting sorted object vectors .\r
451 - Lang features.\r
452 - Two new match finders: pat3h and pat4h.\r
453 - SDK/Archive/Zip/InEngine.cpp: bug was fixed.\r
454 - SDK/Windows/FileDir.cpp: function CreateComplexDirectory\r
455   was changed.\r
456 \r