[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lzip-bug] Lzlib 1.12-rc1 released

From: Antonio Diaz Diaz
Subject: [Lzip-bug] Lzlib 1.12-rc1 released
Date: Tue, 09 Jun 2020 13:08:19 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv: Gecko/20110420 SeaMonkey/2.0.14

Lzlib 1.12-rc1 is ready for testing here

The sha256sums are:
6125368e17739121caffcf4d65534686ad2e3d78c3ed02fb8629baf3ba127911 lzlib-1.12-rc1.tar.lz cb80167fb20a29b4e3f23bc1ea6c9155a4ac22f3045510e4feb41adda66e4d3a lzlib-1.12-rc1.tar.gz

Please, test it and report any bugs you find.

Lzlib is a data compression library providing in-memory LZMA compression and decompression functions, including integrity checking of the decompressed data. The compressed data format used by the library is the lzip format. Lzlib is written in C.

The lzip file format is designed for data sharing and long-term archiving, taking into account both data integrity and decoder availability:

   * The lzip format provides very safe integrity checking and some data
     recovery means. The program lziprecover can repair bit flip errors
     (one of the most common forms of data corruption) in lzip files, and
     provides data recovery capabilities, including error-checked merging
     of damaged copies of a file.

   * The lzip format is as simple as possible (but not simpler). The lzip
     manual provides the source code of a simple decompressor along with a
     detailed explanation of how it works, so that with the only help of the
     lzip manual it would be possible for a digital archaeologist to extract
     the data from a lzip file long after quantum computers eventually
     render LZMA obsolete.

   * Additionally the lzip reference implementation is copylefted, which
     guarantees that it will remain free forever.

The homepage is at http://www.nongnu.org/lzip/lzlib.html

Changes in this version:

* If end of file is found at member trailer or EOS marker, 'LZ_decompress_errno' now returns 'LZ_unexpected_eof' instead of 'LZ_data_error'.

  * Decompression speed has been slightly increased.

* A bug has been fixed in minilzip that falsely reported a library stall when decompressing a file with empty members.

  * Minilzip now reports an error if a file name is empty (minilzip -t "").

* Option '-o, --output' now behaves like '-c, --stdout', but sending the output unconditionally to a file instead of to standard output. See the new description of '-o' in the manual. This change is not backwards compatible. Therefore commands like:
  minilzip -o foo.lz - bar < foo
must now be split into:
  minilzip -o foo.lz - < foo
  minilzip bar
or rewritten as:
  minilzip - bar < foo > foo.lz

* When using '-c' or '-o', minilzip now checks whether the output is a terminal only once.

* The words 'decompressed' and 'compressed' have been replaced with the shorter 'out' and 'in' in the verbose output of minilzip when decompressing or testing.

* It has been documented in the manual that 'LZ_(de)compress_close' and 'LZ_(de)compress_errno' can be safely called with a null argument.

* It has been documented in the manual that the LZMA marker '3' ("Sync Flush" marker) is not allowed in lzip files. Marker '3' is a device for interactive communication between applications using lzlib, but is useless and wasteful in a file, and is excluded from the media type 'application/lzip'. The LZMA marker '2' ("End Of Stream" marker) is the only marker allowed in lzip files.

* It has been documented in the manual that not calling 'LZ_decompress_finish' prevents lzlib from detecting a truncated member.

* It has been documented in the manual that 'LZ_decompress_read' returns at least once per member so that 'LZ_decompress_member_finished' can be called (and trailer data retrieved) for each member, even for empty members. Therefore, 'LZ_decompress_read' returning 0 does not mean that the end of the stream has been reached.

* Real code examples for the most common uses of the library have been added to the tutorial.

  * 'bbexample.c' has been simplified to not use 'LZ_(de)compress_write_size'.

* 'lzcheck.c' now also tests member by member decompression without intermediate calls to 'LZ_decompress_finish'.

* The new file 'ffexample.c', containing example functions for file-to-file compression/decompression, has been added to the distribution.

* The commands needed to extract files from a tar.lz archive have been documented in the output of 'minilzip --help' and in the man page.

* 'make install-bin' no longer installs the minilzip man page. This is to prevent 'make install-bin install-man-compress' from installing the man page twice before compressing it.

* The new targets 'install-bin-compress' and 'install-bin-strip-compress', which install a (stripped) minilzip and a compressed man page, have been added to the Makefile.

  * 9 new test files have been added to the testsuite.

Antonio Diaz, lzlib author and maintainer.
Self-determination is a human right. Free Catalan political prisoners.
If you care about long-term archiving, please help me replace xz with lzip. See http://www.nongnu.org/lzip/lzip_benchmark.html#xz1
http://www.nongnu.org/lzip/manual/lzip_manual.html#Quality-assurance and
http://www.nongnu.org/lzip/xz_inadequate.html Thanks.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]