0.18.0
Bundled zstd library upgraded from 1.5.1 to 1.5.2.
ZstdDecompressionObj now has an unused_data attribute. It will contain data beyond the fully decoded zstd frame data if said data exists.
ZstdDecompressionObj now has an unconsumed_tail attribute. This attribute currently always returns the empty bytes value (b"").
ZstdDecompressionObj now has an eof attribute returning whether the compressed data has been fully read.
Torrentzip converts zip archives to a standard format with some
pre-defined values, sorting the files, and using particular
compression settings so that running it on zip archives created by
other tools will always result in the same output. This helps e.g.
with sharing zip archives using BitTorrent (which is where the name
comes from).
1.9.0 [2022-06-13]
==================
* Add `zip_file_is_seekable()`.
* Improve compatibility with WinAES.
* Fix encoding handling in `zip_name_locate()`.
* Add option to `zipcmp` to output summary of changes.
* Various bug fixes and documentation improvements.
Changes are mostly incremental, but some do break API compatibility:
* different behaviour of the De module
* the Higher returns a result value instead of raising an exception
v0.2.1
[zopfli.png] Only print debug info to console output when -v/--verbose flag is used.
v0.2.0
Dropped support for EOL Python 2.7 and 3.6, require Python 3.7+.
Added support for compressing PNGs via zopfli.png.optimize method. Also available from the command line as python -m zopfli.png; mimics the upstream's zopflipng c++ executable.
5.82.0
Fix cmake detection for tar+zstd
Implement KZstdFilter
5.83.0
Use better wording for open error
Use imported target for ZLib
5.85.0
Only pkg_check_modules() if PkgConfig is found
Add support for static builds
Use official gzip MIME/Media type application/gzip
Report KArchive_HAVE_ZSTD in CMake Config file to consumers
Deprecate remaining KFilterDev API in favour of KCompressionDevice
5.88.0
Add Android CI
This framework is now LGPL-2.0-or-later
5.89.0
K7Zip: use functions instead of macros
5.90.0
Fix printf conversion specifiers
Main changes:
-Allow changing of the view icon size and remember it.
-Allow sorting by any column (but only sort by the first column at startup).
-Forget the password (if any) on reloading the archive.
* Noteworthy changes in release 1.12 (2022-04-07) [stable]
** Changes in behavior
'gzip -l' no longer misreports file lengths 4 GiB and larger.
Previously, 'gzip -l' output the 32-bit value stored in the gzip
header even though that is the uncompressed length modulo 2**32.
Now, 'gzip -l' calculates the uncompressed length by decompressing
the data and counting the resulting bytes. Although this can take
much more time, nowadays the correctness pros seem to outweigh the
performance cons.
'zless' is no longer installed on platforms lacking 'less'.
** Bug fixes
zgrep applied to a crafted file name with two or more newlines
can no longer overwrite an arbitrary, attacker-selected file.
[bug introduced in gzip-1.3.10]
zgrep now names input file on error instead of mislabeling it as
"(standard input)", if grep supports the GNU -H and --label options.
'zdiff -C 5' no longer misbehaves by treating '5' as a file name.
[bug present since the beginning]
Configure-time options like --program-prefix now work.
* Noteworthy changes in release 1.11 (2021-09-03) [stable]
** Performance improvements
IBM Z platforms now support hardware-accelerated deflation.
1.0.3 (2022-03-28)
* *Fix* a number of memory leaks by freeing allocated liblzma data structures
(Issue Quintus#20 reported by xTRiM, PR win93#7 by Alex Gittemeier)
2022-01-24 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.23 released.
* Decompression time has been reduced by 5-12% depending on the file.
* main.cc (getnum): Show option name and valid range if error.
* Improve several descriptions in manual, '--help', and man page.
* lzip.texi: Change GNU Texinfo category to 'Compression'.
(Reported by Alfred M. Szmidt).
2022-01-22 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.13 released.
* Decompression time has been reduced by 5-12% depending on the file.
* main.c (getnum): Show option name and valid range if error.
2022-01-21 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.23 released.
* Decompression time has been reduced by 5-12% depending on the file.
* main_common.cc (getnum): Show option name and valid range if error.
* dump_remove.cc (dump_members): Check tty except for --dump=tdata.
* Option '-U, --unzcrash' now takes an argument ('1' or 'B<size>').
* mtester.cc (duplicate_buffer): Use an external buffer.
* repair.cc (debug_decompress): Continue decoding on CRC mismatch.
* unzcrash.cc: Make zcmp_command a string of unlimited size.
Use execvp instead of popen to avoid invoking /bin/sh.
Print byte or block position in messages.
* New file common.h.
* Improve several descriptions in manual, '--help', and man page.
* lziprecover.texi: Change GNU Texinfo category to 'Compression'.
(Reported by Alfred M. Szmidt).
0.17.0 (released 2021-01-18)
Backwards Compatibility Notes
ZstdCompressionWriter and ZstdDecompressionWriter now implement __iter__() and __next__(). The methods always raise io.UnsupportedOperation. The added methods are part of the io.IOBase abstract base class / interface and help ensure instances look like other I/O types.
The HASHLOG3_MAX constant has been removed since it is no longer defined in zstd 1.5.1.
Bug Fixes
The ZstdCompressionReader, ZstdCompressionWriter, ZstdDecompressionReader, and ZstdDecompressionWriter types in the C backend now tracks their closed attribute using the proper C type. Before, due to a mismatch between the C struct type and the type declared to Python, Python could read the wrong bits on platforms like s390x and incorrectly report the value of the closed attribute to Python.
Changes
Bundled zstd library upgraded from 1.5.0 to 1.5.1.
The C backend now exposes the symbols ZstdCompressionReader, ZstdCompressionWriter, ZstdDecompressionReader, and ZstdDecompressionWriter. This should match the behavior of the CFFI backend.
ZstdCompressionWriter and ZstdDecompressionWriter now implement __iter__ and __next__, which always raise io.UnsupportedOperation.
Documentation on thread safety has been updated to note that derived objects like ZstdCompressionWriter have the same thread unsafety as the contexts they were derived from.
v1.5.1 (Dec, 2021)
perf: rebalanced compression levels, to better match the intended speed/level curve, by @senhuang42
perf: faster huffman decoder, using x64 assembly, by @terrelln
perf: slightly faster high speed modes (strategies fast & dfast), by @felixhandte
perf: improved binary size and faster compilation times, by @terrelln
perf: new row64 mode, used notably in level 12, by @senhuang42
perf: faster mid-level compression speed in presence of highly repetitive patterns, by @senhuang42
perf: minor compression ratio improvements for small data at high levels, by @cyan4973
perf: reduced stack usage (mostly useful for Linux Kernel), by @terrelln
perf: faster compression speed on incompressible data, by @bindhvo
perf: on-demand reduced ZSTD_DCtx state size, using build macro ZSTD_DECODER_INTERNAL_BUFFER, at a small cost of performance, by @bindhvo
build: allows hiding static symbols in the dynamic library, using build macro, by @skitt
build: support for m68k (Motorola 68000's), by @cyan4973
build: improved AIX support, by @Helflym
build: improved meson unofficial build, by @eli-schwartz
cli : custom memory limit when training dictionary
cli : report advanced parameters information when compressing in very verbose mode (``-vv`)