1 Sources history of the 7-Zip
\r
2 ----------------------------
\r
5 -------------------------
\r
6 - New small SFX module for installers (C/Util/SfxSetup).
\r
10 -------------------------
\r
11 - IStream.h::IOutStream::
\r
12 STDMETHOD(SetSize)(Int64 newSize) PURE;
\r
14 STDMETHOD(SetSize)(UInt64 newSize) PURE;
\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
25 -------------------------
\r
26 - FileMapping.h::CFileMapping now returns WRes
\r
30 -------------------------
\r
31 - ICoder.h: NCoderPropID::EEnum values were changed
\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
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
48 -------------------------
\r
50 LZMA Encoder in fast compression mode could access memory outside of
\r
51 allocated range in some rare cases.
\r
54 4.59 alpha 2008-05-30
\r
55 -------------------------
\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
60 4.58 alpha 9 2008-04-29
\r
61 -------------------------
\r
62 - BUG was fixed: 7-Zip showed incorrect timestamps in ISO files.
\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
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
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
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
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
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
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
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
129 Anti item is created for wrong file:
\r
130 http://sourceforge.net/forum/forum.php?thread_id=1880366&forum_id=45798
\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
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
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
157 4.46 beta 2007-05-25
\r
158 -------------------------
\r
159 - CPP Synchronization objects now return HRes (error code) instead of bool.
\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
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
174 4.44 beta 2007-01-20
\r
175 -------------------------
\r
177 - Bug was fixed: LZMAEncoder.cpp::CEncoder::GetOptimumFast
\r
181 data = _matchFinder.GetPointerToCurrentPos(_matchFinderObj) - 1;
\r
182 It could lead to very small cpmpression ratio decreasing when block needs move.
\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
193 -------------------------
\r
194 - Some GUIDs/interfaces were changed.
\r
196 ISequentialInStream::Read now works as old ReadPart
\r
197 ISequentialOutStream::Write now works as old WritePart
\r
200 4.26 beta 2005-08-05
\r
201 -------------------------
\r
202 - MyAlloc(0)/BigAlloc(0) now return 0
\r
205 4.25 beta 2005-07-31
\r
206 -------------------------
\r
207 - More 64-bit compatibilty
\r
210 4.24 beta 2005-07-06
\r
211 -------------------------
\r
212 - Common\NewHandler.h: using throw() for code size optimization.
\r
216 -------------------------
\r
217 - Bug was fixed: memory leak in Cab decoder.
\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
226 4.14 beta 2005-01-11
\r
227 -------------------------
\r
228 - STL using was reduced
\r
229 - 7za now supports Split(001) archves
\r
232 4.10 beta 2004-10-21
\r
233 -------------------------
\r
234 - Codecs now use new interface: ICompressSetDecoderProperties2
\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
248 -------------------------
\r
249 File functions support unicode strings even
\r
250 on Windows 95/98/ME.
\r
254 -------------------------
\r
255 More compatible with GCC.
\r
258 3.08.02 beta 2003-08-20
\r
259 -------------------------
\r
260 Extracting bug in 7zExtract.cpp was fixed.
\r
263 3.08 beta 2003-08-19
\r
264 -------------------------
\r
265 Big source code reconstruction.
\r
268 2.30 Beta 32 2003-05-15
\r
269 -------------------------
\r
270 Small changes in Deflate decoder.
\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
280 2.30 Beta 30 2003-04-21
\r
281 -------------------------
\r
282 new file: Common/String.cpp
\r
283 Common/NewHandler.* were changed
\r
286 2.30 Beta 29 2003-04-07
\r
287 -------------------------
\r
288 Small changes in LZMA code.
\r
291 2.30 Beta 28 2003-02-16
\r
292 -------------------------
\r
293 Processing anti-files was corrected.
\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
302 2.30 Beta 26 2003-01-12
\r
303 -------------------------
\r
304 SDK/Interface/PropID.h:
\r
305 kpidComment now is kpidCommented
\r
308 2.30 Beta 25 2003-01-02
\r
309 -------------------------
\r
310 Main archive interfaces were changed.
\r
313 2.30 Beta 24 2002-11-01
\r
314 -------------------------
\r
315 SDK/Windows/Synchronization.h
\r
316 SDK/Windows/Synchronization.cpp
\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
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
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
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
350 2.30 Beta 19 2002-04-11
\r
351 -------------------------
\r
352 - SDK/Archive/Rar/Handler.cpp
\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
365 2.30 Beta 17 2002-03-03
\r
366 -------------------------
\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
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
388 2.30 Beta 14 2002-02-10
\r
389 -------------------------
\r
390 - Supporting multithreading for LZMA:
\r
391 Project/Compress/LZ/MatchFinder/MT
\r
393 CStringBase::Replace function was fixed.
\r
396 2.30 Beta 13 2002-01-27
\r
397 -------------------------
\r
398 - Compress/LZ/MatchFinder/BinTree3.h:
\r
400 - Compress/LZ/MatchFinder/BinTreemain.h:
\r
401 - one VirtualAlloc array was splitted to
\r
403 - Hash-functions were changed.
\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
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
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
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
448 2.30 Beta 9 2002-01-08
\r
449 -------------------------
\r
450 - SDK/Common/Vector.h: sopporting sorted object vectors .
\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