This commit is contained in:
Igor Pavlov 2026-02-12 00:00:00 +00:00
parent 5e96a82794
commit 839151eaaa
56 changed files with 1764 additions and 984 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<?define VerMajor = "25" ?>
<?define VerMinor = "01" ?>
<?define VerMajor = "26" ?>
<?define VerMinor = "00" ?>
<?define VerBuild = "00" ?>
<?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?>
<?define MmHex = "$(var.VerMajor)$(var.VerMinor)" ?>

View file

@ -3,7 +3,7 @@
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7-Zip Copyright (C) 1999-2025 Igor Pavlov.
7-Zip Copyright (C) 1999-2026 Igor Pavlov.
The licenses for files are:
@ -58,7 +58,7 @@ BSD 3-clause License in 7-Zip code
Copyright (c) 2015-2016, Apple Inc. All rights reserved.
Copyright (c) Facebook, Inc. All rights reserved.
Copyright (c) 2023-2025 Igor Pavlov.
Copyright (c) 2023-2026 Igor Pavlov.
Text of the "BSD 3-clause License"
----------------------------------
@ -102,7 +102,7 @@ BSD 2-clause License in 7-Zip code
XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet.
Copyright (c) 2012-2021 Yann Collet.
Copyright (c) 2023-2025 Igor Pavlov.
Copyright (c) 2023-2026 Igor Pavlov.
Text of the "BSD 2-clause License"
----------------------------------

View file

@ -1,15 +1,15 @@
7-Zip 25.01 Sources
7-Zip 26.00 Sources
-------------------
7-Zip is a file archiver for Windows.
7-Zip is a file archiver for Windows.
7-Zip Copyright (C) 1999-2025 Igor Pavlov.
7-Zip Copyright (C) 1999-2026 Igor Pavlov.
License Info
------------
7-Zip is free software distributed under the GNU LGPL
7-Zip is free software distributed under the GNU LGPL
(except for unRar code). Also some code
is licensed under the "BSD 3-clause License".
Read "License.txt" for more infomation about license.
@ -27,7 +27,7 @@ Please check main restriction from unRar license:
not be used to develop a RAR (WinRAR) compatible archiver.
In brief it means:
1) You can compile and use compiled files under GNU LGPL rules, since
1) You can compile and use compiled files under GNU LGPL rules, since
unRAR license almost has no restrictions for compiled files.
You can link these compiled files to LGPL programs.
2) You can fix bugs in source code and use compiled fixed version.
@ -60,7 +60,7 @@ Tools / Options / Directories
- Library files
Also you need Microsoft Macro Assembler:
- ml.exe for x86
- ml.exe for x86
- ml64.exe for x64
You can use ml.exe from Windows SDK for Windows Vista or some later versions.
@ -85,7 +85,7 @@ OLD_COMPILER
for old VC compiler, like MSCV 6.0.
MY_DYNAMIC_LINK
for dynamic linking to the run-time library (msvcrt.dll).
for dynamic linking to the run-time library (msvcrt.dll).
The default makefile option is static linking to the run-time library.
To compile all 7-Zip files for x64 with Visual Studio 2022,
@ -116,23 +116,23 @@ So if you compile the version with Assembeler code, you will get faster 7-Zip bi
7-Zip's assembler code uses the following syntax for different platforms:
1) x86 and x86-64 (AMD64): MASM syntax.
1) x86 and x86-64 (AMD64): MASM syntax.
Now there are 3 programs that supports MASM syntax in Linux.
' 'Asmc Macro Assembler, JWasm, and UASM. Note that JWasm now doesn't support some
' 'Asmc Macro Assembler, JWasm, and UASM. Note that JWasm now doesn't support some
cpu instructions used in 7-Zip.
So you must install Asmc Macro Assembler in Linux or UASM, if you want to compile
So you must install Asmc Macro Assembler in Linux or UASM, if you want to compile
fastest version of 7-Zip x86 and x86-64:
https://github.com/nidud/asmc
https://github.com/Terraspace/UASM
2) arm64: GNU assembler for ARM64 with preprocessor.
2) arm64: GNU assembler for ARM64 with preprocessor.
That systax is supported by GCC and CLANG for ARM64.
There are different binaries that can be compiled from 7-Zip source.
There are 2 main files in folder for compiling:
makefile - that can be used for compiling Windows version of 7-Zip with nmake command
makefile.gcc - that can be used for compiling Linux/macOS versions of 7-Zip or Windows version
makefile.gcc - that can be used for compiling Linux/macOS versions of 7-Zip or Windows version
with MINGW (GCC) with make command.
At first you must change the current folder to folder that contains `makefile.gcc`:
@ -143,7 +143,7 @@ Then you can compile `makefile.gcc` with the command:
make -j -f makefile.gcc
Also there are additional "*.mak" files in folder "CPP/7zip/" that can be used to compile
Also there are additional "*.mak" files in folder "CPP/7zip/" that can be used to compile
7-Zip binaries with optimized code and optimzing options.
To compile with GCC without assembler:
@ -171,10 +171,10 @@ makefile.gcc supports some variables that can change compile options
USE_JWASM=1
use JWasm assembler instead of Asmc.
Note that JWasm doesn't support AES instructions. So AES code from C version AesOpt.c
Note that JWasm doesn't support AES instructions. So AES code from C version AesOpt.c
will be used instead of assembler code from AesOpt.asm.
If you want to use UASM for x86-64 compiling, you can change 7zip_gcc.mak,
If you want to use UASM for x86-64 compiling, you can change 7zip_gcc.mak,
or send IS_X64=1 USE_ASM=1 MY_ASM="$UASM" to make command calling:
UASM="$PWD/GccUnixR/uasm"
cd "7zip-src/CPP/7zip/Bundles/Alone2"
@ -187,11 +187,11 @@ DISABLE_RAR=1
DISABLE_RAR_COMPRESS=1
removes "not fully free" code of RAR decompression codecs from compilation.
RAR decompression codecs in 7-Zip code has some additional license restrictions,
RAR decompression codecs in 7-Zip code has some additional license restrictions,
that can be treated as not fully compatible with free-software licenses.
DISABLE_RAR_COMPRESS=1 allows to exclude such "not-fully-free" RAR code from compilation.
if DISABLE_RAR_COMPRESS=1 is specified, 7-zip will not be able to decompress files
from rar archives, but 7-zip still will be able to open rar archives to get list of
if DISABLE_RAR_COMPRESS=1 is specified, 7-zip will not be able to decompress files
from rar archives, but 7-zip still will be able to open rar archives to get list of
files or to extract files that are stored without compression.
if DISABLE_RAR=1 is specified, 7-zip will not be able to work with RAR archives.
@ -203,11 +203,11 @@ Now there are two different ports of 7-Zip for Linux/macOS:
1) p7zip - another port of 7-Zip for Linux, made by an independent developer.
The latest version of p7zip now is 16.02, and that p7zip 16.02 is outdated now.
http://sourceforge.net/projects/p7zip/
http://sourceforge.net/projects/p7zip/
2) 7-Zip for Linux/macOS - this package - it's new code with all changes from latest 7-Zip for Windows.
These two ports are not identical.
These two ports are not identical.
Note also that some Linux specific things can be implemented better in p7zip than in new 7-Zip for Linux.
@ -218,13 +218,13 @@ Notes:
7-Zip consists of COM modules (DLL files).
But 7-Zip doesn't use standard COM interfaces for creating objects.
Look at
7zip\UI\Client7z folder for example of using DLL files of 7-Zip.
7zip\UI\Client7z folder for example of using DLL files of 7-Zip.
Some DLL files can use other DLL files from 7-Zip.
If you don't like it, you must use standalone version of DLL.
To compile standalone version of DLL you must include all used parts
to project and define some defs.
For example, 7zip\Bundles\Format7z is a standalone version of 7z.dll
that works with 7z format. So you can use such DLL in your project
to project and define some defs.
For example, 7zip\Bundles\Format7z is a standalone version of 7z.dll
that works with 7z format. So you can use such DLL in your project
without additional DLL files.
@ -284,7 +284,7 @@ Windows common files for Windows related code
UI
Agent Intermediary modules for FAR plugin and Explorer plugin
Client7z Test application for 7za.dll
Client7z Test application for 7za.dll
Common Common UI files
Console 7z.exe : Console version
Explorer 7-zip.dll: 7-Zip Shell extension

View file

@ -1,11 +1,20 @@
HISTORY of the 7-Zip source code
--------------------------------
26.00 2026-02-12
-------------------------
- improved code for ZIP, CPIO, RAR, UFD, QCOW, Compound.
- 7-Zip File Manager: improved sorting order of the file list. It uses file name as secondary sorting key.
- 7-Zip File Manager: improved Benchmark to support systems with more than 64 CPU threads.
- the bug was fixed: 7-Zip could not correctly extract TAR archives containing sparse files.
- some bugs were fixed.
25.01 2025-08-03
-------------------------
- The code for handling symbolic links has been changed
- CVE-2025-55188 : The code for handling symbolic links has been changed
to provide greater security when extracting files from archives.
Command line switch -snld20 can be used to bypass default security
Command line switch -snld20 can be used to bypass default security
checks when creating symbolic links.
@ -18,17 +27,19 @@ HISTORY of the 7-Zip source code
- bzip2 compression speed was increased by 15-40%.
- deflate (zip/gz) compression speed was increased by 1-3%.
- improved support for zip, cpio and fat archives.
- fixed some bugs and vulnerabilities.
- the bug was fixed : CVE-2025-53816 : 7-Zip could work incorrectly for some incorrect RAR archives.
- the bug was fixed : CVE-2025-53817 : 7-Zip could crash for some incorrect COM (Compound File) archives.
- fixed some bugs.
- CVE-2025-11001 and CVE-2025-11002 : A vulnerability was fixed for symbolic links processing,
when extracting files from archives.
- the bug was fixed : CVE-2025-53816 : 7-Zip could work incorrectly for some incorrect RAR archives.
- the bug was fixed : CVE-2025-53817 : 7-Zip could crash for some incorrect COM (Compound File) archives.
24.09 2024-11-29
-------------------------
- The default dictionary size values for LZMA/LZMA2 compression methods were increased:
dictionary size compression level
v24.08 v24.09 v24.09
32-bit 64-bit
v24.08 v24.09 v24.09
32-bit 64-bit
8 MB 16 MB 16 MB -mx4
16 MB 32 MB 32 MB -mx5 : Normal
32 MB 64 MB 64 MB -mx6
@ -38,11 +49,11 @@ HISTORY of the 7-Zip source code
The default dictionary size values for 32-bit versions of LZMA/LZMA2 don't exceed 64 MB.
- 7-Zip now can calculate the following hash checksums: SHA-512, SHA-384, SHA3-256 and MD5.
- APM and HFS support was improved.
- If an archive update operation uses a temporary archive folder and
the archive is moved to the destination folder, 7-Zip shows the progress of moving
- If an archive update operation uses a temporary archive folder and
the archive is moved to the destination folder, 7-Zip shows the progress of moving
the archive file, as this operation can take a long time if the archive is large.
- The bug was fixed: 7-Zip File Manager didn't propagate Zone.Identifier stream
for extacted files from nested archives (if there is open archive inside another open archive).
for extracted files from nested archives (if there is open archive inside another open archive).
- Some bugs were fixed.
@ -76,7 +87,7 @@ HISTORY of the 7-Zip source code
-------------------------
- New switch -myv={MMNN} to set decoder compatibility version for 7z archive creating.
{MMNN} is 4-digit number that represents the version of 7-Zip without a dot.
If -myv={MMNN} switch is specified, 7-Zip will only use compression methods that can
If -myv={MMNN} switch is specified, 7-Zip will only use compression methods that can
be decoded by the specified version {MMNN} of 7-Zip and newer versions.
If -myv={MMNN} switch is not specified, -myv=2300 is used, and 7-Zip will only
use compression methods that can be decoded by 7-Zip 23.00 and newer versions.
@ -127,15 +138,15 @@ HISTORY of the 7-Zip source code
And some warning types are disabled in 2 files:
- C/Compiler.h for C/C++ code warnings.
- CPP/Common/Common.h for C++ code warnings.
- Linux/macOS versions of 7-Zip: IUnknown interface in new code doesn't use
- Linux/macOS versions of 7-Zip: IUnknown interface in new code doesn't use
virtual destructor that was used in previous 7-Zip and p7zip:
// virtual ~IUnknown() {}
So 7-Zip's dynamically linked shared libraries (codecs) are not compatible
So 7-Zip's dynamically linked shared libraries (codecs) are not compatible
between new 7-Zip for Linux/macOS and old 7-Zip (and p7zip).
- Some optimizations in filters code: BCJ, BCJ2, Swap* and opthers.
- If 7-Zip uses BCJ2 filter for big datasets compressing, it can use additional temp
files in system's TEMP folder. 7-Zip uses temp file for additional compressed
data stream, if size of such compressed stream is larger than predefined limit:
- If 7-Zip uses BCJ2 filter for big datasets compressing, it can use additional temp
files in system's TEMP folder. 7-Zip uses temp file for additional compressed
data stream, if size of such compressed stream is larger than predefined limit:
16 MiB in 32-bit version, 4 GiB in 64-bit version.
- Some bugs were fixed.
@ -157,7 +168,7 @@ HISTORY of the 7-Zip source code
21.06 2021-11-24
-------------------------
- Bug in LZMA encoder in file LzmaEnc.c was fixed:
LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly,
LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly,
if size value for output buffer is smaller than size required for all compressed data.
LzmaEnc_Encode() could work incorrectly,
if callback ISeqOutStream::Write() doesn't write all compressed data.
@ -171,8 +182,8 @@ HISTORY of the 7-Zip source code
-------------------------
- 7-Zip now reduces the number of working CPU threads for compression,
if RAM size is not enough for compression with big LZMA2 dictionary.
- 7-Zip now can create and check "file.sha256" and "file.sha1" text files
that contain the list of file names and SHA-1 / SHA-256 checksums in format
- 7-Zip now can create and check "file.sha256" and "file.sha1" text files
that contain the list of file names and SHA-1 / SHA-256 checksums in format
compatible with sha1sum/sha256sum programs.
@ -187,7 +198,7 @@ HISTORY of the 7-Zip source code
- 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.
- The command line version of 7-Zip for macOS was released.
- The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux
- The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux
was increased by 20%-60%.
- Some changes and improvements in ZIP, TAR and NSIS code.
@ -195,7 +206,7 @@ HISTORY of the 7-Zip source code
21.01 alpha 2021-03-09
-------------------------
- The command line version of 7-Zip for Linux was released.
- The improvements for speed of ARM64 version using hardware CPU instructions
- 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.
@ -205,30 +216,30 @@ HISTORY of the 7-Zip source code
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
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/RAR 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.
- 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,
- 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
- 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
- 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 2019-09-05
-------------------------
- Support for SHA-1/SHA-256 optimized code in
- Support for SHA-1/SHA-256 optimized code in
Sha1Opt.c, Sha256Opt.c, Sha256Opt.asm, Sha1Opt.asm.
@ -249,7 +260,7 @@ HISTORY of the 7-Zip source code
There was memory leak in multithreading xz decoder - XzDecMt_Decode(),
if xz stream contains only one block.
- 7-Zip 18.02-18.05 used only one CPU thread for bz2 archive creation.
- The changes for MSVS compiler makefiles:
- The changes for MSVS compiler makefiles:
- the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64)
instead of "CPU" macroname with values (AMD64, ARM64).
- the makefiles by default now use static version of the run-time library.
@ -257,17 +268,17 @@ HISTORY of the 7-Zip source code
18.05 2018-04-30
-------------------------
- The speed for LZMA/LZMA2 compressing was increased
by 8% for fastest/fast compression levels and
- The speed for LZMA/LZMA2 compressing was increased
by 8% for fastest/fast compression levels and
by 3% for normal/maximum compression levels.
- Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in
Windows 10 because of some BUG with "Large Pages" in Windows 10.
Windows 10 because of some BUG with "Large Pages" in Windows 10.
Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299).
18.03 beta 2018-03-04
-------------------------
- Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm
- Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm
for x64 with about 30% higher speed than main version of LZMA decoder written in C.
- The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%.
- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
@ -278,7 +289,7 @@ HISTORY of the 7-Zip source code
17.00 beta 2017-04-29
-------------------------
- NewHandler.h / NewHandler.cpp:
- NewHandler.h / NewHandler.cpp:
now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900).
- C/7zTypes.h : the names of variables in interface structures were changed (vt).
- Some bugs were fixed. 7-Zip could crash in some cases.
@ -288,53 +299,53 @@ HISTORY of the 7-Zip source code
16.02 2016-05-21
-------------------------
- The BUG in 16.00 - 16.01 was fixed:
Split Handler (SplitHandler.cpp) returned incorrect
Split Handler (SplitHandler.cpp) returned incorrect
total size value (kpidSize) for split archives.
16.01 2016-05-19
-------------------------
-------------------------
- Some bugs were fixed,
- Some internal changes to reduce the number of compiler warnings.
16.00 2016-05-10
-------------------------
-------------------------
- 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip).
- Some bugs were fixed,
15.12 2015-11-19
-------------------------
-------------------------
- The BUG in C version of 7z decoder was fixed:
7zDec.c : SzDecodeLzma2()
7z decoder could mistakenly report about decoding error for some 7z archives
that use LZMA2 compression method.
The probability to get that mistaken decoding error report was about
one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size).
The probability to get that mistaken decoding error report was about
one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size).
- The BUG (in 9.26-15.11) in C version of 7z decoder was fixed:
7zArcIn.c : SzReadHeader2()
7z decoder worked incorrectly for 7z archives that contain
empty solid blocks, that can be placed to 7z archive, if some file is
7z decoder worked incorrectly for 7z archives that contain
empty solid blocks, that can be placed to 7z archive, if some file is
unavailable for reading during archive creation.
15.09 beta 2015-10-16
-------------------------
-------------------------
- The BUG in LZMA / LZMA2 encoding code was fixed.
The BUG in LzFind.c::MatchFinder_ReadBlock() function.
If input data size is larger than (4 GiB - dictionary_size),
the following code worked incorrectly:
- LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions
for compressing from memory to memory.
- LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions
for compressing from memory to memory.
That BUG is not related to LZMA encoder version that works via streams.
- LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if
default value of chunk size (CLzma2EncProps::blockSize) is changed
- LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if
default value of chunk size (CLzma2EncProps::blockSize) is changed
to value larger than (4 GiB - dictionary_size).
9.38 beta 2015-01-03
-------------------------
-------------------------
- The BUG in 9.31-9.37 was fixed:
IArchiveGetRawProps interface was disabled for 7z archives.
- The BUG in 9.26-9.36 was fixed:
@ -342,10 +353,10 @@ HISTORY of the 7-Zip source code
9.36 beta 2014-12-26
-------------------------
-------------------------
- The BUG in command line version was fixed:
7-Zip created temporary archive in current folder during update archive
operation, if -w{Path} switch was not specified.
operation, if -w{Path} switch was not specified.
The fixed 7-Zip creates temporary archive in folder that contains updated archive.
- The BUG in 9.33-9.35 was fixed:
7-Zip silently ignored file reading errors during 7z or gz archive creation,
@ -355,8 +366,8 @@ HISTORY of the 7-Zip source code
9.31 2012-10-31
-------------------------
- InBuffer.h : CInBuffer uses ISequentialInStream *_stream; instead of CMyComPtr<ISequentialInStream>
OutBuffer.h: COutBuffer uses ISequentialOutStream *_stream; instead of CMyComPtr<ISequentialOutStream>
- InBuffer.h : CInBuffer uses ISequentialInStream *_stream; instead of CMyComPtr<ISequentialInStream>
OutBuffer.h: COutBuffer uses ISequentialOutStream *_stream; instead of CMyComPtr<ISequentialOutStream>
9.26 2011-04-11
@ -366,13 +377,13 @@ HISTORY of the 7-Zip source code
9.21 2011-04-11
-------------------------
-------------------------
- New class FString for file names at file systems.
- Speed optimization in CRC code for big-endian CPUs.
9.18 2010-11-02
-------------------------
-------------------------
- New small SFX module for installers (C/Util/SfxSetup).
@ -409,7 +420,7 @@ HISTORY of the 7-Zip source code
4.61 2008-11-23
-------------------------
- Bug in ver. 4.58+ was fixed:
7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives.
7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives.
- Bug in .CAB code was fixed. 7-Zip didn't show some empty files,
if .CAB archive contains more than one empty file.
@ -417,13 +428,13 @@ HISTORY of the 7-Zip source code
4.59 2008-07-27
-------------------------
- Bug was fixed:
LZMA Encoder in fast compression mode could access memory outside of
LZMA Encoder in fast compression mode could access memory outside of
allocated range in some rare cases.
4.59 alpha 2008-05-30
-------------------------
- BUGS was fixed:
- BUGS was fixed:
7zOut.cpp: 7-Zip incorrectly wrote size of property records in some cases.
7zIn.cpp: 7-Zip incorrectly work with archive, containg archive properties.
@ -440,13 +451,13 @@ HISTORY of the 7-Zip source code
1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.
2) -mcu switch: 7-Zip uses UTF-8, if there are non-ASCII symbols.
3) -mcl switch: 7-Zip uses local code page.
- Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on
- Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on
4.58 alpha 7 2008-04-08
-------------------------
- BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without
creating, when BZip2 code was called with one thread (with -mmt1 switch or with
- BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without
creating, when BZip2 code was called with one thread (with -mmt1 switch or with
default switches on single thread CPU).
- .lzma support.
- RPM and NSIS support was improved.
@ -472,7 +483,7 @@ HISTORY of the 7-Zip source code
- 7-Zip now has 128 MB dictionary limit for 32-bit version:
It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2;
- TAR: 'D' link flag support.
- 7-Zip now can unpack multivolume RAR archives created with
- 7-Zip now can unpack multivolume RAR archives created with
"old style volume names" scheme (-vn switch) and names *.001, *.002, ...
- Fixed bugs:
- 7-Zip FM could not copy / move files to root network folders like \\COMPNAME\FOLDERNAME\
@ -484,7 +495,7 @@ HISTORY of the 7-Zip source code
7-zip tries to delete all extra fileds (except for WzAES).
And that code could hang.
- 7-Zip GUI didn't suggest BZip2 dictionary size used in previous run.
- If creation time stamp was included in .RAR archive, 7-zip used creation time stamp
- If creation time stamp was included in .RAR archive, 7-zip used creation time stamp
as modification time stamp.
4.58 alpha 2 2007-12-31
@ -531,7 +542,7 @@ HISTORY of the 7-Zip source code
4.45 beta 2007-04-16
-------------------------
- 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at
- 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at
stratup code, or you must add CPP/Common/CRC.cpp to your project.
- Method ID in .7z now is 63-bit integer (UInt64).
- Open error messages
@ -606,7 +617,7 @@ HISTORY of the 7-Zip source code
4.07 beta 2004-10-03
-------------------------
- some interfaces were changed slightly to support
- some interfaces were changed slightly to support
-stdin -stdout mode.
- FilterCoder for simple filters
- Wildcard censor class was changed.
@ -682,7 +693,7 @@ HISTORY of the 7-Zip source code
2.30 Beta 24 2002-11-01
-------------------------
SDK/Windows/Synchronization.h
SDK/Windows/Synchronization.h
SDK/Windows/Synchronization.cpp
- some changes.
@ -711,9 +722,9 @@ HISTORY of the 7-Zip source code
2.30 Beta 20 2002-07-01
-------------------------
- SDK/Stream/WindowOut.h
- SDK/Stream/WindowOut.h
now it uses only required memory (dictionary size).
- Project/Archiver/Resource
- Project/Archiver/Resource
contains common resurces
@ -727,8 +738,8 @@ HISTORY of the 7-Zip source code
- SDK/Archive/Cab/MSZipDecoder.cpp
SDK/Archive/Cab/LZXDecoder.cpp:
bug with corrupted archives was fixed
- Project/Compress/LZ/MatchFinder/BinTree/BinTree.h
- Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h
- Project/Compress/LZ/MatchFinder/BinTree/BinTree.h
- Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h
some speed optimization (using prefetching)
@ -743,7 +754,7 @@ HISTORY of the 7-Zip source code
Bug was fixed: LZMA could not extract more than 4 GB.
- RPM and CPIO formats.
- Project/Compress/LZ/LZMA/Encoder.*
Project/Archiver/Format/7z/OutHandler.cpp
Project/Archiver/Format/7z/OutHandler.cpp
New fast compression mode for LZMA: -m0a=0.
- New match finders for LZMA: bt4b, hc3, hc4.
@ -752,23 +763,23 @@ HISTORY of the 7-Zip source code
-------------------------
- Compression ratio in LZMA was slightly improved:
Project/Compress/LZ/LZMA/Encoder.*
Project/Archiver/Format/7z/OutHandler.cpp
Project/Archiver/Format/7z/OutHandler.cpp
2.30 Beta 14 2002-02-10
-------------------------
- Supporting multithreading for LZMA:
Project/Compress/LZ/MatchFinder/MT
Project/Compress/LZ/MatchFinder/MT
- Common/String.h:
CStringBase::Replace function was fixed.
2.30 Beta 13 2002-01-27
-------------------------
- Compress/LZ/MatchFinder/BinTree3.h:
- Compress/LZ/MatchFinder/BinTree3.h:
method
- Compress/LZ/MatchFinder/BinTreemain.h:
- one VirtualAlloc array was splitted to
- Compress/LZ/MatchFinder/BinTreemain.h:
- one VirtualAlloc array was splitted to
the for 3 arrays.
- Hash-functions were changed.
@ -776,23 +787,23 @@ HISTORY of the 7-Zip source code
2.30 Beta 12 2002-01-16
-------------------------
- Compress/LZ/MatchFinder/BinTreemain.h:
Compress/LZ/MatchFinder/Patricia.h:
Compress/PPM/PPMd/SubAlloc.h:
- Compress/LZ/MatchFinder/BinTreemain.h:
Compress/LZ/MatchFinder/Patricia.h:
Compress/PPM/PPMd/SubAlloc.h:
Beta 11 bugs were fixed:
- VirtualFree was used incorrectly
- checking WIN32 instead _WINDOWS.
Compress/LZ/MatchFinder/Patricia.h:
Compress/LZ/MatchFinder/Patricia.h:
Beta 11 bug with deleting m_Hash2Descendants was fixed.
2.30 Beta 11 2002-01-15
-------------------------
- Compress/LZ/MatchFinder/BinTreemain.h:
Compress/LZ/MatchFinder/Patricia.h:
Compress/PPM/PPMd/SubAlloc.h:
- Compress/LZ/MatchFinder/BinTreemain.h:
Compress/LZ/MatchFinder/Patricia.h:
Compress/PPM/PPMd/SubAlloc.h:
using VirtualAlloc for memory allocating
- Exlorer/ContextMenu.cpp:
- Exlorer/ContextMenu.cpp:
Testing supporting.
CreateProcess instead WinExec
- Format/Common/IArchiveHandler.h:
@ -808,9 +819,9 @@ HISTORY of the 7-Zip source code
2.30 Beta 10 2002-01-11
-------------------------
- Exlorer/ContextMenu.cpp: bug with context menu on
- Exlorer/ContextMenu.cpp: bug with context menu on
Windows NT4 in Unicode version was fixed.
- Format/7z/UpdateArchiveEngine.cpp: bug was fixed -
- Format/7z/UpdateArchiveEngine.cpp: bug was fixed -
Updating in Beta 8 and 9 didn't work.
- Exlorer/CCompressDialog.cpp: history growing bug was fixed.
@ -823,4 +834,3 @@ HISTORY of the 7-Zip source code
- SDK/Archive/Zip/InEngine.cpp: bug was fixed.
- SDK/Windows/FileDir.cpp: function CreateComplexDirectory
was changed.