• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1HISTORY of the 7-Zip source code
2--------------------------------
3
424.05          2024-05-14
5-------------------------
6- New switch -myv={MMNN} to set decoder compatibility version for 7z archive creating.
7  {MMNN} is 4-digit number that represents the version of 7-Zip without a dot.
8  If -myv={MMNN} switch is specified, 7-Zip will only use compression methods that can
9  be decoded by the specified version {MMNN} of 7-Zip and newer versions.
10  If -myv={MMNN} switch is not specified, -myv=2300 is used, and 7-Zip will only
11  use compression methods that can be decoded by 7-Zip 23.00 and newer versions.
12- New switch -myfa={FilterID} to    allow 7-Zip to use the specified filter method for 7z archive creating.
13- New switch -myfd={FilterID} to disallow 7-Zip to use the specified filter method for 7z archive creating.
14
15
1624.03          2024-03-23
17-------------------------
18- 7-Zip now can use new RISCV filter for compression to 7z and xz archives.
19  RISCV filter can increase compression ratio for data containing executable
20  files compiled for RISC-V architecture.
21- The speed for LZMA and LZMA2 decompression in ARM64 version for Windows
22  was increased by 20%-60%.
23  It uses arm64 assembler code, and clang-cl is required for arm64 assembler code compiling.
24- Some bugs were fixed.
25
26
2724.01          2024-01-31
28-------------------------
29- 7-Zip uses file C/Precomp.h that is included to all c and c++ files.
30  CPP/Common/Common.h also includes C/Precomp.h.
31  C/Precomp.h defines the following macros (if _WIN32 is defined):
32    Z7_LARGE_PAGES 1
33    Z7_LONG_PATH 1
34    Z7_WIN32_WINNT_MIN  0x0500 (or higher)
35    _WIN32_WINNT        0x0500 (or higher)
36    WINVER  _WIN32_WINNT
37    UNICODE 1
38    _UNICODE 1
39  if _WIN32_WINNT is defined already, C/Precomp.h doesn't redefine it.
40
41- 7-Zip now can unpack ZSTD archives (.zst extension).
42- 7-Zip now can unpack ZIP and SquashFS archives that use ZSTD compression method.
43- 7-Zip now supports fast hash algorithm XXH64 that is used in ZSTD.
44- Speed optimizations for archive unpacking: rar, zip, gz, wim, cab.
45- Speed optimizations for hash caclulation: CRC-32, CRC-64, Blake2sp.
46- The bug was fixed: 7-Zip for Linux could fail for multivolume creation in some cases.
47- Some bugs were fixed.
48
49
5023.01          2023-06-20
51-------------------------
52- All external macros for compiling C/C++ code of 7-Zip now have Z7_ prefix.
53- 7-Zip COM interfaces now use new macros that allow to declare and implement COM interface.
54- The code has been modified to compile with the maximum diagnostic warning level:
55    -Wall in MSVC and -Weverything in CLANG.
56  And some warning types are disabled in 2 files:
57    - C/Compiler.h for C/C++ code warnings.
58    - CPP/Common/Common.h for C++ code warnings.
59- Linux/macOS versions of 7-Zip: IUnknown interface in new code doesn't use
60  virtual destructor that was used in previous 7-Zip and p7zip:
61     // virtual ~IUnknown() {}
62  So 7-Zip's dynamically linked shared libraries (codecs) are not compatible
63  between new 7-Zip for Linux/macOS and old 7-Zip (and p7zip).
64- Some optimizations in filters code: BCJ, BCJ2, Swap* and opthers.
65- If 7-Zip uses BCJ2 filter for big datasets compressing, it can use additional temp
66  files in system's TEMP folder. 7-Zip uses temp file for additional compressed
67  data stream, if size of such compressed stream is larger than predefined limit:
68  16 MiB in 32-bit version, 4 GiB in 64-bit version.
69- Some bugs were fixed.
70
71
7222.00          2022-06-16
73-------------------------
74- 7-Zip interfaces now support high precision (1 ns) timestamps with reserved
75  fields of tagPROPVARIANT (VT_FILETIME).
76
77
7821.07          2021-12-26
79-------------------------
80- The sorting order of files in archives was slightly changed to be more consistent
81  for cases where the name of some directory is the same as the prefix part of the name
82  of another directory or file.
83- TAR archives created by 7-Zip now are more consistent with archives created by GNU TAR program.
84
85
8621.06          2021-11-24
87-------------------------
88- Bug in LZMA encoder in file LzmaEnc.c was fixed:
89  LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly,
90    if size value for output buffer is smaller than size required for all compressed data.
91  LzmaEnc_Encode() could work incorrectly,
92    if callback ISeqOutStream::Write() doesn't write all compressed data.
93  NCompress::NLzma::CEncoder::Code() could work incorrectly,
94    if callback ISequentialOutStream::Write() returns error code.
95- Bug in versions 21.00-21.05 was fixed:
96  7-Zip didn't set attributes of directories during archive extracting.
97
98
9921.04 beta     2021-11-02
100-------------------------
101- 7-Zip now reduces the number of working CPU threads for compression,
102  if RAM size is not enough for compression with big LZMA2 dictionary.
103- 7-Zip now can create and check "file.sha256" and "file.sha1" text files
104  that contain the list of file names and SHA-1 / SHA-256 checksums in format
105  compatible with sha1sum/sha256sum programs.
106
107
10821.03 beta     2021-07-20
109-------------------------
110- The maximum dictionary size for LZMA/LZMA2 compressing was increased to 4 GB (3840 MiB).
111- Minor speed optimizations in LZMA/LZMA2 compressing.
112
113
11421.02 alpha    2021-05-06
115-------------------------
116- 7-Zip now writes additional field for filename in UTF-8 encoding to zip archives.
117  It allows to extract correct file name from zip archives on different systems.
118- The command line version of 7-Zip for macOS was released.
119- The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux
120  was increased by 20%-60%.
121- Some changes and improvements in ZIP, TAR and NSIS code.
122
123
12421.01 alpha    2021-03-09
125-------------------------
126- The command line version of 7-Zip for Linux was released.
127- The improvements for speed of ARM64 version using hardware CPU instructions
128  for AES, CRC-32, SHA-1 and SHA-256.
129- The bug in versions 18.02 - 21.00 was fixed:
130  7-Zip could not correctly extract some ZIP archives created with xz compression method.
131- Some bugs were fixed.
132
133
13420.02 alpha    2020-08-08
135-------------------------
136- The default number of LZMA2 chunks per solid block in 7z archive was increased to 64.
137  It allows to increase the compression speed for big 7z archives, if there is a big number
138  of CPU cores and threads.
139- The speed of PPMd compressing/decompressing was increased for 7z/ZIP/RAR archives.
140- The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system
141  to modify "Last Access Time" property of source files for archiving and hashing operations.
142- Some bugs were fixed.
143
144
14520.00 alpha    2020-02-06
146-------------------------
147- 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5,
148  that can work faster than bt4 and hc4 match finders for the data with big redundancy.
149- The compression ratio was improved for Fast and Fastest compression levels with the
150  following default settings:
151   - Fastest level (-mx1) : hc5 match finder with 256 KB dictionary.
152   - Fast    level (-mx3) : hc5 match finder with 4 MB dictionary.
153- Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra
154  compression levels.
155- bzip2 decoding code was updated to support bzip2 archives, created by lbzip2 program.
156
157
15819.02          2019-09-05
159-------------------------
160- Support for SHA-1/SHA-256 optimized code in
161  Sha1Opt.c, Sha256Opt.c, Sha256Opt.asm, Sha1Opt.asm.
162
163
16419.00          2019-02-21
165-------------------------
166- Encryption strength for 7z archives was increased:
167  the size of random initialization vector was increased from 64-bit to 128-bit,
168  and the pseudo-random number generator was improved.
169- Some bugs were fixed.
170
171
17218.06          2018-12-30
173-------------------------
174- The speed for LZMA/LZMA2 compressing was increased by 3-10%,
175  and there are minor changes in compression ratio.
176- Some bugs were fixed.
177- The bug in 7-Zip 18.02-18.05 was fixed:
178  There was memory leak in multithreading xz decoder - XzDecMt_Decode(),
179  if xz stream contains only one block.
180- 7-Zip 18.02-18.05 used only one CPU thread for bz2 archive creation.
181- The changes for MSVS compiler makefiles:
182   - the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64)
183     instead of "CPU" macroname with values (AMD64, ARM64).
184   - the makefiles by default now use static version of the run-time library.
185
186
18718.05          2018-04-30
188-------------------------
189- The speed for LZMA/LZMA2 compressing was increased
190    by 8% for fastest/fast compression levels and
191    by 3% for normal/maximum compression levels.
192- Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in
193  Windows 10 because of some BUG with "Large Pages" in Windows 10.
194  Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299).
195
196
19718.03 beta     2018-03-04
198-------------------------
199- Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm
200  for x64 with about 30% higher speed than main version of LZMA decoder written in C.
201- The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%.
202- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
203  if there are multiple independent data chunks in LZMA2 stream.
204- 7-Zip now can use multi-threading for xz decoding,
205  if there are multiple blocks in xz stream.
206
207
20817.00 beta     2017-04-29
209-------------------------
210- NewHandler.h / NewHandler.cpp:
211    now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900).
212- C/7zTypes.h : the names of variables in interface structures were changed (vt).
213- Some bugs were fixed. 7-Zip could crash in some cases.
214- Some internal changes in code.
215
216
21716.02          2016-05-21
218-------------------------
219- The BUG in 16.00 - 16.01 was fixed:
220  Split Handler (SplitHandler.cpp) returned incorrect
221  total size value (kpidSize) for split archives.
222
223
22416.01          2016-05-19
225-------------------------
226- Some bugs were fixed,
227- Some internal changes to reduce the number of compiler warnings.
228
229
23016.00          2016-05-10
231-------------------------
232- 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip).
233- Some bugs were fixed,
234
235
23615.12          2015-11-19
237-------------------------
238- The BUG in C version of 7z decoder was fixed:
239  7zDec.c : SzDecodeLzma2()
240  7z decoder could mistakenly report about decoding error for some 7z archives
241  that use LZMA2 compression method.
242  The probability to get that mistaken decoding error report was about
243  one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size).
244- The BUG (in 9.26-15.11) in C version of 7z decoder was fixed:
245  7zArcIn.c : SzReadHeader2()
246  7z decoder worked incorrectly for 7z archives that contain
247  empty solid blocks, that can be placed to 7z archive, if some file is
248  unavailable for reading during archive creation.
249
250
25115.09 beta     2015-10-16
252-------------------------
253- The BUG in LZMA / LZMA2 encoding code was fixed.
254  The BUG in LzFind.c::MatchFinder_ReadBlock() function.
255  If input data size is larger than (4 GiB - dictionary_size),
256  the following code worked incorrectly:
257  -  LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions
258     for compressing from memory to memory.
259     That BUG is not related to LZMA encoder version that works via streams.
260  -  LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if
261     default value of chunk size (CLzma2EncProps::blockSize) is changed
262     to value larger than (4 GiB - dictionary_size).
263
264
2659.38 beta      2015-01-03
266-------------------------
267- The BUG in 9.31-9.37 was fixed:
268  IArchiveGetRawProps interface was disabled for 7z archives.
269- The BUG in 9.26-9.36 was fixed:
270  Some code in CPP\7zip\Archive\7z\ worked correctly only under Windows.
271
272
2739.36 beta      2014-12-26
274-------------------------
275- The BUG in command line version was fixed:
276  7-Zip created temporary archive in current folder during update archive
277  operation, if -w{Path} switch was not specified.
278  The fixed 7-Zip creates temporary archive in folder that contains updated archive.
279- The BUG in 9.33-9.35 was fixed:
280  7-Zip silently ignored file reading errors during 7z or gz archive creation,
281  and the created archive contained only part of file that was read before error.
282  The fixed 7-Zip stops archive creation and it reports about error.
283
284
2859.31           2012-10-31
286-------------------------
287- InBuffer.h : CInBuffer  uses ISequentialInStream  *_stream; instead of CMyComPtr<ISequentialInStream>
288  OutBuffer.h: COutBuffer uses ISequentialOutStream *_stream; instead of CMyComPtr<ISequentialOutStream>
289
290
2919.26           2011-04-11
292-------------------------
293- The BUG was fixed: multi-threaded ZIP stored file size that was at scan stage,
294  So if the file was changed after scan, the Unpack Size field was incorrect
295
296
2979.21           2011-04-11
298-------------------------
299- New class FString for file names at file systems.
300- Speed optimization in CRC code for big-endian CPUs.
301
302
3039.18           2010-11-02
304-------------------------
305- New small SFX module for installers (C/Util/SfxSetup).
306
307
3089.17           2010-10-04
309-------------------------
310- IStream.h::IOutStream::
311    STDMETHOD(SetSize)(Int64 newSize) PURE;
312  was changed to
313    STDMETHOD(SetSize)(UInt64 newSize) PURE;
314
315
3169.09           2009-12-12
317-------------------------
318- The bug was fixed:
319   Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c
320   incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8.
321
322
3239.05           2009-07-05
324-------------------------
325- FileMapping.h::CFileMapping now returns WRes
326
327
3289.04           2009-05-30
329-------------------------
330- ICoder.h: NCoderPropID::EEnum values were changed
331
332
3339.02           2009-04-23
334-------------------------
335- Bug was fixed: if swap2 filter was requests at compression,
336  7-zip used swap4 filter instead (but id was swap2), so archives were incorrect.
337
3384.61           2008-11-23
339-------------------------
340- Bug in ver. 4.58+ was fixed:
341   7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives.
342- Bug in .CAB code was fixed. 7-Zip didn't show some empty files,
343  if .CAB archive contains more than one empty file.
344
345
3464.59           2008-07-27
347-------------------------
348- Bug was fixed:
349   LZMA Encoder in fast compression mode could access memory outside of
350   allocated range in some rare cases.
351
352
3534.59 alpha     2008-05-30
354-------------------------
355- BUGS was fixed:
356    7zOut.cpp: 7-Zip incorrectly wrote size of property records in some cases.
357    7zIn.cpp:  7-Zip incorrectly work with archive, containg archive properties.
358
3594.58 alpha 9   2008-04-29
360-------------------------
361- BUG was fixed: 7-Zip showed incorrect timestamps in ISO files.
362
363
3644.58 alpha 8   2008-04-15
365-------------------------
366- BUG in 4.58 alpha 5/6/7 was fixed:
367    LZMA encoder worked incorrectly, if lp != 0.
368- Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes:
369    1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.
370    2) -mcu switch:  7-Zip uses UTF-8, if there are non-ASCII symbols.
371    3) -mcl switch:  7-Zip uses local code page.
372- Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on
373
374
3754.58 alpha 7   2008-04-08
376-------------------------
377- BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without
378  creating, when BZip2 code was called with one thread (with -mmt1 switch or with
379  default switches on single thread CPU).
380- .lzma support.
381- RPM and NSIS support was improved.
382- LZMA now stores only (2 << n) or (3 << n) dictionary size value to LZMA properties.
383
384
3854.58 alpha 6   2008-03-27
386-------------------------
387- NTFS time extra in ZIP.
388- New item property - kpidTimeType - VT_UI4 (0 - NTFS, 1 - Unix, 2 - DOS).
389- Static CRC table is not required now for Lzma Encoder (in Lz MatchFinder).
390
391
3924.58 alpha 5   2008-03-19
393-------------------------
394- Creation time (-mtc switch) for .7z archives
395- LZMA encoder was converted to ANSI-C
396
397
3984.58 alpha 3   2008-02-25
399-------------------------
400- Speed optimizations for LZMA decoding. Now it uses C code instead of C++.
401- 7-Zip now has 128 MB dictionary limit for 32-bit version:
402  It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2;
403- TAR: 'D' link flag support.
404- 7-Zip now can unpack multivolume RAR archives created with
405  "old style volume names" scheme (-vn switch) and names *.001, *.002, ...
406- Fixed bugs:
407  - 7-Zip FM could not copy / move files to root network folders like \\COMPNAME\FOLDERNAME\
408    In case of move it removed original files.
409  - SFX-WIN: if there are errors, it still could return 0.
410  - ZIP (.XPS file) isZip64 && thisDiskNumber16 == 0xFFFF.
411  - ZIP name updating:
412      If zip file contains extra field and you try to change properties of files,
413      7-zip tries to delete all extra fileds (except for WzAES).
414      And that code could hang.
415  -  7-Zip GUI didn't suggest BZip2 dictionary size used in previous run.
416  -  If creation time stamp was included in .RAR archive, 7-zip used creation time stamp
417     as modification time stamp.
418
4194.58 alpha 2   2007-12-31
420-------------------------
421- Small changes in Deflate and LZMA compression.
422- Some speed optimizations.
423
424
4254.57
426----
427- Bug was fixed:
428  Anti item is created for wrong file:
429  http://sourceforge.net/forum/forum.php?thread_id=1880366&forum_id=45798
430
431
4324.52 beta      2007-07-32
433-------------------------
434- 7-Zip could not decompress some cab files
435- "." dir creating at FAT was fixed / long names
436
437
4384.50 beta      2007-07-24
439-------------------------
440- 7-Zip now replaces unsupported filenames (like "nul", "com1") during extracting.
441- New switch for command line version:
442    -ssc[-] enables/disables case-sensitive mode.
443- 7z.exe l shows archive comment for zip archives
444- Some bugs were fixed: long paths names shorter than 4.
445- Speed optimizations for AES encryption.
446
447
448
4494.56 beta      2007-09-13
450-------------------------
451- some fixes in LZ encoder (LZMA and Deflate) code.
452 size_t was replaces to ptrdiff_t.
453 size_t version worked incorrectly with some compilers.
454
455
4564.46 beta      2007-05-25
457-------------------------
458- CPP Synchronization objects now return HRes (error code) instead of bool.
459
460
4614.45 beta      2007-04-16
462-------------------------
463- 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at
464  stratup code, or you must add CPP/Common/CRC.cpp to your project.
465- Method ID in .7z now is 63-bit integer (UInt64).
466- Open error messages
467- unRar 1.5 fixed
468- unShrink fixed
469- BUG of 4.43 beta and 4.44 beta was fixed.
470  7-Zip compressing to .zip in multi-threading mode didn't work in some cases.
471
472
4734.44 beta      2007-01-20
474-------------------------
475
476- Bug was fixed: LZMAEncoder.cpp::CEncoder::GetOptimumFast
477  it was:
478    data++
479  fixed version:
480    data = _matchFinder.GetPointerToCurrentPos(_matchFinderObj) - 1;
481  It could lead to very small cpmpression ratio decreasing when block needs move.
482
483
4844.30 beta      2005-11-18
485-------------------------
486- Security.h::AddLockMemoryPrivilege       - installs "Large pages" feature
487- MemoryLock.h::EnableLockMemoryPrivilege  - enables "Large pages" feature
488- Alloc.h::SetLargePageSize                - sets optimal LargePageSize size
489
490
4914.27           2005-09-21
492-------------------------
493- Some GUIDs/interfaces were changed.
494 IStream.h:
495   ISequentialInStream::Read now works as old ReadPart
496   ISequentialOutStream::Write now works as old WritePart
497
498
4994.26 beta      2005-08-05
500-------------------------
501-  MyAlloc(0)/BigAlloc(0) now return 0
502
503
5044.25 beta      2005-07-31
505-------------------------
506-  More 64-bit compatibilty
507
508
5094.24 beta      2005-07-06
510-------------------------
511-  Common\NewHandler.h: using throw() for code size optimization.
512
513
5144.23           2005-06-29
515-------------------------
516-  Bug was fixed: memory leak in Cab decoder.
517
518
5194.19 beta      2005-05-21
520-------------------------
521-  BZip2 code was rewritten. Now 7-Zip doesn't use original BZip2 code.
522  Old (original) version was moved to folder 7zip/Compress/BZip2Original/
523
524
5254.14 beta      2005-01-11
526-------------------------
527-  STL using was reduced
528-  7za now supports Split(001) archves
529
530
5314.10 beta      2004-10-21
532-------------------------
533-  Codecs now use new interface: ICompressSetDecoderProperties2
534
535
5364.07 beta      2004-10-03
537-------------------------
538-  some interfaces were changed slightly to support
539  -stdin -stdout mode.
540-  FilterCoder for simple filters
541-  Wildcard censor class was changed.
542-  Bug was fixed: when encrypted stream was multiple 16,
543  it used additional 16 empty bytes.
544
545
5463.11           2003-10-06
547-------------------------
548  File functions support unicode strings even
549  on Windows 95/98/ME.
550
551
5523.08.02        2003-09-20
553-------------------------
554  More compatible with GCC.
555
556
5573.08.02 beta   2003-08-20
558-------------------------
559  Extracting bug in 7zExtract.cpp was fixed.
560
561
5623.08 beta      2003-08-19
563-------------------------
564  Big source code reconstruction.
565
566
5672.30 Beta 32   2003-05-15
568-------------------------
569  Small changes in Deflate decoder.
570
571
5722.30 Beta 31   2003-04-29
573-------------------------
574  Common/NewHandler.cpp
575    HeapAlloc in (included to beta 30) was changed to malloc.
576    HeapAlloc worked slower in Win95/98/Me.
577
578
5792.30 Beta 30   2003-04-21
580-------------------------
581  new file: Common/String.cpp
582  Common/NewHandler.*  were changed
583
584
5852.30 Beta 29   2003-04-07
586-------------------------
587  Small changes in LZMA code.
588
589
5902.30 Beta 28   2003-02-16
591-------------------------
592  Processing anti-files was corrected.
593
594
5952.30 Beta 27   2003-01-24
596-------------------------
597  Project/Archiver/Format/Common/ArchiveInterface.h:
598    new IArchiveOpenVolumeCallback interface.
599
600
6012.30 Beta 26   2003-01-12
602-------------------------
603  SDK/Interface/PropID.h:
604    kpidComment now is kpidCommented
605
606
6072.30 Beta 25   2003-01-02
608-------------------------
609  Main archive interfaces were changed.
610
611
6122.30 Beta 24   2002-11-01
613-------------------------
614  SDK/Windows/Synchronization.h
615  SDK/Windows/Synchronization.cpp
616    - some changes.
617
618
6192.30 Beta 23   2002-09-07
620-------------------------
621  Project/FileManager folder was added.
622  Notation of some source files was changed.
623
624
6252.30 Beta 22   2002-08-28
626-------------------------
627  Project/FileManager folder was added.
628  Notation of some source files was changed.
629
630
631
6322.30 Beta 21   2002-07-08
633-------------------------
634  Project/Compress/LZ/MatchFinder/BinTree/BinTree.h
635  Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h
636  Project/Compress/LZ/MatchFinder/BinTree/HC.h
637  Project/Compress/LZ/MatchFinder/BinTree/HCMain.h
638    - RAM requirements for LZMA (7z) compression were reduced.
639
640
6412.30 Beta 20   2002-07-01
642-------------------------
643- SDK/Stream/WindowOut.h
644    now it uses only required memory (dictionary size).
645- Project/Archiver/Resource
646    contains common resurces
647
648
6492.30 Beta 19   2002-04-11
650-------------------------
651- SDK/Archive/Rar/Handler.cpp
652    supporting RAR29
653
6542.30 Beta 18   2002-03-25
655-------------------------
656- SDK/Archive/Cab/MSZipDecoder.cpp
657  SDK/Archive/Cab/LZXDecoder.cpp:
658    bug with corrupted archives was fixed
659- Project/Compress/LZ/MatchFinder/BinTree/BinTree.h
660- Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h
661    some speed optimization (using prefetching)
662
663
6642.30 Beta 17   2002-03-03
665-------------------------
666- ARJ suppport.
667
668
6692.30 Beta 16   2002-02-24
670-------------------------
671- Project/Compress/LZ/LZMA/Decoder.cpp:
672    Bug was fixed: LZMA could not extract more than 4 GB.
673- RPM and CPIO formats.
674- Project/Compress/LZ/LZMA/Encoder.*
675  Project/Archiver/Format/7z/OutHandler.cpp
676    New fast compression mode for LZMA: -m0a=0.
677- New match finders for LZMA: bt4b, hc3, hc4.
678
679
6802.30 Beta 15   2002-02-17
681-------------------------
682- Compression ratio in LZMA was slightly improved:
683    Project/Compress/LZ/LZMA/Encoder.*
684    Project/Archiver/Format/7z/OutHandler.cpp
685
686
6872.30 Beta 14   2002-02-10
688-------------------------
689- Supporting multithreading for LZMA:
690    Project/Compress/LZ/MatchFinder/MT
691- Common/String.h:
692    CStringBase::Replace function was fixed.
693
694
6952.30 Beta 13   2002-01-27
696-------------------------
697- Compress/LZ/MatchFinder/BinTree3.h:
698   method
699- Compress/LZ/MatchFinder/BinTreemain.h:
700    - one VirtualAlloc array was splitted to
701      the for 3 arrays.
702    - Hash-functions were changed.
703
704
705
7062.30 Beta 12   2002-01-16
707-------------------------
708- Compress/LZ/MatchFinder/BinTreemain.h:
709  Compress/LZ/MatchFinder/Patricia.h:
710  Compress/PPM/PPMd/SubAlloc.h:
711    Beta 11 bugs were fixed:
712      - VirtualFree was used incorrectly
713      - checking WIN32 instead _WINDOWS.
714  Compress/LZ/MatchFinder/Patricia.h:
715    Beta 11 bug with deleting m_Hash2Descendants was fixed.
716
717
7182.30 Beta 11   2002-01-15
719-------------------------
720- Compress/LZ/MatchFinder/BinTreemain.h:
721  Compress/LZ/MatchFinder/Patricia.h:
722  Compress/PPM/PPMd/SubAlloc.h:
723    using VirtualAlloc for memory allocating
724- Exlorer/ContextMenu.cpp:
725    Testing supporting.
726    CreateProcess instead WinExec
727- Format/Common/IArchiveHandler.h:
728  Exlorer/ProxyHandler.cpp:
729  FAR/Plugin.cpp:
730    New properties names: Method, HostOS.
731- Exlorer/OverwriteDialog.cpp:
732  FAR/OverwriteDialog.cpp:
733  Windows/PropVariantConversions.h
734    Using National time format was eliminated.
735
736
737
7382.30 Beta 10   2002-01-11
739-------------------------
740- Exlorer/ContextMenu.cpp: bug with context menu on
741  Windows NT4 in Unicode version was fixed.
742- Format/7z/UpdateArchiveEngine.cpp: bug was fixed -
743  Updating in Beta 8 and 9 didn't work.
744- Exlorer/CCompressDialog.cpp: history growing bug was fixed.
745
746
7472.30 Beta 9    2002-01-08
748-------------------------
749- SDK/Common/Vector.h: sopporting sorted object vectors .
750- Lang features.
751- Two new match finders: pat3h and pat4h.
752- SDK/Archive/Zip/InEngine.cpp: bug was fixed.
753- SDK/Windows/FileDir.cpp: function CreateComplexDirectory
754  was changed.
755
756