Skip to content

Releases: miurahr/py7zr

Decryption performance improvement

01 Jun 13:25
Compare
Choose a tag to compare

Changed

  • Decryption: performance improvement.
    Introduce helpers.calculate_key3(), which utilize list comprehension expression, bytes generation
    with join(). It reduces a number of calls of hash library and improve decryption performance.

Improve behavior when overwriting archive

24 May 14:07
Compare
Choose a tag to compare

Changed

  • Extraction: Unlink output file if exist when it become a symbolic link.
    When overwrite extracted files and there are symlinks, it may cause an unexpected result.
    Unlinking it may help it.

Show progress and dereference options

23 May 11:38
Compare
Choose a tag to compare
Pre-release

Added

  • Support dereference option of SevenZipFile class. (#131)
    If dereference is False, add symbolic and hard links to the archive.
    If it is True, add the content of the target files to the archive.
    This has no effect on systems that do not support symbolic links.
  • Introduce progress callback mechanism (#130)

Changed

  • CLI: add --verbose option for extraction
  • win32: update win32compat

Fixed

  • Fix archiveinfo() for 7zAES archives
  • Release variables when close() (#129)

Long path support on Windows 10, Windows Server 2016R2 and later

09 May 04:21
Compare
Choose a tag to compare

Fixed

  • Support extraction of file onto a place where path length is > 260 bytes on Windows 10, Windows Server 2016R2
    and later. (Windows Vista, 7 and Windows Server 2012 still have a limitation of path length as a OS spec)(#116, #126)

Support zstandard, memory IO API and more

08 May 12:03
Compare
Choose a tag to compare

Added

  • Support memory API.(#111, #119)
    Introduce read(filter) and readall() method for SevenZipFile class.
  • Support ZStandard codec compression algorithm for extraction.(#124, #125)

Changed

  • Drop pywin32 dependency
  • Introduce internal win32compat.py
  • Archive: Looking for symbolic link object in the archived list,
    and if found, record as relative link.(#112, #113, #122)

Removed

  • Revmoed requirements.txt. When you want to install dependencies for development
    you can do it with 'pip install -e path/to/py7zr_project'

Decryption support

12 Mar 01:37
Compare
Choose a tag to compare

Added

  • Test: SevenZipFile.archiveinfo() for various archives.
  • Test: extraction of LZMA+BCJ archive become fails as marked known issue.
  • Support deflate decompression method.

Changed

  • Update documents and README about supported algorithms.
  • Re-enable coverage report.
  • Refactoring SevenZipFile._write_archive() method to move
    core chunk into compression module Worker.archive() method.
  • Update calculate_key helper to improve performance.
  • Introduce zero-copy buffer helper.
  • Change decompressor class interface
    • change max_length type to int and defualt to -1.
  • Update decryption function to improve performance.

Fixed

  • Fix SevenZipFIle.archiveinfo() crash for LZMA+BCJ archive.(#100)
  • Fix SevenZipFile.test() method defeated from v0.6b2 (#103)
  • Fix SevenZipFile.solid() method to return proper value. (#72,#97)

V0.6 Release candidate

11 Mar 00:52
Compare
Choose a tag to compare
Pre-release
Move to v0.6 release candidate

Signed-off-by: Hiroshi Miura <[email protected]>

Fix archiveinfo() solid property

11 Mar 00:53
Compare
Choose a tag to compare

Fixed

  • Fix _is_solid() method to return correct result.(#72)

No more os.chdir()

09 Mar 11:14
Compare
Choose a tag to compare
Prepare for v0.5.4 (again)

Signed-off-by: Hiroshi Miura <[email protected]>

Introduce context manager for SevenZipFile

02 Mar 00:33
Compare
Choose a tag to compare

Added

  • Introduce context manager for SevenZipFile (#95)

Changed

  • SevenZipFile(file-object, 'r') now can run extract() well even unlink before extract().

Fixed

  • Fix README example for extraction option.
  • Some of decryption of encrypted archive fails.(#75)