7-Zip Extra history
-------------------

This file contains only information about changes related to that package exclusively.
The full history of changes is listed in history.txt in main 7-Zip program.


21.03 beta     2021-07-20
-------------------------
- The maximum dictionary size for LZMA/LZMA2 compressing was increased to 4 GB (3840 MiB).
- Minor speed optimizations in LZMA/LZMA2 compressing.


21.02 alpha    2021-05-06
-------------------------
- 7-Zip now writes additional field for filename in UTF-8 encoding to zip archives.
  It allows to extract correct file name from zip archives on different systems.
- Some changes and improvements in ZIP and TAR code.


21.01 alpha    2021-03-09
-------------------------
- The improvements for speed of ARM64 version using hardware CPU instructions 
  for AES, CRC-32, SHA-1 and SHA-256.
- The bug in versions 18.02 - 21.00 was fixed:
  7-Zip could not correctly extract some ZIP archives created with xz compression method.
- Some bugs were fixed.


20.02 alpha    2020-08-08
-------------------------
- The default number of LZMA2 chunks per solid block in 7z archive was increased to 64.
  It allows to increase the compression speed for big 7z archives, if there is a big number 
  of CPU cores and threads.
- The speed of PPMd compressing/decompressing was increased for 7z/ZIP archives.
- The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system 
  to modify "Last Access Time" property of source files for archiving and hashing operations. 
- Some bugs were fixed.


20.00 alpha    2020-02-06
-------------------------
- 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5, 
  that can work faster than bt4 and hc4 match finders for the data with big redundancy.
- The compression ratio was improved for Fast and Fastest compression levels with the 
  following default settings:
   - Fastest level (-mx1) : hc5 match finder with 256 KB dictionary.
   - Fast    level (-mx3) : hc5 match finder with 4 MB dictionary.
- Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra 
  compression levels.
- bzip2 decoding code was updated to support bzip2 archives, created by lbzip2 program.


19.02 alpha    2019-09-05
-------------------------
- 7-Zip now can use new x86/x64 hardware instructions for SHA-1 and SHA-256, supported
  by AMD Ryzen and latest Intel CPUs: Ice Lake and Goldmont.
  It increases
    - the speed of SHA-1/SHA-256 hash value calculation, 
    - the speed of encryption/decryption in zip AES, 
    - the speed of key derivation for encryption/decryption in 7z/zip/rar archives.
- The speed of zip AES encryption and 7z/zip/rar AES decryption was increased with 
  the following improvements:
   - 7-Zip now can use new x86/x64 VAES (AVX Vector AES) instructions, supported by 
     Intel Ice Lake CPU. 
   - The existing code of x86/x64 AES-NI was improved also.
- Some bugs were fixed.


19.00          2019-02-21
-------------------------
- Encryption strength for 7z archives was increased:
  the size of random initialization vector was increased from 64-bit to 128-bit,
  and the pseudo-random number generator was improved.
- Some bugs were fixed.


18.06          2018-12-30
-------------------------
- The speed for LZMA/LZMA2 compressing was increased by 3-10%,
  and there are minor changes in compression ratio.
- Some bugs were fixed.


18.05          2018-04-30
-------------------------
- The speed for LZMA/LZMA2 compressing was increased 
    by 8% for fastest/fast compression levels and 
    by 3% for normal/maximum compression levels.


18.03 beta     2018-03-04
-------------------------
- The speed for single-thread LZMA/LZMA2 decoding
  was increased  by 30% in x64 version and by 3% in x86 version.
- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
  if there are multiple independent data chunks in LZMA2 stream.


9.35 beta           2014-12-07
------------------------------
  - SFX modules were moved to LZMA SDK package.


9.34 alpha          2014-06-22
------------------------------
  - Minimum supported system now is Windows 2000 for EXE and DLL files.
  - all EXE and DLL files use msvcrt.dll.
  - 7zr.exe now support AES encryption.


9.18                2010-11-02
------------------------------
  - New small SFX module for installers.


9.17                2010-10-04
------------------------------
  - New 7-Zip plugin for FAR Manager x64.


9.10                2009-12-30
------------------------------
  - 7-Zip for installers now supports LZMA2.


9.09                2009-12-12
------------------------------
  - LZMA2 compression method support.
  - Some bugs were fixed.


4.65                2009-02-03
------------------------------
  - Some bugs were fixed.


4.38 beta           2006-04-13
------------------------------
  - SFX for installers now supports new properties in config file:
    Progress, Directory, ExecuteFile, ExecuteParameters.


4.34 beta           2006-02-27
------------------------------
  - ISetProperties::SetProperties:
      it's possible to specify desirable number of CPU threads: 
           PROPVARIANT: name=L"mt", vt = VT_UI4, ulVal = NumberOfThreads
      If "mt" is not defined, 7za.dll will check number of processors in system to set 
      number of desirable threads. 
      Now 7za.dll can use:
        2 threads for LZMA compressing
        N threads for BZip2 compressing
        4 threads for BZip2 decompressing
      Other codecs use only one thread. 
      Note: 7za.dll can use additional "small" threads with low CPU load.
  - It's possible to call ISetProperties::SetProperties to specify "mt" property for decoder.


4.33 beta           2006-02-05
------------------------------
  - Compressing speed and Memory requirements were increased.
    Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB, 
    Normal: 4 MB, Max: 16 MB, Ultra: 64 MB.
  - 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4


4.27                2005-09-21
------------------------------
 - Some GUIDs/interfaces were changed.
   IStream.h:
     ISequentialInStream::Read now works as old ReadPart
     ISequentialOutStream::Write now works as old WritePart
