- **BREAKING & SECURITY:** The archive extraction functions now pass 3 security flags (`SECURE_NODOTDOT`, `SECURE_NOABSOLUTEPATHS` and `SECURE_SYMLINKS`) to libarchive by default, unless the current directory is the root.
- **BREAKING:** The `ArchiveEntry` properties `atime`, `mtime`, `ctime`, `birthtime` and `size` now have the value `None` instead of `0` 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` and `gid` 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 by `entry.mtime = 0`.
- Archive entries have 4 new properties: `perm`, `rdev`, `uname` and `gname`.
- When adding files to an archive, a destination path can now be specified.
- The `ArchiveRead` class now has a `bytes_read` property.
- The `ArchiveWrite` class now has a `bytes_written` property.
- Python 3.6 is no longer tested.
- The documentation has been improved.