- 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.