diff options
| author | Igor Pavlov <87184205+ip7z@users.noreply.github.com> | 2026-02-12 00:00:00 +0000 |
|---|---|---|
| committer | Igor Pavlov <87184205+ip7z@users.noreply.github.com> | 2026-02-12 17:38:49 +0500 |
| commit | 839151eaaad24771892afaae6bac690e31e58384 (patch) | |
| tree | e292449d621f7a1d503b975984a2aca240dd2d8f /DOC | |
| parent | 5e96a8279489832924056b1fa82f29d5837c9469 (diff) | |
| download | 7zip-839151eaaad24771892afaae6bac690e31e58384.tar.gz 7zip-839151eaaad24771892afaae6bac690e31e58384.tar.bz2 7zip-839151eaaad24771892afaae6bac690e31e58384.zip | |
Diffstat (limited to 'DOC')
| -rw-r--r-- | DOC/7zip.wxs | 4 | ||||
| -rw-r--r-- | DOC/License.txt | 6 | ||||
| -rw-r--r-- | DOC/readme.txt | 50 | ||||
| -rw-r--r-- | DOC/src-history.txt | 182 |
4 files changed, 126 insertions, 116 deletions
diff --git a/DOC/7zip.wxs b/DOC/7zip.wxs index 703e22e..8c6ef4c 100644 --- a/DOC/7zip.wxs +++ b/DOC/7zip.wxs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | <?xml version="1.0"?> | 1 | <?xml version="1.0"?> |
| 2 | 2 | ||
| 3 | <?define VerMajor = "25" ?> | 3 | <?define VerMajor = "26" ?> |
| 4 | <?define VerMinor = "01" ?> | 4 | <?define VerMinor = "00" ?> |
| 5 | <?define VerBuild = "00" ?> | 5 | <?define VerBuild = "00" ?> |
| 6 | <?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?> | 6 | <?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?> |
| 7 | <?define MmHex = "$(var.VerMajor)$(var.VerMinor)" ?> | 7 | <?define MmHex = "$(var.VerMajor)$(var.VerMinor)" ?> |
diff --git a/DOC/License.txt b/DOC/License.txt index bbb56a3..b1a421a 100644 --- a/DOC/License.txt +++ b/DOC/License.txt | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | License for use and distribution | 3 | License for use and distribution |
| 4 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 4 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 5 | 5 | ||
| 6 | 7-Zip Copyright (C) 1999-2025 Igor Pavlov. | 6 | 7-Zip Copyright (C) 1999-2026 Igor Pavlov. |
| 7 | 7 | ||
| 8 | The licenses for files are: | 8 | The licenses for files are: |
| 9 | 9 | ||
| @@ -58,7 +58,7 @@ BSD 3-clause License in 7-Zip code | |||
| 58 | 58 | ||
| 59 | Copyright (c) 2015-2016, Apple Inc. All rights reserved. | 59 | Copyright (c) 2015-2016, Apple Inc. All rights reserved. |
| 60 | Copyright (c) Facebook, Inc. All rights reserved. | 60 | Copyright (c) Facebook, Inc. All rights reserved. |
| 61 | Copyright (c) 2023-2025 Igor Pavlov. | 61 | Copyright (c) 2023-2026 Igor Pavlov. |
| 62 | 62 | ||
| 63 | Text of the "BSD 3-clause License" | 63 | Text of the "BSD 3-clause License" |
| 64 | ---------------------------------- | 64 | ---------------------------------- |
| @@ -102,7 +102,7 @@ BSD 2-clause License in 7-Zip code | |||
| 102 | XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet. | 102 | XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet. |
| 103 | 103 | ||
| 104 | Copyright (c) 2012-2021 Yann Collet. | 104 | Copyright (c) 2012-2021 Yann Collet. |
| 105 | Copyright (c) 2023-2025 Igor Pavlov. | 105 | Copyright (c) 2023-2026 Igor Pavlov. |
| 106 | 106 | ||
| 107 | Text of the "BSD 2-clause License" | 107 | Text of the "BSD 2-clause License" |
| 108 | ---------------------------------- | 108 | ---------------------------------- |
diff --git a/DOC/readme.txt b/DOC/readme.txt index cc89a39..26d0f5a 100644 --- a/DOC/readme.txt +++ b/DOC/readme.txt | |||
| @@ -1,15 +1,15 @@ | |||
| 1 | 7-Zip 25.01 Sources | 1 | 7-Zip 26.00 Sources |
| 2 | ------------------- | 2 | ------------------- |
| 3 | 3 | ||
| 4 | 7-Zip is a file archiver for Windows. | 4 | 7-Zip is a file archiver for Windows. |
| 5 | 5 | ||
| 6 | 7-Zip Copyright (C) 1999-2025 Igor Pavlov. | 6 | 7-Zip Copyright (C) 1999-2026 Igor Pavlov. |
| 7 | 7 | ||
| 8 | 8 | ||
| 9 | License Info | 9 | License Info |
| 10 | ------------ | 10 | ------------ |
| 11 | 11 | ||
| 12 | 7-Zip is free software distributed under the GNU LGPL | 12 | 7-Zip is free software distributed under the GNU LGPL |
| 13 | (except for unRar code). Also some code | 13 | (except for unRar code). Also some code |
| 14 | is licensed under the "BSD 3-clause License". | 14 | is licensed under the "BSD 3-clause License". |
| 15 | Read "License.txt" for more infomation about license. | 15 | Read "License.txt" for more infomation about license. |
| @@ -27,7 +27,7 @@ Please check main restriction from unRar license: | |||
| 27 | not be used to develop a RAR (WinRAR) compatible archiver. | 27 | not be used to develop a RAR (WinRAR) compatible archiver. |
| 28 | 28 | ||
| 29 | In brief it means: | 29 | In brief it means: |
| 30 | 1) You can compile and use compiled files under GNU LGPL rules, since | 30 | 1) You can compile and use compiled files under GNU LGPL rules, since |
| 31 | unRAR license almost has no restrictions for compiled files. | 31 | unRAR license almost has no restrictions for compiled files. |
| 32 | You can link these compiled files to LGPL programs. | 32 | You can link these compiled files to LGPL programs. |
| 33 | 2) You can fix bugs in source code and use compiled fixed version. | 33 | 2) You can fix bugs in source code and use compiled fixed version. |
| @@ -60,7 +60,7 @@ Tools / Options / Directories | |||
| 60 | - Library files | 60 | - Library files |
| 61 | 61 | ||
| 62 | Also you need Microsoft Macro Assembler: | 62 | Also you need Microsoft Macro Assembler: |
| 63 | - ml.exe for x86 | 63 | - ml.exe for x86 |
| 64 | - ml64.exe for x64 | 64 | - ml64.exe for x64 |
| 65 | You can use ml.exe from Windows SDK for Windows Vista or some later versions. | 65 | You can use ml.exe from Windows SDK for Windows Vista or some later versions. |
| 66 | 66 | ||
| @@ -85,7 +85,7 @@ OLD_COMPILER | |||
| 85 | for old VC compiler, like MSCV 6.0. | 85 | for old VC compiler, like MSCV 6.0. |
| 86 | 86 | ||
| 87 | MY_DYNAMIC_LINK | 87 | MY_DYNAMIC_LINK |
| 88 | for dynamic linking to the run-time library (msvcrt.dll). | 88 | for dynamic linking to the run-time library (msvcrt.dll). |
| 89 | The default makefile option is static linking to the run-time library. | 89 | The default makefile option is static linking to the run-time library. |
| 90 | 90 | ||
| 91 | To compile all 7-Zip files for x64 with Visual Studio 2022, | 91 | 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 | |||
| 116 | 116 | ||
| 117 | 7-Zip's assembler code uses the following syntax for different platforms: | 117 | 7-Zip's assembler code uses the following syntax for different platforms: |
| 118 | 118 | ||
| 119 | 1) x86 and x86-64 (AMD64): MASM syntax. | 119 | 1) x86 and x86-64 (AMD64): MASM syntax. |
| 120 | Now there are 3 programs that supports MASM syntax in Linux. | 120 | Now there are 3 programs that supports MASM syntax in Linux. |
| 121 | ' 'Asmc Macro Assembler, JWasm, and UASM. Note that JWasm now doesn't support some | 121 | ' 'Asmc Macro Assembler, JWasm, and UASM. Note that JWasm now doesn't support some |
| 122 | cpu instructions used in 7-Zip. | 122 | cpu instructions used in 7-Zip. |
| 123 | So you must install Asmc Macro Assembler in Linux or UASM, if you want to compile | 123 | So you must install Asmc Macro Assembler in Linux or UASM, if you want to compile |
| 124 | fastest version of 7-Zip x86 and x86-64: | 124 | fastest version of 7-Zip x86 and x86-64: |
| 125 | https://github.com/nidud/asmc | 125 | https://github.com/nidud/asmc |
| 126 | https://github.com/Terraspace/UASM | 126 | https://github.com/Terraspace/UASM |
| 127 | 127 | ||
| 128 | 128 | ||
| 129 | 2) arm64: GNU assembler for ARM64 with preprocessor. | 129 | 2) arm64: GNU assembler for ARM64 with preprocessor. |
| 130 | That systax is supported by GCC and CLANG for ARM64. | 130 | That systax is supported by GCC and CLANG for ARM64. |
| 131 | 131 | ||
| 132 | There are different binaries that can be compiled from 7-Zip source. | 132 | There are different binaries that can be compiled from 7-Zip source. |
| 133 | There are 2 main files in folder for compiling: | 133 | There are 2 main files in folder for compiling: |
| 134 | makefile - that can be used for compiling Windows version of 7-Zip with nmake command | 134 | makefile - that can be used for compiling Windows version of 7-Zip with nmake command |
| 135 | makefile.gcc - that can be used for compiling Linux/macOS versions of 7-Zip or Windows version | 135 | makefile.gcc - that can be used for compiling Linux/macOS versions of 7-Zip or Windows version |
| 136 | with MINGW (GCC) with make command. | 136 | with MINGW (GCC) with make command. |
| 137 | 137 | ||
| 138 | At first you must change the current folder to folder that contains `makefile.gcc`: | 138 | 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: | |||
| 143 | 143 | ||
| 144 | make -j -f makefile.gcc | 144 | make -j -f makefile.gcc |
| 145 | 145 | ||
| 146 | Also there are additional "*.mak" files in folder "CPP/7zip/" that can be used to compile | 146 | Also there are additional "*.mak" files in folder "CPP/7zip/" that can be used to compile |
| 147 | 7-Zip binaries with optimized code and optimzing options. | 147 | 7-Zip binaries with optimized code and optimzing options. |
| 148 | 148 | ||
| 149 | To compile with GCC without assembler: | 149 | To compile with GCC without assembler: |
| @@ -171,10 +171,10 @@ makefile.gcc supports some variables that can change compile options | |||
| 171 | 171 | ||
| 172 | USE_JWASM=1 | 172 | USE_JWASM=1 |
| 173 | use JWasm assembler instead of Asmc. | 173 | use JWasm assembler instead of Asmc. |
| 174 | Note that JWasm doesn't support AES instructions. So AES code from C version AesOpt.c | 174 | Note that JWasm doesn't support AES instructions. So AES code from C version AesOpt.c |
| 175 | will be used instead of assembler code from AesOpt.asm. | 175 | will be used instead of assembler code from AesOpt.asm. |
| 176 | 176 | ||
| 177 | If you want to use UASM for x86-64 compiling, you can change 7zip_gcc.mak, | 177 | If you want to use UASM for x86-64 compiling, you can change 7zip_gcc.mak, |
| 178 | or send IS_X64=1 USE_ASM=1 MY_ASM="$UASM" to make command calling: | 178 | or send IS_X64=1 USE_ASM=1 MY_ASM="$UASM" to make command calling: |
| 179 | UASM="$PWD/GccUnixR/uasm" | 179 | UASM="$PWD/GccUnixR/uasm" |
| 180 | cd "7zip-src/CPP/7zip/Bundles/Alone2" | 180 | cd "7zip-src/CPP/7zip/Bundles/Alone2" |
| @@ -187,11 +187,11 @@ DISABLE_RAR=1 | |||
| 187 | DISABLE_RAR_COMPRESS=1 | 187 | DISABLE_RAR_COMPRESS=1 |
| 188 | removes "not fully free" code of RAR decompression codecs from compilation. | 188 | removes "not fully free" code of RAR decompression codecs from compilation. |
| 189 | 189 | ||
| 190 | RAR decompression codecs in 7-Zip code has some additional license restrictions, | 190 | RAR decompression codecs in 7-Zip code has some additional license restrictions, |
| 191 | that can be treated as not fully compatible with free-software licenses. | 191 | that can be treated as not fully compatible with free-software licenses. |
| 192 | DISABLE_RAR_COMPRESS=1 allows to exclude such "not-fully-free" RAR code from compilation. | 192 | DISABLE_RAR_COMPRESS=1 allows to exclude such "not-fully-free" RAR code from compilation. |
| 193 | if DISABLE_RAR_COMPRESS=1 is specified, 7-zip will not be able to decompress files | 193 | if DISABLE_RAR_COMPRESS=1 is specified, 7-zip will not be able to decompress files |
| 194 | from rar archives, but 7-zip still will be able to open rar archives to get list of | 194 | from rar archives, but 7-zip still will be able to open rar archives to get list of |
| 195 | files or to extract files that are stored without compression. | 195 | files or to extract files that are stored without compression. |
| 196 | if DISABLE_RAR=1 is specified, 7-zip will not be able to work with RAR archives. | 196 | if DISABLE_RAR=1 is specified, 7-zip will not be able to work with RAR archives. |
| 197 | 197 | ||
| @@ -203,11 +203,11 @@ Now there are two different ports of 7-Zip for Linux/macOS: | |||
| 203 | 203 | ||
| 204 | 1) p7zip - another port of 7-Zip for Linux, made by an independent developer. | 204 | 1) p7zip - another port of 7-Zip for Linux, made by an independent developer. |
| 205 | The latest version of p7zip now is 16.02, and that p7zip 16.02 is outdated now. | 205 | The latest version of p7zip now is 16.02, and that p7zip 16.02 is outdated now. |
| 206 | http://sourceforge.net/projects/p7zip/ | 206 | http://sourceforge.net/projects/p7zip/ |
| 207 | 207 | ||
| 208 | 2) 7-Zip for Linux/macOS - this package - it's new code with all changes from latest 7-Zip for Windows. | 208 | 2) 7-Zip for Linux/macOS - this package - it's new code with all changes from latest 7-Zip for Windows. |
| 209 | 209 | ||
| 210 | These two ports are not identical. | 210 | These two ports are not identical. |
| 211 | Note also that some Linux specific things can be implemented better in p7zip than in new 7-Zip for Linux. | 211 | Note also that some Linux specific things can be implemented better in p7zip than in new 7-Zip for Linux. |
| 212 | 212 | ||
| 213 | 213 | ||
| @@ -218,13 +218,13 @@ Notes: | |||
| 218 | 7-Zip consists of COM modules (DLL files). | 218 | 7-Zip consists of COM modules (DLL files). |
| 219 | But 7-Zip doesn't use standard COM interfaces for creating objects. | 219 | But 7-Zip doesn't use standard COM interfaces for creating objects. |
| 220 | Look at | 220 | Look at |
| 221 | 7zip\UI\Client7z folder for example of using DLL files of 7-Zip. | 221 | 7zip\UI\Client7z folder for example of using DLL files of 7-Zip. |
| 222 | Some DLL files can use other DLL files from 7-Zip. | 222 | Some DLL files can use other DLL files from 7-Zip. |
| 223 | If you don't like it, you must use standalone version of DLL. | 223 | If you don't like it, you must use standalone version of DLL. |
| 224 | To compile standalone version of DLL you must include all used parts | 224 | To compile standalone version of DLL you must include all used parts |
| 225 | to project and define some defs. | 225 | to project and define some defs. |
| 226 | For example, 7zip\Bundles\Format7z is a standalone version of 7z.dll | 226 | For example, 7zip\Bundles\Format7z is a standalone version of 7z.dll |
| 227 | that works with 7z format. So you can use such DLL in your project | 227 | that works with 7z format. So you can use such DLL in your project |
| 228 | without additional DLL files. | 228 | without additional DLL files. |
| 229 | 229 | ||
| 230 | 230 | ||
| @@ -284,7 +284,7 @@ Windows common files for Windows related code | |||
| 284 | UI | 284 | UI |
| 285 | 285 | ||
| 286 | Agent Intermediary modules for FAR plugin and Explorer plugin | 286 | Agent Intermediary modules for FAR plugin and Explorer plugin |
| 287 | Client7z Test application for 7za.dll | 287 | Client7z Test application for 7za.dll |
| 288 | Common Common UI files | 288 | Common Common UI files |
| 289 | Console 7z.exe : Console version | 289 | Console 7z.exe : Console version |
| 290 | Explorer 7-zip.dll: 7-Zip Shell extension | 290 | Explorer 7-zip.dll: 7-Zip Shell extension |
diff --git a/DOC/src-history.txt b/DOC/src-history.txt index 48c9647..657f04f 100644 --- a/DOC/src-history.txt +++ b/DOC/src-history.txt | |||
| @@ -1,11 +1,20 @@ | |||
| 1 | HISTORY of the 7-Zip source code | 1 | HISTORY of the 7-Zip source code |
| 2 | -------------------------------- | 2 | -------------------------------- |
| 3 | 3 | ||
| 4 | 26.00 2026-02-12 | ||
| 5 | ------------------------- | ||
| 6 | - improved code for ZIP, CPIO, RAR, UFD, QCOW, Compound. | ||
| 7 | - 7-Zip File Manager: improved sorting order of the file list. It uses file name as secondary sorting key. | ||
| 8 | - 7-Zip File Manager: improved Benchmark to support systems with more than 64 CPU threads. | ||
| 9 | - the bug was fixed: 7-Zip could not correctly extract TAR archives containing sparse files. | ||
| 10 | - some bugs were fixed. | ||
| 11 | |||
| 12 | |||
| 4 | 25.01 2025-08-03 | 13 | 25.01 2025-08-03 |
| 5 | ------------------------- | 14 | ------------------------- |
| 6 | - The code for handling symbolic links has been changed | 15 | - CVE-2025-55188 : The code for handling symbolic links has been changed |
| 7 | to provide greater security when extracting files from archives. | 16 | to provide greater security when extracting files from archives. |
| 8 | Command line switch -snld20 can be used to bypass default security | 17 | Command line switch -snld20 can be used to bypass default security |
| 9 | checks when creating symbolic links. | 18 | checks when creating symbolic links. |
| 10 | 19 | ||
| 11 | 20 | ||
| @@ -18,17 +27,19 @@ HISTORY of the 7-Zip source code | |||
| 18 | - bzip2 compression speed was increased by 15-40%. | 27 | - bzip2 compression speed was increased by 15-40%. |
| 19 | - deflate (zip/gz) compression speed was increased by 1-3%. | 28 | - deflate (zip/gz) compression speed was increased by 1-3%. |
| 20 | - improved support for zip, cpio and fat archives. | 29 | - improved support for zip, cpio and fat archives. |
| 21 | - fixed some bugs and vulnerabilities. | 30 | - fixed some bugs. |
| 22 | - the bug was fixed : CVE-2025-53816 : 7-Zip could work incorrectly for some incorrect RAR archives. | 31 | - CVE-2025-11001 and CVE-2025-11002 : A vulnerability was fixed for symbolic links processing, |
| 23 | - the bug was fixed : CVE-2025-53817 : 7-Zip could crash for some incorrect COM (Compound File) archives. | 32 | when extracting files from archives. |
| 33 | - the bug was fixed : CVE-2025-53816 : 7-Zip could work incorrectly for some incorrect RAR archives. | ||
| 34 | - the bug was fixed : CVE-2025-53817 : 7-Zip could crash for some incorrect COM (Compound File) archives. | ||
| 24 | 35 | ||
| 25 | 36 | ||
| 26 | 24.09 2024-11-29 | 37 | 24.09 2024-11-29 |
| 27 | ------------------------- | 38 | ------------------------- |
| 28 | - The default dictionary size values for LZMA/LZMA2 compression methods were increased: | 39 | - The default dictionary size values for LZMA/LZMA2 compression methods were increased: |
| 29 | dictionary size compression level | 40 | dictionary size compression level |
| 30 | v24.08 v24.09 v24.09 | 41 | v24.08 v24.09 v24.09 |
| 31 | 32-bit 64-bit | 42 | 32-bit 64-bit |
| 32 | 8 MB 16 MB 16 MB -mx4 | 43 | 8 MB 16 MB 16 MB -mx4 |
| 33 | 16 MB 32 MB 32 MB -mx5 : Normal | 44 | 16 MB 32 MB 32 MB -mx5 : Normal |
| 34 | 32 MB 64 MB 64 MB -mx6 | 45 | 32 MB 64 MB 64 MB -mx6 |
| @@ -38,11 +49,11 @@ HISTORY of the 7-Zip source code | |||
| 38 | The default dictionary size values for 32-bit versions of LZMA/LZMA2 don't exceed 64 MB. | 49 | The default dictionary size values for 32-bit versions of LZMA/LZMA2 don't exceed 64 MB. |
| 39 | - 7-Zip now can calculate the following hash checksums: SHA-512, SHA-384, SHA3-256 and MD5. | 50 | - 7-Zip now can calculate the following hash checksums: SHA-512, SHA-384, SHA3-256 and MD5. |
| 40 | - APM and HFS support was improved. | 51 | - APM and HFS support was improved. |
| 41 | - If an archive update operation uses a temporary archive folder and | 52 | - If an archive update operation uses a temporary archive folder and |
| 42 | the archive is moved to the destination folder, 7-Zip shows the progress of moving | 53 | the archive is moved to the destination folder, 7-Zip shows the progress of moving |
| 43 | the archive file, as this operation can take a long time if the archive is large. | 54 | the archive file, as this operation can take a long time if the archive is large. |
| 44 | - The bug was fixed: 7-Zip File Manager didn't propagate Zone.Identifier stream | 55 | - The bug was fixed: 7-Zip File Manager didn't propagate Zone.Identifier stream |
| 45 | for extacted files from nested archives (if there is open archive inside another open archive). | 56 | for extracted files from nested archives (if there is open archive inside another open archive). |
| 46 | - Some bugs were fixed. | 57 | - Some bugs were fixed. |
| 47 | 58 | ||
| 48 | 59 | ||
| @@ -76,7 +87,7 @@ HISTORY of the 7-Zip source code | |||
| 76 | ------------------------- | 87 | ------------------------- |
| 77 | - New switch -myv={MMNN} to set decoder compatibility version for 7z archive creating. | 88 | - New switch -myv={MMNN} to set decoder compatibility version for 7z archive creating. |
| 78 | {MMNN} is 4-digit number that represents the version of 7-Zip without a dot. | 89 | {MMNN} is 4-digit number that represents the version of 7-Zip without a dot. |
| 79 | If -myv={MMNN} switch is specified, 7-Zip will only use compression methods that can | 90 | If -myv={MMNN} switch is specified, 7-Zip will only use compression methods that can |
| 80 | be decoded by the specified version {MMNN} of 7-Zip and newer versions. | 91 | be decoded by the specified version {MMNN} of 7-Zip and newer versions. |
| 81 | If -myv={MMNN} switch is not specified, -myv=2300 is used, and 7-Zip will only | 92 | If -myv={MMNN} switch is not specified, -myv=2300 is used, and 7-Zip will only |
| 82 | use compression methods that can be decoded by 7-Zip 23.00 and newer versions. | 93 | 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 | |||
| 127 | And some warning types are disabled in 2 files: | 138 | And some warning types are disabled in 2 files: |
| 128 | - C/Compiler.h for C/C++ code warnings. | 139 | - C/Compiler.h for C/C++ code warnings. |
| 129 | - CPP/Common/Common.h for C++ code warnings. | 140 | - CPP/Common/Common.h for C++ code warnings. |
| 130 | - Linux/macOS versions of 7-Zip: IUnknown interface in new code doesn't use | 141 | - Linux/macOS versions of 7-Zip: IUnknown interface in new code doesn't use |
| 131 | virtual destructor that was used in previous 7-Zip and p7zip: | 142 | virtual destructor that was used in previous 7-Zip and p7zip: |
| 132 | // virtual ~IUnknown() {} | 143 | // virtual ~IUnknown() {} |
| 133 | So 7-Zip's dynamically linked shared libraries (codecs) are not compatible | 144 | So 7-Zip's dynamically linked shared libraries (codecs) are not compatible |
| 134 | between new 7-Zip for Linux/macOS and old 7-Zip (and p7zip). | 145 | between new 7-Zip for Linux/macOS and old 7-Zip (and p7zip). |
| 135 | - Some optimizations in filters code: BCJ, BCJ2, Swap* and opthers. | 146 | - Some optimizations in filters code: BCJ, BCJ2, Swap* and opthers. |
| 136 | - If 7-Zip uses BCJ2 filter for big datasets compressing, it can use additional temp | 147 | - If 7-Zip uses BCJ2 filter for big datasets compressing, it can use additional temp |
| 137 | files in system's TEMP folder. 7-Zip uses temp file for additional compressed | 148 | files in system's TEMP folder. 7-Zip uses temp file for additional compressed |
| 138 | data stream, if size of such compressed stream is larger than predefined limit: | 149 | data stream, if size of such compressed stream is larger than predefined limit: |
| 139 | 16 MiB in 32-bit version, 4 GiB in 64-bit version. | 150 | 16 MiB in 32-bit version, 4 GiB in 64-bit version. |
| 140 | - Some bugs were fixed. | 151 | - Some bugs were fixed. |
| 141 | 152 | ||
| @@ -157,7 +168,7 @@ HISTORY of the 7-Zip source code | |||
| 157 | 21.06 2021-11-24 | 168 | 21.06 2021-11-24 |
| 158 | ------------------------- | 169 | ------------------------- |
| 159 | - Bug in LZMA encoder in file LzmaEnc.c was fixed: | 170 | - Bug in LZMA encoder in file LzmaEnc.c was fixed: |
| 160 | LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly, | 171 | LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly, |
| 161 | if size value for output buffer is smaller than size required for all compressed data. | 172 | if size value for output buffer is smaller than size required for all compressed data. |
| 162 | LzmaEnc_Encode() could work incorrectly, | 173 | LzmaEnc_Encode() could work incorrectly, |
| 163 | if callback ISeqOutStream::Write() doesn't write all compressed data. | 174 | if callback ISeqOutStream::Write() doesn't write all compressed data. |
| @@ -171,8 +182,8 @@ HISTORY of the 7-Zip source code | |||
| 171 | ------------------------- | 182 | ------------------------- |
| 172 | - 7-Zip now reduces the number of working CPU threads for compression, | 183 | - 7-Zip now reduces the number of working CPU threads for compression, |
| 173 | if RAM size is not enough for compression with big LZMA2 dictionary. | 184 | if RAM size is not enough for compression with big LZMA2 dictionary. |
| 174 | - 7-Zip now can create and check "file.sha256" and "file.sha1" text files | 185 | - 7-Zip now can create and check "file.sha256" and "file.sha1" text files |
| 175 | that contain the list of file names and SHA-1 / SHA-256 checksums in format | 186 | that contain the list of file names and SHA-1 / SHA-256 checksums in format |
| 176 | compatible with sha1sum/sha256sum programs. | 187 | compatible with sha1sum/sha256sum programs. |
| 177 | 188 | ||
| 178 | 189 | ||
| @@ -187,7 +198,7 @@ HISTORY of the 7-Zip source code | |||
| 187 | - 7-Zip now writes additional field for filename in UTF-8 encoding to zip archives. | 198 | - 7-Zip now writes additional field for filename in UTF-8 encoding to zip archives. |
| 188 | It allows to extract correct file name from zip archives on different systems. | 199 | It allows to extract correct file name from zip archives on different systems. |
| 189 | - The command line version of 7-Zip for macOS was released. | 200 | - The command line version of 7-Zip for macOS was released. |
| 190 | - The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux | 201 | - The speed for LZMA and LZMA2 decompression in arm64 versions for macOS and Linux |
| 191 | was increased by 20%-60%. | 202 | was increased by 20%-60%. |
| 192 | - Some changes and improvements in ZIP, TAR and NSIS code. | 203 | - Some changes and improvements in ZIP, TAR and NSIS code. |
| 193 | 204 | ||
| @@ -195,7 +206,7 @@ HISTORY of the 7-Zip source code | |||
| 195 | 21.01 alpha 2021-03-09 | 206 | 21.01 alpha 2021-03-09 |
| 196 | ------------------------- | 207 | ------------------------- |
| 197 | - The command line version of 7-Zip for Linux was released. | 208 | - The command line version of 7-Zip for Linux was released. |
| 198 | - The improvements for speed of ARM64 version using hardware CPU instructions | 209 | - The improvements for speed of ARM64 version using hardware CPU instructions |
| 199 | for AES, CRC-32, SHA-1 and SHA-256. | 210 | for AES, CRC-32, SHA-1 and SHA-256. |
| 200 | - The bug in versions 18.02 - 21.00 was fixed: | 211 | - The bug in versions 18.02 - 21.00 was fixed: |
| 201 | 7-Zip could not correctly extract some ZIP archives created with xz compression method. | 212 | 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 | |||
| 205 | 20.02 alpha 2020-08-08 | 216 | 20.02 alpha 2020-08-08 |
| 206 | ------------------------- | 217 | ------------------------- |
| 207 | - The default number of LZMA2 chunks per solid block in 7z archive was increased to 64. | 218 | - The default number of LZMA2 chunks per solid block in 7z archive was increased to 64. |
| 208 | It allows to increase the compression speed for big 7z archives, if there is a big number | 219 | It allows to increase the compression speed for big 7z archives, if there is a big number |
| 209 | of CPU cores and threads. | 220 | of CPU cores and threads. |
| 210 | - The speed of PPMd compressing/decompressing was increased for 7z/ZIP/RAR archives. | 221 | - The speed of PPMd compressing/decompressing was increased for 7z/ZIP/RAR archives. |
| 211 | - The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system | 222 | - The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system |
| 212 | to modify "Last Access Time" property of source files for archiving and hashing operations. | 223 | to modify "Last Access Time" property of source files for archiving and hashing operations. |
| 213 | - Some bugs were fixed. | 224 | - Some bugs were fixed. |
| 214 | 225 | ||
| 215 | 226 | ||
| 216 | 20.00 alpha 2020-02-06 | 227 | 20.00 alpha 2020-02-06 |
| 217 | ------------------------- | 228 | ------------------------- |
| 218 | - 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5, | 229 | - 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5, |
| 219 | that can work faster than bt4 and hc4 match finders for the data with big redundancy. | 230 | that can work faster than bt4 and hc4 match finders for the data with big redundancy. |
| 220 | - The compression ratio was improved for Fast and Fastest compression levels with the | 231 | - The compression ratio was improved for Fast and Fastest compression levels with the |
| 221 | following default settings: | 232 | following default settings: |
| 222 | - Fastest level (-mx1) : hc5 match finder with 256 KB dictionary. | 233 | - Fastest level (-mx1) : hc5 match finder with 256 KB dictionary. |
| 223 | - Fast level (-mx3) : hc5 match finder with 4 MB dictionary. | 234 | - Fast level (-mx3) : hc5 match finder with 4 MB dictionary. |
| 224 | - Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra | 235 | - Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra |
| 225 | compression levels. | 236 | compression levels. |
| 226 | - bzip2 decoding code was updated to support bzip2 archives, created by lbzip2 program. | 237 | - bzip2 decoding code was updated to support bzip2 archives, created by lbzip2 program. |
| 227 | 238 | ||
| 228 | 239 | ||
| 229 | 19.02 2019-09-05 | 240 | 19.02 2019-09-05 |
| 230 | ------------------------- | 241 | ------------------------- |
| 231 | - Support for SHA-1/SHA-256 optimized code in | 242 | - Support for SHA-1/SHA-256 optimized code in |
| 232 | Sha1Opt.c, Sha256Opt.c, Sha256Opt.asm, Sha1Opt.asm. | 243 | Sha1Opt.c, Sha256Opt.c, Sha256Opt.asm, Sha1Opt.asm. |
| 233 | 244 | ||
| 234 | 245 | ||
| @@ -249,7 +260,7 @@ HISTORY of the 7-Zip source code | |||
| 249 | There was memory leak in multithreading xz decoder - XzDecMt_Decode(), | 260 | There was memory leak in multithreading xz decoder - XzDecMt_Decode(), |
| 250 | if xz stream contains only one block. | 261 | if xz stream contains only one block. |
| 251 | - 7-Zip 18.02-18.05 used only one CPU thread for bz2 archive creation. | 262 | - 7-Zip 18.02-18.05 used only one CPU thread for bz2 archive creation. |
| 252 | - The changes for MSVS compiler makefiles: | 263 | - The changes for MSVS compiler makefiles: |
| 253 | - the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64) | 264 | - the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64) |
| 254 | instead of "CPU" macroname with values (AMD64, ARM64). | 265 | instead of "CPU" macroname with values (AMD64, ARM64). |
| 255 | - the makefiles by default now use static version of the run-time library. | 266 | - the makefiles by default now use static version of the run-time library. |
| @@ -257,17 +268,17 @@ HISTORY of the 7-Zip source code | |||
| 257 | 268 | ||
| 258 | 18.05 2018-04-30 | 269 | 18.05 2018-04-30 |
| 259 | ------------------------- | 270 | ------------------------- |
| 260 | - The speed for LZMA/LZMA2 compressing was increased | 271 | - The speed for LZMA/LZMA2 compressing was increased |
| 261 | by 8% for fastest/fast compression levels and | 272 | by 8% for fastest/fast compression levels and |
| 262 | by 3% for normal/maximum compression levels. | 273 | by 3% for normal/maximum compression levels. |
| 263 | - Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in | 274 | - Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in |
| 264 | Windows 10 because of some BUG with "Large Pages" in Windows 10. | 275 | Windows 10 because of some BUG with "Large Pages" in Windows 10. |
| 265 | Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299). | 276 | Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299). |
| 266 | 277 | ||
| 267 | 278 | ||
| 268 | 18.03 beta 2018-03-04 | 279 | 18.03 beta 2018-03-04 |
| 269 | ------------------------- | 280 | ------------------------- |
| 270 | - Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm | 281 | - Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm |
| 271 | for x64 with about 30% higher speed than main version of LZMA decoder written in C. | 282 | for x64 with about 30% higher speed than main version of LZMA decoder written in C. |
| 272 | - The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%. | 283 | - The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%. |
| 273 | - 7-Zip now can use multi-threading for 7z/LZMA2 decoding, | 284 | - 7-Zip now can use multi-threading for 7z/LZMA2 decoding, |
| @@ -278,7 +289,7 @@ HISTORY of the 7-Zip source code | |||
| 278 | 289 | ||
| 279 | 17.00 beta 2017-04-29 | 290 | 17.00 beta 2017-04-29 |
| 280 | ------------------------- | 291 | ------------------------- |
| 281 | - NewHandler.h / NewHandler.cpp: | 292 | - NewHandler.h / NewHandler.cpp: |
| 282 | now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900). | 293 | now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900). |
| 283 | - C/7zTypes.h : the names of variables in interface structures were changed (vt). | 294 | - C/7zTypes.h : the names of variables in interface structures were changed (vt). |
| 284 | - Some bugs were fixed. 7-Zip could crash in some cases. | 295 | - Some bugs were fixed. 7-Zip could crash in some cases. |
| @@ -288,53 +299,53 @@ HISTORY of the 7-Zip source code | |||
| 288 | 16.02 2016-05-21 | 299 | 16.02 2016-05-21 |
| 289 | ------------------------- | 300 | ------------------------- |
| 290 | - The BUG in 16.00 - 16.01 was fixed: | 301 | - The BUG in 16.00 - 16.01 was fixed: |
| 291 | Split Handler (SplitHandler.cpp) returned incorrect | 302 | Split Handler (SplitHandler.cpp) returned incorrect |
| 292 | total size value (kpidSize) for split archives. | 303 | total size value (kpidSize) for split archives. |
| 293 | 304 | ||
| 294 | 305 | ||
| 295 | 16.01 2016-05-19 | 306 | 16.01 2016-05-19 |
| 296 | ------------------------- | 307 | ------------------------- |
| 297 | - Some bugs were fixed, | 308 | - Some bugs were fixed, |
| 298 | - Some internal changes to reduce the number of compiler warnings. | 309 | - Some internal changes to reduce the number of compiler warnings. |
| 299 | 310 | ||
| 300 | 311 | ||
| 301 | 16.00 2016-05-10 | 312 | 16.00 2016-05-10 |
| 302 | ------------------------- | 313 | ------------------------- |
| 303 | - 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip). | 314 | - 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip). |
| 304 | - Some bugs were fixed, | 315 | - Some bugs were fixed, |
| 305 | 316 | ||
| 306 | 317 | ||
| 307 | 15.12 2015-11-19 | 318 | 15.12 2015-11-19 |
| 308 | ------------------------- | 319 | ------------------------- |
| 309 | - The BUG in C version of 7z decoder was fixed: | 320 | - The BUG in C version of 7z decoder was fixed: |
| 310 | 7zDec.c : SzDecodeLzma2() | 321 | 7zDec.c : SzDecodeLzma2() |
| 311 | 7z decoder could mistakenly report about decoding error for some 7z archives | 322 | 7z decoder could mistakenly report about decoding error for some 7z archives |
| 312 | that use LZMA2 compression method. | 323 | that use LZMA2 compression method. |
| 313 | The probability to get that mistaken decoding error report was about | 324 | The probability to get that mistaken decoding error report was about |
| 314 | one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size). | 325 | one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size). |
| 315 | - The BUG (in 9.26-15.11) in C version of 7z decoder was fixed: | 326 | - The BUG (in 9.26-15.11) in C version of 7z decoder was fixed: |
| 316 | 7zArcIn.c : SzReadHeader2() | 327 | 7zArcIn.c : SzReadHeader2() |
| 317 | 7z decoder worked incorrectly for 7z archives that contain | 328 | 7z decoder worked incorrectly for 7z archives that contain |
| 318 | empty solid blocks, that can be placed to 7z archive, if some file is | 329 | empty solid blocks, that can be placed to 7z archive, if some file is |
| 319 | unavailable for reading during archive creation. | 330 | unavailable for reading during archive creation. |
| 320 | 331 | ||
| 321 | 332 | ||
| 322 | 15.09 beta 2015-10-16 | 333 | 15.09 beta 2015-10-16 |
| 323 | ------------------------- | 334 | ------------------------- |
| 324 | - The BUG in LZMA / LZMA2 encoding code was fixed. | 335 | - The BUG in LZMA / LZMA2 encoding code was fixed. |
| 325 | The BUG in LzFind.c::MatchFinder_ReadBlock() function. | 336 | The BUG in LzFind.c::MatchFinder_ReadBlock() function. |
| 326 | If input data size is larger than (4 GiB - dictionary_size), | 337 | If input data size is larger than (4 GiB - dictionary_size), |
| 327 | the following code worked incorrectly: | 338 | the following code worked incorrectly: |
| 328 | - LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions | 339 | - LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions |
| 329 | for compressing from memory to memory. | 340 | for compressing from memory to memory. |
| 330 | That BUG is not related to LZMA encoder version that works via streams. | 341 | That BUG is not related to LZMA encoder version that works via streams. |
| 331 | - LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if | 342 | - LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if |
| 332 | default value of chunk size (CLzma2EncProps::blockSize) is changed | 343 | default value of chunk size (CLzma2EncProps::blockSize) is changed |
| 333 | to value larger than (4 GiB - dictionary_size). | 344 | to value larger than (4 GiB - dictionary_size). |
| 334 | 345 | ||
| 335 | 346 | ||
| 336 | 9.38 beta 2015-01-03 | 347 | 9.38 beta 2015-01-03 |
| 337 | ------------------------- | 348 | ------------------------- |
| 338 | - The BUG in 9.31-9.37 was fixed: | 349 | - The BUG in 9.31-9.37 was fixed: |
| 339 | IArchiveGetRawProps interface was disabled for 7z archives. | 350 | IArchiveGetRawProps interface was disabled for 7z archives. |
| 340 | - The BUG in 9.26-9.36 was fixed: | 351 | - The BUG in 9.26-9.36 was fixed: |
| @@ -342,10 +353,10 @@ HISTORY of the 7-Zip source code | |||
| 342 | 353 | ||
| 343 | 354 | ||
| 344 | 9.36 beta 2014-12-26 | 355 | 9.36 beta 2014-12-26 |
| 345 | ------------------------- | 356 | ------------------------- |
| 346 | - The BUG in command line version was fixed: | 357 | - The BUG in command line version was fixed: |
| 347 | 7-Zip created temporary archive in current folder during update archive | 358 | 7-Zip created temporary archive in current folder during update archive |
| 348 | operation, if -w{Path} switch was not specified. | 359 | operation, if -w{Path} switch was not specified. |
| 349 | The fixed 7-Zip creates temporary archive in folder that contains updated archive. | 360 | The fixed 7-Zip creates temporary archive in folder that contains updated archive. |
| 350 | - The BUG in 9.33-9.35 was fixed: | 361 | - The BUG in 9.33-9.35 was fixed: |
| 351 | 7-Zip silently ignored file reading errors during 7z or gz archive creation, | 362 | 7-Zip silently ignored file reading errors during 7z or gz archive creation, |
| @@ -355,8 +366,8 @@ HISTORY of the 7-Zip source code | |||
| 355 | 366 | ||
| 356 | 9.31 2012-10-31 | 367 | 9.31 2012-10-31 |
| 357 | ------------------------- | 368 | ------------------------- |
| 358 | - InBuffer.h : CInBuffer uses ISequentialInStream *_stream; instead of CMyComPtr<ISequentialInStream> | 369 | - InBuffer.h : CInBuffer uses ISequentialInStream *_stream; instead of CMyComPtr<ISequentialInStream> |
| 359 | OutBuffer.h: COutBuffer uses ISequentialOutStream *_stream; instead of CMyComPtr<ISequentialOutStream> | 370 | OutBuffer.h: COutBuffer uses ISequentialOutStream *_stream; instead of CMyComPtr<ISequentialOutStream> |
| 360 | 371 | ||
| 361 | 372 | ||
| 362 | 9.26 2011-04-11 | 373 | 9.26 2011-04-11 |
| @@ -366,13 +377,13 @@ HISTORY of the 7-Zip source code | |||
| 366 | 377 | ||
| 367 | 378 | ||
| 368 | 9.21 2011-04-11 | 379 | 9.21 2011-04-11 |
| 369 | ------------------------- | 380 | ------------------------- |
| 370 | - New class FString for file names at file systems. | 381 | - New class FString for file names at file systems. |
| 371 | - Speed optimization in CRC code for big-endian CPUs. | 382 | - Speed optimization in CRC code for big-endian CPUs. |
| 372 | 383 | ||
| 373 | 384 | ||
| 374 | 9.18 2010-11-02 | 385 | 9.18 2010-11-02 |
| 375 | ------------------------- | 386 | ------------------------- |
| 376 | - New small SFX module for installers (C/Util/SfxSetup). | 387 | - New small SFX module for installers (C/Util/SfxSetup). |
| 377 | 388 | ||
| 378 | 389 | ||
| @@ -409,7 +420,7 @@ HISTORY of the 7-Zip source code | |||
| 409 | 4.61 2008-11-23 | 420 | 4.61 2008-11-23 |
| 410 | ------------------------- | 421 | ------------------------- |
| 411 | - Bug in ver. 4.58+ was fixed: | 422 | - Bug in ver. 4.58+ was fixed: |
| 412 | 7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives. | 423 | 7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives. |
| 413 | - Bug in .CAB code was fixed. 7-Zip didn't show some empty files, | 424 | - Bug in .CAB code was fixed. 7-Zip didn't show some empty files, |
| 414 | if .CAB archive contains more than one empty file. | 425 | if .CAB archive contains more than one empty file. |
| 415 | 426 | ||
| @@ -417,13 +428,13 @@ HISTORY of the 7-Zip source code | |||
| 417 | 4.59 2008-07-27 | 428 | 4.59 2008-07-27 |
| 418 | ------------------------- | 429 | ------------------------- |
| 419 | - Bug was fixed: | 430 | - Bug was fixed: |
| 420 | LZMA Encoder in fast compression mode could access memory outside of | 431 | LZMA Encoder in fast compression mode could access memory outside of |
| 421 | allocated range in some rare cases. | 432 | allocated range in some rare cases. |
| 422 | 433 | ||
| 423 | 434 | ||
| 424 | 4.59 alpha 2008-05-30 | 435 | 4.59 alpha 2008-05-30 |
| 425 | ------------------------- | 436 | ------------------------- |
| 426 | - BUGS was fixed: | 437 | - BUGS was fixed: |
| 427 | 7zOut.cpp: 7-Zip incorrectly wrote size of property records in some cases. | 438 | 7zOut.cpp: 7-Zip incorrectly wrote size of property records in some cases. |
| 428 | 7zIn.cpp: 7-Zip incorrectly work with archive, containg archive properties. | 439 | 7zIn.cpp: 7-Zip incorrectly work with archive, containg archive properties. |
| 429 | 440 | ||
| @@ -440,13 +451,13 @@ HISTORY of the 7-Zip source code | |||
| 440 | 1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols. | 451 | 1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols. |
| 441 | 2) -mcu switch: 7-Zip uses UTF-8, if there are non-ASCII symbols. | 452 | 2) -mcu switch: 7-Zip uses UTF-8, if there are non-ASCII symbols. |
| 442 | 3) -mcl switch: 7-Zip uses local code page. | 453 | 3) -mcl switch: 7-Zip uses local code page. |
| 443 | - Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on | 454 | - Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on |
| 444 | 455 | ||
| 445 | 456 | ||
| 446 | 4.58 alpha 7 2008-04-08 | 457 | 4.58 alpha 7 2008-04-08 |
| 447 | ------------------------- | 458 | ------------------------- |
| 448 | - BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without | 459 | - BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without |
| 449 | creating, when BZip2 code was called with one thread (with -mmt1 switch or with | 460 | creating, when BZip2 code was called with one thread (with -mmt1 switch or with |
| 450 | default switches on single thread CPU). | 461 | default switches on single thread CPU). |
| 451 | - .lzma support. | 462 | - .lzma support. |
| 452 | - RPM and NSIS support was improved. | 463 | - RPM and NSIS support was improved. |
| @@ -472,7 +483,7 @@ HISTORY of the 7-Zip source code | |||
| 472 | - 7-Zip now has 128 MB dictionary limit for 32-bit version: | 483 | - 7-Zip now has 128 MB dictionary limit for 32-bit version: |
| 473 | It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2; | 484 | It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2; |
| 474 | - TAR: 'D' link flag support. | 485 | - TAR: 'D' link flag support. |
| 475 | - 7-Zip now can unpack multivolume RAR archives created with | 486 | - 7-Zip now can unpack multivolume RAR archives created with |
| 476 | "old style volume names" scheme (-vn switch) and names *.001, *.002, ... | 487 | "old style volume names" scheme (-vn switch) and names *.001, *.002, ... |
| 477 | - Fixed bugs: | 488 | - Fixed bugs: |
| 478 | - 7-Zip FM could not copy / move files to root network folders like \\COMPNAME\FOLDERNAME\ | 489 | - 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 | |||
| 484 | 7-zip tries to delete all extra fileds (except for WzAES). | 495 | 7-zip tries to delete all extra fileds (except for WzAES). |
| 485 | And that code could hang. | 496 | And that code could hang. |
| 486 | - 7-Zip GUI didn't suggest BZip2 dictionary size used in previous run. | 497 | - 7-Zip GUI didn't suggest BZip2 dictionary size used in previous run. |
| 487 | - If creation time stamp was included in .RAR archive, 7-zip used creation time stamp | 498 | - If creation time stamp was included in .RAR archive, 7-zip used creation time stamp |
| 488 | as modification time stamp. | 499 | as modification time stamp. |
| 489 | 500 | ||
| 490 | 4.58 alpha 2 2007-12-31 | 501 | 4.58 alpha 2 2007-12-31 |
| @@ -531,7 +542,7 @@ HISTORY of the 7-Zip source code | |||
| 531 | 542 | ||
| 532 | 4.45 beta 2007-04-16 | 543 | 4.45 beta 2007-04-16 |
| 533 | ------------------------- | 544 | ------------------------- |
| 534 | - 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at | 545 | - 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at |
| 535 | stratup code, or you must add CPP/Common/CRC.cpp to your project. | 546 | stratup code, or you must add CPP/Common/CRC.cpp to your project. |
| 536 | - Method ID in .7z now is 63-bit integer (UInt64). | 547 | - Method ID in .7z now is 63-bit integer (UInt64). |
| 537 | - Open error messages | 548 | - Open error messages |
| @@ -606,7 +617,7 @@ HISTORY of the 7-Zip source code | |||
| 606 | 617 | ||
| 607 | 4.07 beta 2004-10-03 | 618 | 4.07 beta 2004-10-03 |
| 608 | ------------------------- | 619 | ------------------------- |
| 609 | - some interfaces were changed slightly to support | 620 | - some interfaces were changed slightly to support |
| 610 | -stdin -stdout mode. | 621 | -stdin -stdout mode. |
| 611 | - FilterCoder for simple filters | 622 | - FilterCoder for simple filters |
| 612 | - Wildcard censor class was changed. | 623 | - Wildcard censor class was changed. |
| @@ -682,7 +693,7 @@ HISTORY of the 7-Zip source code | |||
| 682 | 693 | ||
| 683 | 2.30 Beta 24 2002-11-01 | 694 | 2.30 Beta 24 2002-11-01 |
| 684 | ------------------------- | 695 | ------------------------- |
| 685 | SDK/Windows/Synchronization.h | 696 | SDK/Windows/Synchronization.h |
| 686 | SDK/Windows/Synchronization.cpp | 697 | SDK/Windows/Synchronization.cpp |
| 687 | - some changes. | 698 | - some changes. |
| 688 | 699 | ||
| @@ -711,9 +722,9 @@ HISTORY of the 7-Zip source code | |||
| 711 | 722 | ||
| 712 | 2.30 Beta 20 2002-07-01 | 723 | 2.30 Beta 20 2002-07-01 |
| 713 | ------------------------- | 724 | ------------------------- |
| 714 | - SDK/Stream/WindowOut.h | 725 | - SDK/Stream/WindowOut.h |
| 715 | now it uses only required memory (dictionary size). | 726 | now it uses only required memory (dictionary size). |
| 716 | - Project/Archiver/Resource | 727 | - Project/Archiver/Resource |
| 717 | contains common resurces | 728 | contains common resurces |
| 718 | 729 | ||
| 719 | 730 | ||
| @@ -727,8 +738,8 @@ HISTORY of the 7-Zip source code | |||
| 727 | - SDK/Archive/Cab/MSZipDecoder.cpp | 738 | - SDK/Archive/Cab/MSZipDecoder.cpp |
| 728 | SDK/Archive/Cab/LZXDecoder.cpp: | 739 | SDK/Archive/Cab/LZXDecoder.cpp: |
| 729 | bug with corrupted archives was fixed | 740 | bug with corrupted archives was fixed |
| 730 | - Project/Compress/LZ/MatchFinder/BinTree/BinTree.h | 741 | - Project/Compress/LZ/MatchFinder/BinTree/BinTree.h |
| 731 | - Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h | 742 | - Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h |
| 732 | some speed optimization (using prefetching) | 743 | some speed optimization (using prefetching) |
| 733 | 744 | ||
| 734 | 745 | ||
| @@ -743,7 +754,7 @@ HISTORY of the 7-Zip source code | |||
| 743 | Bug was fixed: LZMA could not extract more than 4 GB. | 754 | Bug was fixed: LZMA could not extract more than 4 GB. |
| 744 | - RPM and CPIO formats. | 755 | - RPM and CPIO formats. |
| 745 | - Project/Compress/LZ/LZMA/Encoder.* | 756 | - Project/Compress/LZ/LZMA/Encoder.* |
| 746 | Project/Archiver/Format/7z/OutHandler.cpp | 757 | Project/Archiver/Format/7z/OutHandler.cpp |
| 747 | New fast compression mode for LZMA: -m0a=0. | 758 | New fast compression mode for LZMA: -m0a=0. |
| 748 | - New match finders for LZMA: bt4b, hc3, hc4. | 759 | - New match finders for LZMA: bt4b, hc3, hc4. |
| 749 | 760 | ||
| @@ -752,23 +763,23 @@ HISTORY of the 7-Zip source code | |||
| 752 | ------------------------- | 763 | ------------------------- |
| 753 | - Compression ratio in LZMA was slightly improved: | 764 | - Compression ratio in LZMA was slightly improved: |
| 754 | Project/Compress/LZ/LZMA/Encoder.* | 765 | Project/Compress/LZ/LZMA/Encoder.* |
| 755 | Project/Archiver/Format/7z/OutHandler.cpp | 766 | Project/Archiver/Format/7z/OutHandler.cpp |
| 756 | 767 | ||
| 757 | 768 | ||
| 758 | 2.30 Beta 14 2002-02-10 | 769 | 2.30 Beta 14 2002-02-10 |
| 759 | ------------------------- | 770 | ------------------------- |
| 760 | - Supporting multithreading for LZMA: | 771 | - Supporting multithreading for LZMA: |
| 761 | Project/Compress/LZ/MatchFinder/MT | 772 | Project/Compress/LZ/MatchFinder/MT |
| 762 | - Common/String.h: | 773 | - Common/String.h: |
| 763 | CStringBase::Replace function was fixed. | 774 | CStringBase::Replace function was fixed. |
| 764 | 775 | ||
| 765 | 776 | ||
| 766 | 2.30 Beta 13 2002-01-27 | 777 | 2.30 Beta 13 2002-01-27 |
| 767 | ------------------------- | 778 | ------------------------- |
| 768 | - Compress/LZ/MatchFinder/BinTree3.h: | 779 | - Compress/LZ/MatchFinder/BinTree3.h: |
| 769 | method | 780 | method |
| 770 | - Compress/LZ/MatchFinder/BinTreemain.h: | 781 | - Compress/LZ/MatchFinder/BinTreemain.h: |
| 771 | - one VirtualAlloc array was splitted to | 782 | - one VirtualAlloc array was splitted to |
| 772 | the for 3 arrays. | 783 | the for 3 arrays. |
| 773 | - Hash-functions were changed. | 784 | - Hash-functions were changed. |
| 774 | 785 | ||
| @@ -776,23 +787,23 @@ HISTORY of the 7-Zip source code | |||
| 776 | 787 | ||
| 777 | 2.30 Beta 12 2002-01-16 | 788 | 2.30 Beta 12 2002-01-16 |
| 778 | ------------------------- | 789 | ------------------------- |
| 779 | - Compress/LZ/MatchFinder/BinTreemain.h: | 790 | - Compress/LZ/MatchFinder/BinTreemain.h: |
| 780 | Compress/LZ/MatchFinder/Patricia.h: | 791 | Compress/LZ/MatchFinder/Patricia.h: |
| 781 | Compress/PPM/PPMd/SubAlloc.h: | 792 | Compress/PPM/PPMd/SubAlloc.h: |
| 782 | Beta 11 bugs were fixed: | 793 | Beta 11 bugs were fixed: |
| 783 | - VirtualFree was used incorrectly | 794 | - VirtualFree was used incorrectly |
| 784 | - checking WIN32 instead _WINDOWS. | 795 | - checking WIN32 instead _WINDOWS. |
| 785 | Compress/LZ/MatchFinder/Patricia.h: | 796 | Compress/LZ/MatchFinder/Patricia.h: |
| 786 | Beta 11 bug with deleting m_Hash2Descendants was fixed. | 797 | Beta 11 bug with deleting m_Hash2Descendants was fixed. |
| 787 | 798 | ||
| 788 | 799 | ||
| 789 | 2.30 Beta 11 2002-01-15 | 800 | 2.30 Beta 11 2002-01-15 |
| 790 | ------------------------- | 801 | ------------------------- |
| 791 | - Compress/LZ/MatchFinder/BinTreemain.h: | 802 | - Compress/LZ/MatchFinder/BinTreemain.h: |
| 792 | Compress/LZ/MatchFinder/Patricia.h: | 803 | Compress/LZ/MatchFinder/Patricia.h: |
| 793 | Compress/PPM/PPMd/SubAlloc.h: | 804 | Compress/PPM/PPMd/SubAlloc.h: |
| 794 | using VirtualAlloc for memory allocating | 805 | using VirtualAlloc for memory allocating |
| 795 | - Exlorer/ContextMenu.cpp: | 806 | - Exlorer/ContextMenu.cpp: |
| 796 | Testing supporting. | 807 | Testing supporting. |
| 797 | CreateProcess instead WinExec | 808 | CreateProcess instead WinExec |
| 798 | - Format/Common/IArchiveHandler.h: | 809 | - Format/Common/IArchiveHandler.h: |
| @@ -808,9 +819,9 @@ HISTORY of the 7-Zip source code | |||
| 808 | 819 | ||
| 809 | 2.30 Beta 10 2002-01-11 | 820 | 2.30 Beta 10 2002-01-11 |
| 810 | ------------------------- | 821 | ------------------------- |
| 811 | - Exlorer/ContextMenu.cpp: bug with context menu on | 822 | - Exlorer/ContextMenu.cpp: bug with context menu on |
| 812 | Windows NT4 in Unicode version was fixed. | 823 | Windows NT4 in Unicode version was fixed. |
| 813 | - Format/7z/UpdateArchiveEngine.cpp: bug was fixed - | 824 | - Format/7z/UpdateArchiveEngine.cpp: bug was fixed - |
| 814 | Updating in Beta 8 and 9 didn't work. | 825 | Updating in Beta 8 and 9 didn't work. |
| 815 | - Exlorer/CCompressDialog.cpp: history growing bug was fixed. | 826 | - Exlorer/CCompressDialog.cpp: history growing bug was fixed. |
| 816 | 827 | ||
| @@ -823,4 +834,3 @@ HISTORY of the 7-Zip source code | |||
| 823 | - SDK/Archive/Zip/InEngine.cpp: bug was fixed. | 834 | - SDK/Archive/Zip/InEngine.cpp: bug was fixed. |
| 824 | - SDK/Windows/FileDir.cpp: function CreateComplexDirectory | 835 | - SDK/Windows/FileDir.cpp: function CreateComplexDirectory |
| 825 | was changed. | 836 | was changed. |
| 826 | |||
