Releases: Changaco/python-libarchive-c
Releases · Changaco/python-libarchive-c
5.1
5.0
Changes to the library:
- It is now possible to specify a codec for archive entry metadata (
pathname
,linkpath
,uname
andgname
) (#125).- BREAKING: If you use the
archive_read_class
andarchive_write_class
arguments, the classes you provide will receive a codec name as a second positional argument.
- BREAKING: If you use the
- The
timestamp_nsec
arguments of the legacyArchiveEntry.set_{a,c,m}time
methods are now optional (#123).
Changes to the tests and packaging:
4.0
- BREAKING & SECURITY: The archive extraction functions now pass 3 security flags (
SECURE_NODOTDOT
,SECURE_NOABSOLUTEPATHS
andSECURE_SYMLINKS
) to libarchive by default, unless the current directory is the root. - BREAKING: The
ArchiveEntry
propertiesatime
,mtime
,ctime
,birthtime
andsize
now have the valueNone
instead of0
when they're unset. - BREAKING: The
ArchiveEntry.pathname
property now attempts to decode bytes using UTF-8. This breaks reading archives that contain file names which look like UTF-8 but aren't, if such a thing exists. Proper support of encodings will probably be added in the next version. - Multiple entries from the same archive can now be kept in memory, however only the current entry's content can be read.
- The
filetype
,linkpath
,size
,mode
,redvmajor
,redvminor
,uid
andgid
attributes of an archive entry can now be modified. - The four time properties of archive entries now have setters, so for example
entry.set_mtime(0, 0)
can be replaced byentry.mtime = 0
. - Archive entries have 4 new properties:
perm
,rdev
,uname
andgname
. - When adding files to an archive, a destination path can now be specified.
- The
ArchiveRead
class now has abytes_read
property. - The
ArchiveWrite
class now has abytes_written
property. - Python 3.6 is no longer tested.
- The documentation has been improved.
3.2
3.1
This release is mostly meant to fix #113 (a bug introduced in 3.0), but it also contains the following changes:
- the
ffi.archive_error()
function now returns an exception instead of raising it seekable_stream_reader
is now an alias ofstream_reader
- the misleadingly named
ffi.VOID_CB
function has been removed
3.0
Changes to the library:
- BREAKING: dropped support for Python 2.7 (#108)
- implemented reading and writing encrypted archives (#109)
- created a new context manager:
seekable_stream_reader
(#107) - added support for 64-bit
time_t
on 32-bit systems (#101) - load extra formats and filters when they're requested (#95)
Tests:
- dropped testing with Python 2.7 and 3.5, added 3.9 (#108)
2.9
Changes to the library:
- optimized the
ArchiveEntry
class (#94) - added support for the
zstd
format (#90) - fixed the top-level
__all__
list (7b97d8b) - updated the code to support Python 3.8 (#88)
- improved the
add_file_from_memory
method (#85 and #86) - lowered the level of log messages from warning to info (#83)
Tests:
2.8
Changes to the library:
- add support for setting
atime
,ctime
,mtime
andbirthtime
(#50 and #63) - tell libarchive when writing an archive is aborted due to an exception (#53)
- add support for getting
uid
andgid
(#57) - add support for high resolution timestamps (#58)
- add two new archive readers:
stream_reader
andcustom_reader
(#60) - add missing archive extraction flags (#61)
- add the
lz4
andwarc
formats (#62) - add support for write options and uid/gid lookup (#72)
Tests: