1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
|
===============
Py7zr ChangeLog
===============
All notable changes to this project will be documented in this file.
`Unreleased`_
=============
Added
-----
Changed
-------
Fixed
-----
Deprecated
----------
Removed
-------
Security
--------
`v0.11.3`_
==========
Fixed
-----
* Fix test failure when running on pypi source(#279)
Security
--------
* Drop issue_218.7z test data wihch is reported a blackmoon trojan(#285)
`v0.11.1`_
==========
Changed
-------
* Improve BCJ filter performance with LZMA1, ZStd compressions.
Fixed
-----
* Fix to allow writing encrypted header(#280)
* Avoid crash when creationtime is wrong or Unix epoch. (#275,#276)
`v0.11.0`_
==========
Changed
-------
* PPMd: Use stream encoder/decoder instead of buffered one.
* PPMd: Use ppmd-cffi@v0.3.1 and later.(#268)
Added
-----
* PPMd compression/decompression support.(#255)
* New API to set methods to set header encode mode, encode or encrypted.(#259)
* Support Python 3.9.(#261)
* Support arm64/aarch64 architecture on Linux.(#262)
Fixed
-----
* Append mode cause error when target archive use LZMA2+BCJ.(#266)
* Fix zstandard compression/decompression.(#258)
Deprecated
----------
* Drop support for python 3.5 which become end-of-line in Sept. 2020.
`v0.10.1`_
==========
Fixed
-----
* Fix exception when reading header which size is larger than buffer size (#252)
`v0.10.0`_
==========
* Release is same as v0.10.0b3.
`v0.10.0b3`_
============
Fixed
-----
* Fix BCJ(x86) filter code with a missing logic which cause extraction error
for certain data. (#249, #250)
`v0.10.0b2`_
============
Added
-----
* Compatibility test with python-libarchive-c/libarchive for compression(#247)
* Document: express how to handle multi-volume archive (#243)
Changed
-------
* Calculate CRC32 of header without re-reading header from disk again.(#245)
`v0.10.0b1`_
============
Added
-----
* SevenZipFile.needs_password() method.(#208, #235)
* CLI: Support append mode command line.(#228)
* Support "APPEND" mode. User can open SevenZipFile() class with mode='a' (#227)
Changed
-------
* read(), extract(): improve performance when specifying parts of archived file,
by skipping rest of arcvhive when target file has extracted.(#239,#242)
* read(), extract(): improve performance when specifying parts of archived file,
by not running threads for unused compression blocks(folders).(#239,#242)
* docs: improve API documentation.(#244)
* setup: set minimum required python version as >=3.5
* Compression will be happened when call write() not close() (#222, #226)
* Handle file read/write in SevenZipCompressor/Decompressor class (#213)
Fixed
-----
* Raise PasswordRequired when encrypted header without passing password (#234, #237)
* CLI: don't raise exception when password is wrong or not given.(#229)
* Fix specification typo.
* Catch exception in threading extraction(#218,#219)
`v0.9.2`_
=========
Changed
-------
* Utilize max_length argument for each decompressor.(#210, #211)
* Change READ_BUFFER_SIZE 32768 for python 3.7.5 and before.
* Extend Buffer size when necessary.(#209)
`v0.9.1`_
=========
Changed
-------
* Improve DecompressionChain.decompress() logics.(#207)
Fixed
-----
* Fix BCJ filter for decompression that can cause infinite loop or wrong output.(#204,#205,#206)
`v0.9.0`_
=========
Added
-----
* BCJ Decoder/Encoder written by python.(#198, #199)
* Support Bzip2, Defalte + BCJ(X86, PPC, ARM, ARMT, SPARC) (#199)
* Add Copy method as an extraction only support.(#184)
Changed
-------
* Use large(1MB) read blocksize for Python 3.7.5 and later and PyPy 7.2.0 and later.
* Set ZStandard compression as unsupported because of a bug with unknown reason.(#198)
* Manage compression methods to handle whether decompressor requires coder['property'] or not.
Fixed
-----
* Significantly improve decompress performance which is as same speed as v0.7.*.
by updating buffer handling.
* Fix decompression max_size to pass lzma module. Now it is as same as out_remaining.
* Support LZMA+BCJ(X86, PPC, ARM, ARMT, SPARC) with alternative BCJ filter.(#198, #199)
* Fix packinfo crc read and write (#187, #189)
* Accept archive which Method ID is NULL(size=0)(#181, #182)
* CLI: Does not crash when trying extract archive which use unsupported method(#183)
v0.8.0
======
Added
-----
* test: add test for #178 bug report the case of LZMA+BCJ as xfails.
* File format specification: add ISO/IEC standard style specification document.
* Support extra methods for archiveinfo() method.(#150)
* test: unit tests for Sparc, ARMT and IA64 filters.
* Support for PPC and ARM filters.
* Support encryption(#145)
* Export supported filter constants, such as FILTER_ZSTD(#145)
Changed
-------
* Improve README, documents and specifications.
* Update password handling and drop get_password() helper (#162)
* Enable encoded header and add more test with 7zip compatibility.(#164)
* Refactoring SevenZipFile class internals. (#160)
* Refactoring classes in compressor module. (#161)
* Add 'packinfo.crcs' field digests data when creating archive.(#157)
It help checking archive integrity without extraction.
* CLI: help option to show py7zr version and python version.
* Use importlib for performance improvement instead of pkg_resources module.
* Documents: additional methods, filter examples.
* CI configurations: Manage coverage with Coveralls.
* Refactoring decompression classes to handle data precisely with folder.unpacksizes(#146)
* Default compression mode is LZMA2+BCJ which is as same as
7zip and p7zip(#145)
* Enhance encryption strength, IV is now 16 bytes, and generated
with cryptodom.random module.(#145)
* Refactoring compression algorythm related modules.
Fixed
-----
* Now return correct header size by archiveinfo() method.(#169)
* Disable adding CRC for encoded header packinfo.(#164)
* Fix password leak/overwrite among SevenZipFile objects in a process.(#159)
This can cause decryption error or encryption with unintended password.
* Release password on close()
* SevenZipFile.test() method now working properly. (#155)
* Fix extraction error on python 3.5.(#151)
* Support combination of filters(#145)
* Compression of Delta, BZip2, ZStandard, and Deflate(#145)
* Fix archived head by multiple filter specified.
* Fix delta filter.
* Working with BCJ filter.
* Fix archiveinfo to provide proper names.
Removed
-------
* test: Drop some test case with large files.
* Drop ArchiveProperty class: A field has already deprecated or not used.(#170)
* Drop AntiFile property: a property has already deprecated or not used.
* remove final_header definition.
.. History links
.. _Unreleased: https://github.com/miurahr/py7zr/compare/v0.11.3...HEAD
.. _v0.11.3: https://github.com/miurahr/py7zr/compare/v0.11.1...v0.11.3
.. _v0.11.1: https://github.com/miurahr/py7zr/compare/v0.11.0...v0.11.1
.. _v0.11.0: https://github.com/miurahr/py7zr/compare/v0.10.1...v0.11.0
.. _v0.10.1: https://github.com/miurahr/py7zr/compare/v0.10.0...v0.10.1
.. _v0.10.0: https://github.com/miurahr/py7zr/compare/v0.10.0b3...v0.10.0
.. _v0.10.0b3: https://github.com/miurahr/py7zr/compare/v0.10.0b2...v0.10.0b3
.. _v0.10.0b2: https://github.com/miurahr/py7zr/compare/v0.10.0b1...v0.10.0b2
.. _v0.10.0b1: https://github.com/miurahr/py7zr/compare/v0.9.2...v0.10.0b1
.. _v0.9.2: https://github.com/miurahr/py7zr/compare/v0.9.1...v0.9.2
.. _v0.9.1: https://github.com/miurahr/py7zr/compare/v0.9.0...v0.9.1
.. _v0.9.0: https://github.com/miurahr/py7zr/compare/v0.8.0...v0.9.0
|