xref: /aosp_15_r20/external/lzma/DOC/src-history.txt (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1HISTORY of the 7-Zip source code
2--------------------------------
3
424.09          2024-11-29
5-------------------------
6- The default dictionary size values for LZMA/LZMA2 compression methods were increased:
7         dictionary size   compression level
8  v24.08  v24.09  v24.09
9          32-bit  64-bit
10    8 MB   16 MB   16 MB   -mx4
11   16 MB   32 MB   32 MB   -mx5 : Normal
12   32 MB   64 MB   64 MB   -mx6
13   32 MB   64 MB  128 MB   -mx7 : Maximum
14   64 MB   64 MB  256 MB   -mx8
15   64 MB   64 MB  256 MB   -mx9 : Ultra
16  The default dictionary size values for 32-bit versions of LZMA/LZMA2 don't exceed 64 MB.
17- 7-Zip now can calculate the following hash checksums: SHA-512, SHA-384, SHA3-256 and MD5.
18- APM and HFS support was improved.
19- If an archive update operation uses a temporary archive folder and
20  the archive is moved to the destination folder, 7-Zip shows the progress of moving
21  the archive file, as this operation can take a long time if the archive is large.
22- The bug was fixed: 7-Zip File Manager didn't propagate Zone.Identifier stream
23  for extacted files from nested archives (if there is open archive inside another open archive).
24- Some bugs were fixed.
25
26
2724.08          2024-08-11
28-------------------------
29- The bug in 7-Zip 24.00-24.07 was fixed:
30  For creating a zip archive: 7-Zip could write extra zero bytes after the end of the archive,
31  if a file included to archive cannot be compressed to a size smaller than original.
32  The created zip archive is correct except for the useless zero bytes after the end of the archive.
33  When unpacking such a zip archive, 7-Zip displays a warning:
34    "WARNING: There are data after the end of archive".
35- Some bugs were fixed.
36
37
3824.07          2024-06-19
39-------------------------
40- Changes in files:
41    Asm/x86/Sha256Opt.asm
42    Asm/x86/Sha1Opt.asm
43  Now it uses "READONLY" flag for constant array segment.
44  It fixes an issue where ".rodata" section in 7-Zip for x86/x64 Linux had a "WRITE" attribute.
45- The bug was fixed: 7-Zip could crash for some incorrect ZSTD archives.
46
47
4824.06          2024-05-26
49-------------------------
50- The bug was fixed: 7-Zip could not unpack some ZSTD archives.
51
52
5324.05          2024-05-14
54-------------------------
55- New switch -myv={MMNN} to set decoder compatibility version for 7z archive creating.
56  {MMNN} is 4-digit number that represents the version of 7-Zip without a dot.
57  If -myv={MMNN} switch is specified, 7-Zip will only use compression methods that can
58  be decoded by the specified version {MMNN} of 7-Zip and newer versions.
59  If -myv={MMNN} switch is not specified, -myv=2300 is used, and 7-Zip will only
60  use compression methods that can be decoded by 7-Zip 23.00 and newer versions.
61- New switch -myfa={FilterID} to    allow 7-Zip to use the specified filter method for 7z archive creating.
62- New switch -myfd={FilterID} to disallow 7-Zip to use the specified filter method for 7z archive creating.
63
64
6524.03          2024-03-23
66-------------------------
67- 7-Zip now can use new RISCV filter for compression to 7z and xz archives.
68  RISCV filter can increase compression ratio for data containing executable
69  files compiled for RISC-V architecture.
70- The speed for LZMA and LZMA2 decompression in ARM64 version for Windows
71  was increased by 20%-60%.
72  It uses arm64 assembler code, and clang-cl is required for arm64 assembler code compiling.
73- Some bugs were fixed.
74
75
7624.01          2024-01-31
77-------------------------
78- 7-Zip uses file C/Precomp.h that is included to all c and c++ files.
79  CPP/Common/Common.h also includes C/Precomp.h.
80  C/Precomp.h defines the following macros (if _WIN32 is defined):
81    Z7_LARGE_PAGES 1
82    Z7_LONG_PATH 1
83    Z7_WIN32_WINNT_MIN  0x0500 (or higher)
84    _WIN32_WINNT        0x0500 (or higher)
85    WINVER  _WIN32_WINNT
86    UNICODE 1
87    _UNICODE 1
88  if _WIN32_WINNT is defined already, C/Precomp.h doesn't redefine it.
89
90- 7-Zip now can unpack ZSTD archives (.zst extension).
91- 7-Zip now can unpack ZIP and SquashFS archives that use ZSTD compression method.
92- 7-Zip now supports fast hash algorithm XXH64 that is used in ZSTD.
93- Speed optimizations for archive unpacking: rar, zip, gz, wim, cab.
94- Speed optimizations for hash caclulation: CRC-32, CRC-64, Blake2sp.
95- The bug was fixed: 7-Zip for Linux could fail for multivolume creation in some cases.
96- Some bugs were fixed.
97
98
9923.01          2023-06-20
100-------------------------
101- All external macros for compiling C/C++ code of 7-Zip now have Z7_ prefix.
102- 7-Zip COM interfaces now use new macros that allow to declare and implement COM interface.
103- The code has been modified to compile with the maximum diagnostic warning level:
104    -Wall in MSVC and -Weverything in CLANG.
105  And some warning types are disabled in 2 files:
106    - C/Compiler.h for C/C++ code warnings.
107    - CPP/Common/Common.h for C++ code warnings.
108- Linux/macOS versions of 7-Zip: IUnknown interface in new code doesn't use
109  virtual destructor that was used in previous 7-Zip and p7zip:
110     // virtual ~IUnknown() {}
111  So 7-Zip's dynamically linked shared libraries (codecs) are not compatible
112  between new 7-Zip for Linux/macOS and old 7-Zip (and p7zip).
113- Some optimizations in filters code: BCJ, BCJ2, Swap* and opthers.
114- If 7-Zip uses BCJ2 filter for big datasets compressing, it can use additional temp
115  files in system's TEMP folder. 7-Zip uses temp file for additional compressed
116  data stream, if size of such compressed stream is larger than predefined limit:
117  16 MiB in 32-bit version, 4 GiB in 64-bit version.
118- Some bugs were fixed.
119
120
12122.00          2022-06-16
122-------------------------
123- 7-Zip interfaces now support high precision (1 ns) timestamps with reserved
124  fields of tagPROPVARIANT (VT_FILETIME).
125
126
12721.07          2021-12-26
128-------------------------
129- The sorting order of files in archives was slightly changed to be more consistent
130  for cases where the name of some directory is the same as the prefix part of the name
131  of another directory or file.
132- TAR archives created by 7-Zip now are more consistent with archives created by GNU TAR program.
133
134
13521.06          2021-11-24
136-------------------------
137- Bug in LZMA encoder in file LzmaEnc.c was fixed:
138  LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly,
139    if size value for output buffer is smaller than size required for all compressed data.
140  LzmaEnc_Encode() could work incorrectly,
141    if callback ISeqOutStream::Write() doesn't write all compressed data.
142  NCompress::NLzma::CEncoder::Code() could work incorrectly,
143    if callback ISequentialOutStream::Write() returns error code.
144- Bug in versions 21.00-21.05 was fixed:
145  7-Zip didn't set attributes of directories during archive extracting.
146
147
14821.04 beta     2021-11-02
149-------------------------
150- 7-Zip now reduces the number of working CPU threads for compression,
151  if RAM size is not enough for compression with big LZMA2 dictionary.
152- 7-Zip now can create and check "file.sha256" and "file.sha1" text files
153  that contain the list of file names and SHA-1 / SHA-256 checksums in format
154  compatible with sha1sum/sha256sum programs.
155
156
15721.03 beta     2021-07-20
158-------------------------
159- The maximum dictionary size for LZMA/LZMA2 compressing was increased to 4 GB (3840 MiB).
160- Minor speed optimizations in LZMA/LZMA2 compressing.
161
162
16321.02 alpha    2021-05-06
164-------------------------
165- 7-Zip now writes additional field for filename in UTF-8 encoding to zip archives.
166  It allows to extract correct file name from zip archives on different systems.
167- The command line version of 7-Zip for macOS was released.
168- The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux
169  was increased by 20%-60%.
170- Some changes and improvements in ZIP, TAR and NSIS code.
171
172
17321.01 alpha    2021-03-09
174-------------------------
175- The command line version of 7-Zip for Linux was released.
176- The improvements for speed of ARM64 version using hardware CPU instructions
177  for AES, CRC-32, SHA-1 and SHA-256.
178- The bug in versions 18.02 - 21.00 was fixed:
179  7-Zip could not correctly extract some ZIP archives created with xz compression method.
180- Some bugs were fixed.
181
182
18320.02 alpha    2020-08-08
184-------------------------
185- The default number of LZMA2 chunks per solid block in 7z archive was increased to 64.
186  It allows to increase the compression speed for big 7z archives, if there is a big number
187  of CPU cores and threads.
188- The speed of PPMd compressing/decompressing was increased for 7z/ZIP/RAR archives.
189- The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system
190  to modify "Last Access Time" property of source files for archiving and hashing operations.
191- Some bugs were fixed.
192
193
19420.00 alpha    2020-02-06
195-------------------------
196- 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5,
197  that can work faster than bt4 and hc4 match finders for the data with big redundancy.
198- The compression ratio was improved for Fast and Fastest compression levels with the
199  following default settings:
200   - Fastest level (-mx1) : hc5 match finder with 256 KB dictionary.
201   - Fast    level (-mx3) : hc5 match finder with 4 MB dictionary.
202- Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra
203  compression levels.
204- bzip2 decoding code was updated to support bzip2 archives, created by lbzip2 program.
205
206
20719.02          2019-09-05
208-------------------------
209- Support for SHA-1/SHA-256 optimized code in
210  Sha1Opt.c, Sha256Opt.c, Sha256Opt.asm, Sha1Opt.asm.
211
212
21319.00          2019-02-21
214-------------------------
215- Encryption strength for 7z archives was increased:
216  the size of random initialization vector was increased from 64-bit to 128-bit,
217  and the pseudo-random number generator was improved.
218- Some bugs were fixed.
219
220
22118.06          2018-12-30
222-------------------------
223- The speed for LZMA/LZMA2 compressing was increased by 3-10%,
224  and there are minor changes in compression ratio.
225- Some bugs were fixed.
226- The bug in 7-Zip 18.02-18.05 was fixed:
227  There was memory leak in multithreading xz decoder - XzDecMt_Decode(),
228  if xz stream contains only one block.
229- 7-Zip 18.02-18.05 used only one CPU thread for bz2 archive creation.
230- The changes for MSVS compiler makefiles:
231   - the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64)
232     instead of "CPU" macroname with values (AMD64, ARM64).
233   - the makefiles by default now use static version of the run-time library.
234
235
23618.05          2018-04-30
237-------------------------
238- The speed for LZMA/LZMA2 compressing was increased
239    by 8% for fastest/fast compression levels and
240    by 3% for normal/maximum compression levels.
241- Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in
242  Windows 10 because of some BUG with "Large Pages" in Windows 10.
243  Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299).
244
245
24618.03 beta     2018-03-04
247-------------------------
248- Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm
249  for x64 with about 30% higher speed than main version of LZMA decoder written in C.
250- The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%.
251- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
252  if there are multiple independent data chunks in LZMA2 stream.
253- 7-Zip now can use multi-threading for xz decoding,
254  if there are multiple blocks in xz stream.
255
256
25717.00 beta     2017-04-29
258-------------------------
259- NewHandler.h / NewHandler.cpp:
260    now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900).
261- C/7zTypes.h : the names of variables in interface structures were changed (vt).
262- Some bugs were fixed. 7-Zip could crash in some cases.
263- Some internal changes in code.
264
265
26616.02          2016-05-21
267-------------------------
268- The BUG in 16.00 - 16.01 was fixed:
269  Split Handler (SplitHandler.cpp) returned incorrect
270  total size value (kpidSize) for split archives.
271
272
27316.01          2016-05-19
274-------------------------
275- Some bugs were fixed,
276- Some internal changes to reduce the number of compiler warnings.
277
278
27916.00          2016-05-10
280-------------------------
281- 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip).
282- Some bugs were fixed,
283
284
28515.12          2015-11-19
286-------------------------
287- The BUG in C version of 7z decoder was fixed:
288  7zDec.c : SzDecodeLzma2()
289  7z decoder could mistakenly report about decoding error for some 7z archives
290  that use LZMA2 compression method.
291  The probability to get that mistaken decoding error report was about
292  one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size).
293- The BUG (in 9.26-15.11) in C version of 7z decoder was fixed:
294  7zArcIn.c : SzReadHeader2()
295  7z decoder worked incorrectly for 7z archives that contain
296  empty solid blocks, that can be placed to 7z archive, if some file is
297  unavailable for reading during archive creation.
298
299
30015.09 beta     2015-10-16
301-------------------------
302- The BUG in LZMA / LZMA2 encoding code was fixed.
303  The BUG in LzFind.c::MatchFinder_ReadBlock() function.
304  If input data size is larger than (4 GiB - dictionary_size),
305  the following code worked incorrectly:
306  -  LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions
307     for compressing from memory to memory.
308     That BUG is not related to LZMA encoder version that works via streams.
309  -  LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if
310     default value of chunk size (CLzma2EncProps::blockSize) is changed
311     to value larger than (4 GiB - dictionary_size).
312
313
3149.38 beta      2015-01-03
315-------------------------
316- The BUG in 9.31-9.37 was fixed:
317  IArchiveGetRawProps interface was disabled for 7z archives.
318- The BUG in 9.26-9.36 was fixed:
319  Some code in CPP\7zip\Archive\7z\ worked correctly only under Windows.
320
321
3229.36 beta      2014-12-26
323-------------------------
324- The BUG in command line version was fixed:
325  7-Zip created temporary archive in current folder during update archive
326  operation, if -w{Path} switch was not specified.
327  The fixed 7-Zip creates temporary archive in folder that contains updated archive.
328- The BUG in 9.33-9.35 was fixed:
329  7-Zip silently ignored file reading errors during 7z or gz archive creation,
330  and the created archive contained only part of file that was read before error.
331  The fixed 7-Zip stops archive creation and it reports about error.
332
333
3349.31           2012-10-31
335-------------------------
336- InBuffer.h : CInBuffer  uses ISequentialInStream  *_stream; instead of CMyComPtr<ISequentialInStream>
337  OutBuffer.h: COutBuffer uses ISequentialOutStream *_stream; instead of CMyComPtr<ISequentialOutStream>
338
339
3409.26           2011-04-11
341-------------------------
342- The BUG was fixed: multi-threaded ZIP stored file size that was at scan stage,
343  So if the file was changed after scan, the Unpack Size field was incorrect
344
345
3469.21           2011-04-11
347-------------------------
348- New class FString for file names at file systems.
349- Speed optimization in CRC code for big-endian CPUs.
350
351
3529.18           2010-11-02
353-------------------------
354- New small SFX module for installers (C/Util/SfxSetup).
355
356
3579.17           2010-10-04
358-------------------------
359- IStream.h::IOutStream::
360    STDMETHOD(SetSize)(Int64 newSize) PURE;
361  was changed to
362    STDMETHOD(SetSize)(UInt64 newSize) PURE;
363
364
3659.09           2009-12-12
366-------------------------
367- The bug was fixed:
368   Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c
369   incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8.
370
371
3729.05           2009-07-05
373-------------------------
374- FileMapping.h::CFileMapping now returns WRes
375
376
3779.04           2009-05-30
378-------------------------
379- ICoder.h: NCoderPropID::EEnum values were changed
380
381
3829.02           2009-04-23
383-------------------------
384- Bug was fixed: if swap2 filter was requests at compression,
385  7-zip used swap4 filter instead (but id was swap2), so archives were incorrect.
386
3874.61           2008-11-23
388-------------------------
389- Bug in ver. 4.58+ was fixed:
390   7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives.
391- Bug in .CAB code was fixed. 7-Zip didn't show some empty files,
392  if .CAB archive contains more than one empty file.
393
394
3954.59           2008-07-27
396-------------------------
397- Bug was fixed:
398   LZMA Encoder in fast compression mode could access memory outside of
399   allocated range in some rare cases.
400
401
4024.59 alpha     2008-05-30
403-------------------------
404- BUGS was fixed:
405    7zOut.cpp: 7-Zip incorrectly wrote size of property records in some cases.
406    7zIn.cpp:  7-Zip incorrectly work with archive, containg archive properties.
407
4084.58 alpha 9   2008-04-29
409-------------------------
410- BUG was fixed: 7-Zip showed incorrect timestamps in ISO files.
411
412
4134.58 alpha 8   2008-04-15
414-------------------------
415- BUG in 4.58 alpha 5/6/7 was fixed:
416    LZMA encoder worked incorrectly, if lp != 0.
417- Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes:
418    1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.
419    2) -mcu switch:  7-Zip uses UTF-8, if there are non-ASCII symbols.
420    3) -mcl switch:  7-Zip uses local code page.
421- Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on
422
423
4244.58 alpha 7   2008-04-08
425-------------------------
426- BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without
427  creating, when BZip2 code was called with one thread (with -mmt1 switch or with
428  default switches on single thread CPU).
429- .lzma support.
430- RPM and NSIS support was improved.
431- LZMA now stores only (2 << n) or (3 << n) dictionary size value to LZMA properties.
432
433
4344.58 alpha 6   2008-03-27
435-------------------------
436- NTFS time extra in ZIP.
437- New item property - kpidTimeType - VT_UI4 (0 - NTFS, 1 - Unix, 2 - DOS).
438- Static CRC table is not required now for Lzma Encoder (in Lz MatchFinder).
439
440
4414.58 alpha 5   2008-03-19
442-------------------------
443- Creation time (-mtc switch) for .7z archives
444- LZMA encoder was converted to ANSI-C
445
446
4474.58 alpha 3   2008-02-25
448-------------------------
449- Speed optimizations for LZMA decoding. Now it uses C code instead of C++.
450- 7-Zip now has 128 MB dictionary limit for 32-bit version:
451  It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2;
452- TAR: 'D' link flag support.
453- 7-Zip now can unpack multivolume RAR archives created with
454  "old style volume names" scheme (-vn switch) and names *.001, *.002, ...
455- Fixed bugs:
456  - 7-Zip FM could not copy / move files to root network folders like \\COMPNAME\FOLDERNAME\
457    In case of move it removed original files.
458  - SFX-WIN: if there are errors, it still could return 0.
459  - ZIP (.XPS file) isZip64 && thisDiskNumber16 == 0xFFFF.
460  - ZIP name updating:
461      If zip file contains extra field and you try to change properties of files,
462      7-zip tries to delete all extra fileds (except for WzAES).
463      And that code could hang.
464  -  7-Zip GUI didn't suggest BZip2 dictionary size used in previous run.
465  -  If creation time stamp was included in .RAR archive, 7-zip used creation time stamp
466     as modification time stamp.
467
4684.58 alpha 2   2007-12-31
469-------------------------
470- Small changes in Deflate and LZMA compression.
471- Some speed optimizations.
472
473
4744.57
475----
476- Bug was fixed:
477  Anti item is created for wrong file:
478  http://sourceforge.net/forum/forum.php?thread_id=1880366&forum_id=45798
479
480
4814.52 beta      2007-07-32
482-------------------------
483- 7-Zip could not decompress some cab files
484- "." dir creating at FAT was fixed / long names
485
486
4874.50 beta      2007-07-24
488-------------------------
489- 7-Zip now replaces unsupported filenames (like "nul", "com1") during extracting.
490- New switch for command line version:
491    -ssc[-] enables/disables case-sensitive mode.
492- 7z.exe l shows archive comment for zip archives
493- Some bugs were fixed: long paths names shorter than 4.
494- Speed optimizations for AES encryption.
495
496
497
4984.56 beta      2007-09-13
499-------------------------
500- some fixes in LZ encoder (LZMA and Deflate) code.
501 size_t was replaces to ptrdiff_t.
502 size_t version worked incorrectly with some compilers.
503
504
5054.46 beta      2007-05-25
506-------------------------
507- CPP Synchronization objects now return HRes (error code) instead of bool.
508
509
5104.45 beta      2007-04-16
511-------------------------
512- 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at
513  stratup code, or you must add CPP/Common/CRC.cpp to your project.
514- Method ID in .7z now is 63-bit integer (UInt64).
515- Open error messages
516- unRar 1.5 fixed
517- unShrink fixed
518- BUG of 4.43 beta and 4.44 beta was fixed.
519  7-Zip compressing to .zip in multi-threading mode didn't work in some cases.
520
521
5224.44 beta      2007-01-20
523-------------------------
524
525- Bug was fixed: LZMAEncoder.cpp::CEncoder::GetOptimumFast
526  it was:
527    data++
528  fixed version:
529    data = _matchFinder.GetPointerToCurrentPos(_matchFinderObj) - 1;
530  It could lead to very small cpmpression ratio decreasing when block needs move.
531
532
5334.30 beta      2005-11-18
534-------------------------
535- Security.h::AddLockMemoryPrivilege       - installs "Large pages" feature
536- MemoryLock.h::EnableLockMemoryPrivilege  - enables "Large pages" feature
537- Alloc.h::SetLargePageSize                - sets optimal LargePageSize size
538
539
5404.27           2005-09-21
541-------------------------
542- Some GUIDs/interfaces were changed.
543 IStream.h:
544   ISequentialInStream::Read now works as old ReadPart
545   ISequentialOutStream::Write now works as old WritePart
546
547
5484.26 beta      2005-08-05
549-------------------------
550-  MyAlloc(0)/BigAlloc(0) now return 0
551
552
5534.25 beta      2005-07-31
554-------------------------
555-  More 64-bit compatibilty
556
557
5584.24 beta      2005-07-06
559-------------------------
560-  Common\NewHandler.h: using throw() for code size optimization.
561
562
5634.23           2005-06-29
564-------------------------
565-  Bug was fixed: memory leak in Cab decoder.
566
567
5684.19 beta      2005-05-21
569-------------------------
570-  BZip2 code was rewritten. Now 7-Zip doesn't use original BZip2 code.
571  Old (original) version was moved to folder 7zip/Compress/BZip2Original/
572
573
5744.14 beta      2005-01-11
575-------------------------
576-  STL using was reduced
577-  7za now supports Split(001) archves
578
579
5804.10 beta      2004-10-21
581-------------------------
582-  Codecs now use new interface: ICompressSetDecoderProperties2
583
584
5854.07 beta      2004-10-03
586-------------------------
587-  some interfaces were changed slightly to support
588  -stdin -stdout mode.
589-  FilterCoder for simple filters
590-  Wildcard censor class was changed.
591-  Bug was fixed: when encrypted stream was multiple 16,
592  it used additional 16 empty bytes.
593
594
5953.11           2003-10-06
596-------------------------
597  File functions support unicode strings even
598  on Windows 95/98/ME.
599
600
6013.08.02        2003-09-20
602-------------------------
603  More compatible with GCC.
604
605
6063.08.02 beta   2003-08-20
607-------------------------
608  Extracting bug in 7zExtract.cpp was fixed.
609
610
6113.08 beta      2003-08-19
612-------------------------
613  Big source code reconstruction.
614
615
6162.30 Beta 32   2003-05-15
617-------------------------
618  Small changes in Deflate decoder.
619
620
6212.30 Beta 31   2003-04-29
622-------------------------
623  Common/NewHandler.cpp
624    HeapAlloc in (included to beta 30) was changed to malloc.
625    HeapAlloc worked slower in Win95/98/Me.
626
627
6282.30 Beta 30   2003-04-21
629-------------------------
630  new file: Common/String.cpp
631  Common/NewHandler.*  were changed
632
633
6342.30 Beta 29   2003-04-07
635-------------------------
636  Small changes in LZMA code.
637
638
6392.30 Beta 28   2003-02-16
640-------------------------
641  Processing anti-files was corrected.
642
643
6442.30 Beta 27   2003-01-24
645-------------------------
646  Project/Archiver/Format/Common/ArchiveInterface.h:
647    new IArchiveOpenVolumeCallback interface.
648
649
6502.30 Beta 26   2003-01-12
651-------------------------
652  SDK/Interface/PropID.h:
653    kpidComment now is kpidCommented
654
655
6562.30 Beta 25   2003-01-02
657-------------------------
658  Main archive interfaces were changed.
659
660
6612.30 Beta 24   2002-11-01
662-------------------------
663  SDK/Windows/Synchronization.h
664  SDK/Windows/Synchronization.cpp
665    - some changes.
666
667
6682.30 Beta 23   2002-09-07
669-------------------------
670  Project/FileManager folder was added.
671  Notation of some source files was changed.
672
673
6742.30 Beta 22   2002-08-28
675-------------------------
676  Project/FileManager folder was added.
677  Notation of some source files was changed.
678
679
680
6812.30 Beta 21   2002-07-08
682-------------------------
683  Project/Compress/LZ/MatchFinder/BinTree/BinTree.h
684  Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h
685  Project/Compress/LZ/MatchFinder/BinTree/HC.h
686  Project/Compress/LZ/MatchFinder/BinTree/HCMain.h
687    - RAM requirements for LZMA (7z) compression were reduced.
688
689
6902.30 Beta 20   2002-07-01
691-------------------------
692- SDK/Stream/WindowOut.h
693    now it uses only required memory (dictionary size).
694- Project/Archiver/Resource
695    contains common resurces
696
697
6982.30 Beta 19   2002-04-11
699-------------------------
700- SDK/Archive/Rar/Handler.cpp
701    supporting RAR29
702
7032.30 Beta 18   2002-03-25
704-------------------------
705- SDK/Archive/Cab/MSZipDecoder.cpp
706  SDK/Archive/Cab/LZXDecoder.cpp:
707    bug with corrupted archives was fixed
708- Project/Compress/LZ/MatchFinder/BinTree/BinTree.h
709- Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h
710    some speed optimization (using prefetching)
711
712
7132.30 Beta 17   2002-03-03
714-------------------------
715- ARJ suppport.
716
717
7182.30 Beta 16   2002-02-24
719-------------------------
720- Project/Compress/LZ/LZMA/Decoder.cpp:
721    Bug was fixed: LZMA could not extract more than 4 GB.
722- RPM and CPIO formats.
723- Project/Compress/LZ/LZMA/Encoder.*
724  Project/Archiver/Format/7z/OutHandler.cpp
725    New fast compression mode for LZMA: -m0a=0.
726- New match finders for LZMA: bt4b, hc3, hc4.
727
728
7292.30 Beta 15   2002-02-17
730-------------------------
731- Compression ratio in LZMA was slightly improved:
732    Project/Compress/LZ/LZMA/Encoder.*
733    Project/Archiver/Format/7z/OutHandler.cpp
734
735
7362.30 Beta 14   2002-02-10
737-------------------------
738- Supporting multithreading for LZMA:
739    Project/Compress/LZ/MatchFinder/MT
740- Common/String.h:
741    CStringBase::Replace function was fixed.
742
743
7442.30 Beta 13   2002-01-27
745-------------------------
746- Compress/LZ/MatchFinder/BinTree3.h:
747   method
748- Compress/LZ/MatchFinder/BinTreemain.h:
749    - one VirtualAlloc array was splitted to
750      the for 3 arrays.
751    - Hash-functions were changed.
752
753
754
7552.30 Beta 12   2002-01-16
756-------------------------
757- Compress/LZ/MatchFinder/BinTreemain.h:
758  Compress/LZ/MatchFinder/Patricia.h:
759  Compress/PPM/PPMd/SubAlloc.h:
760    Beta 11 bugs were fixed:
761      - VirtualFree was used incorrectly
762      - checking WIN32 instead _WINDOWS.
763  Compress/LZ/MatchFinder/Patricia.h:
764    Beta 11 bug with deleting m_Hash2Descendants was fixed.
765
766
7672.30 Beta 11   2002-01-15
768-------------------------
769- Compress/LZ/MatchFinder/BinTreemain.h:
770  Compress/LZ/MatchFinder/Patricia.h:
771  Compress/PPM/PPMd/SubAlloc.h:
772    using VirtualAlloc for memory allocating
773- Exlorer/ContextMenu.cpp:
774    Testing supporting.
775    CreateProcess instead WinExec
776- Format/Common/IArchiveHandler.h:
777  Exlorer/ProxyHandler.cpp:
778  FAR/Plugin.cpp:
779    New properties names: Method, HostOS.
780- Exlorer/OverwriteDialog.cpp:
781  FAR/OverwriteDialog.cpp:
782  Windows/PropVariantConversions.h
783    Using National time format was eliminated.
784
785
786
7872.30 Beta 10   2002-01-11
788-------------------------
789- Exlorer/ContextMenu.cpp: bug with context menu on
790  Windows NT4 in Unicode version was fixed.
791- Format/7z/UpdateArchiveEngine.cpp: bug was fixed -
792  Updating in Beta 8 and 9 didn't work.
793- Exlorer/CCompressDialog.cpp: history growing bug was fixed.
794
795
7962.30 Beta 9    2002-01-08
797-------------------------
798- SDK/Common/Vector.h: sopporting sorted object vectors .
799- Lang features.
800- Two new match finders: pat3h and pat4h.
801- SDK/Archive/Zip/InEngine.cpp: bug was fixed.
802- SDK/Windows/FileDir.cpp: function CreateComplexDirectory
803  was changed.
804
805