lzip-bug
[Top][All Lists]
Advanced

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

[Lzip-bug] Lzlib 1.12 released


From: Antonio Diaz Diaz
Subject: [Lzip-bug] Lzlib 1.12 released
Date: Wed, 06 Jan 2021 17:48:25 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14

I am pleased to announce the release of lzlib 1.12.

Lzlib is a compression library providing in-memory LZMA compression and decompression functions, including integrity checking of the decompressed data. The compressed data format used by lzlib is the lzip format. Lzlib is written in C. Lzlib is free software distributed under a 2-clause BSD license.

Compression/decompression is done by repeatedly calling a couple of read/write functions until all the data have been processed by the library. This interface is safer and less error prone than the traditional zlib interface.

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

The sources can be downloaded from http://download.savannah.gnu.org/releases/lzip/lzlib/

The sha256sums are:
238469af158a5a52e480907014dd90fe8ae5a78070473e18634fb74ac17cfcd8 lzlib-1.12.tar.lz 8e5d84242eb52cf1dcc98e58bd9ba8ef1aefa501431abdd0273a22bf4ce337b1 lzlib-1.12.tar.gz

This release is also GPG signed. You can download the signature by appending '.sig' to the URL. If the 'gpg --verify' command fails because you don't have the required public key, then run this command to import it:

  gpg --keyserver keys.gnupg.net --recv-keys 8FE99503132D7742

Key fingerprint = 1D41 C14B 272A 2219 A739  FA4F 8FE9 9503 132D 7742


Changes in version 1.12:

* The value of the version test macro 'LZ_API_VERSION' is now defined as 1000 * major + minor. For version 1.12 it is 1012. This change does not affect the soversion.

* The new function 'LZ_api_version', which returns the LZ_API_VERSION of the library object code being used at run time, has been added to lzlib.

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

* The new option '--check-lib', which compares the version of lzlib used to compile minilzip with the version actually being used at run time, has been added to minilzip.

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

* Minilzip now does not even open the output file if the input file is a terminal.

* 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 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. See http://tools.ietf.org/html/draft-diaz-lzip-02#section-3

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

* It has been documented in the manual that 'LZ_(de)compress_read' can be called with a null buffer pointer argument.

* 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' now accepts options '-s' (to check LZ_compress_sync_flush) and '-m' (to check member by member decompression).

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


Please send bug reports and suggestions to lzip-bug@nongnu.org


Regards,
Antonio Diaz, lzlib author and maintainer.
Self-determination is a human right. Free Catalan political prisoners.
--
If you care about data safety and long-term archiving, please consider using lzip. See http://www.nongnu.org/lzip/lzip_benchmark.html
http://www.nongnu.org/lzip/manual/lzip_manual.html#Quality-assurance and
http://www.nongnu.org/lzip/safety_of_the_lzip_format.html Thanks.




reply via email to

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