mirror of
https://github.com/ip7z/7zip.git
synced 2026-04-06 06:43:36 +00:00
26.00
This commit is contained in:
parent
5e96a82794
commit
839151eaaa
56 changed files with 1764 additions and 984 deletions
|
|
@ -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)" ?>
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
----------------------------------
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue