2026-03-07  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.13 released.
	* decompress.cc (show_results): With -vv print sizes, not ratios.
	* list.cc (list_files): Print size of tdata below sizes of members.
	  With -vv print a blank line between files.
	* lzip_index.cc (skip_box): New function.
	* main.cc (getnum): Accept underscore separators ('_').
	  (show_help): New argument 'bool full' to print usage or full help.
	  (show_help): Print "*Exit status*" for section in man page.
	* Print large numbers with underscore separators ('_').

2025-01-09  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.12 released.
	* decompress.cc (decompress), list.cc (list_files):
	  Return 2 if any empty member is found in a multimember file.
	* dec_stdout.cc, dec_stream.cc:
	  Change 'deliver_packet' to 'deliver_packets'.
	* list.cc (list_files): Detect write error on stdout.
	* plzip.texi: New chapter 'Syntax of command-line arguments'.
	* check.sh: Use 'cp' instead of 'cat'.

2024-01-21  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.11 released.
	* main.cc: Reformat file diagnostics as 'PROGRAM: FILE: MESSAGE'.
	  (show_option_error): New function showing argument and option name.
	  (main): Make -o preserve date/mode/owner if 1 input file.
	  (open_outstream): Create missing intermediate directories.
	* configure, Makefile.in: New variable 'MAKEINFO'.

2022-01-24  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.10 released.
	* main.cc (getnum): Show option name and valid range if error.
	  (check_lib): Check that LZ_API_VERSION and LZ_version_string match.
	* configure: Set variable LIBS.
	* Improve several descriptions in manual, '--help', and man page.
	* plzip.texi: Change GNU Texinfo category to 'Compression'.
	  (Reported by Alfred M. Szmidt).

2021-01-03  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.9 released.
	* New option '--check-lib'.
	* main.cc (main): Report an error if a file name is empty.
	  (main): Show final diagnostic when testing multiple files.
	  Make '-o' behave like '-c', but writing to file instead of stdout.
	  Make '-c' and '-o' check whether the output is a terminal only once.
	  Do not open output if input is a terminal.
	  Set a valid invocation_name even if argc == 0.
	* Replace 'decompressed', 'compressed' with 'out', 'in' in output.
	* decompress.cc, dec_stdout.cc, dec_stream.cc:
	  Continue testing if any input file fails the test.
	  Show the largest dictionary size in a multimember file.
	* decompress.cc, dec_stream.cc [LZ_API_VERSION >= 1012]: Avoid
	  copying decompressed data when testing with lzlib 1.12 or newer.
	* compress.cc, dec_stream.cc: Start only the worker threads required.
	* dec_stream.cc: Splitter stops reading when trailing data is found.
	  Don't include trailing data in the compressed size shown.
	  Use plain comparison instead of Boyer-Moore to search for headers.
	* lzip_index.cc: Improve messages for corruption in last header.
	* decompress.cc: Shorten messages 'Data error' and 'Unexpected EOF'.
	* Document extraction from tar.lz in manual, '--help', and man page.
	* plzip.texi (Introduction): Mention tarlz as an alternative.
	  Several fixes and improvements.
	* testsuite: Add 8 new test files.

2019-01-05  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.8 released.
	* Rename File_* to Lzip_*.
	* New options '--in-slots' and '--out-slots'.
	* main.cc (main): Increase default in_slots per worker from 2 to 4.
	  (main): Increase default out_slots per worker from 32 to 64.
	  (main): Check return value of close( infd ).
	* lzip.h (Lzip_trailer): New function 'verify_consistency'.
	* lzip_index.cc: Detect some kinds of corrupt trailers.
	* plzip.texi: Improve descriptions of '-0..-9', '-m', and '-s'.
	* configure: New option '--with-mingw'.
	  Accept appending to CXXFLAGS; 'CXXFLAGS+=OPTIONS'.
	* INSTALL: Document use of CXXFLAGS+='-D __USE_MINGW_ANSI_STDIO'.

2018-02-07  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.7 released.
	* New option '--loose-trailing'.
	* compress.cc: Use 'LZ_compress_restart_member' and replace input
	  packet queue by a circular buffer to reduce memory fragmentation.
	  Return one empty packet at a time to reduce memory use.
	* main.cc: Reduce threads on 32 bit systems to use under 2.22 GiB.
	  (set_c_outname): Do not add a second '.lz' to the arg of '-o'.
	  (cleanup_and_fail): Suppress messages from other threads.
	* Improve corrupt header detection to HD = 3 on seekable files.
	  (On all files with lzlib 1.10 or newer).
	* Replace 'bits/byte' with inverse compression ratio in output.
	* Show progress of decompression at verbosity level 2 (-vv).
	* Show progress of (de)compression only if stderr is a terminal.
	* Show dictionary size at verbosity level 4 (-vvvv).
	* list.cc: Add missing '#include <pthread.h>'.
	* plzip.texi: New chapter 'Meaning of plzip's output'.
	  (Memory requirements): Add table.
	  (Program design): Add a block diagram.

2017-04-12  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.6 released.
	* The option '-l, --list' has been ported from lziprecover.
	* Don't allow mixing different operations (-d, -l or -t).
	* main.cc: Continue testing if any input file is a terminal.
	* lzip_index.cc: Improve detection of bad dict and trailing data.
	* lzip.h: Unify messages for bad magic, trailing data, etc.

2016-05-14  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.5 released.
	* New option '-a, --trailing-error'.
	* main.cc (main): Delete '--output' file if infd is a terminal.
	  (main): Don't use stdin more than once.
	* plzip.texi: New chapters 'Trailing data' and 'Examples'.
	* configure: Avoid warning on some shells when testing for g++.
	* Makefile.in: Detect the existence of install-info.
	* check.sh: Require a POSIX shell. Don't check error messages.

2015-07-09  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.4 released.
	* Option '-0' now uses the fast encoder of lzlib 1.7.

2015-01-22  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.3 released.
	* dec_stream.cc: Don't use output packets or muxer when testing.
	* Make '-dvvv' and '-tvvv' show dictionary size like lzip.
	* lzip.h: Add missing 'const' to the declaration of 'compress'.
	* plzip.texi: New chapters 'Memory requirements' and
	  'Minimum file sizes'.
	* Makefile.in: New targets 'install*-compress'.

2014-08-29  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.2 released.
	* main.cc (close_and_set_permissions): Behave like 'cp -p'.
	* dec_stdout.cc, dec_stream.cc: Make 'slot_av' a vector to limit
	  the number of packets produced by each worker individually.
	* plzip.texinfo: Rename to plzip.texi.
	* plzip.texi: Document the approximate amount of memory required.
	* Change license to GPL version 2 or later.

2013-09-17  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.1 released.
	* Show progress of compression at verbosity level 2 (-vv).
	* SIGUSR1 and SIGUSR2 are no longer used to signal a fatal error.

2013-05-29  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.0 released.
	* compress.cc: Change 'deliver_packet' to 'deliver_packets'.
	* Increase scalability of decompression from/to regular files by
	  removing splitter and muxer when not needed.
	* Limit the number of worker threads to the number of members when
	  decompressing from a regular file.
	* configure: Options now accept a separate argument.
	* Makefile.in: New targets 'install-as-lzip' and 'install-bin'.
	* main.cc: Define 'strtoull' to 'std::strtoul' on Windows.
	  (main): Use 'setmode' instead of '_setmode' on Windows and OS/2.

2012-03-01  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.9 released.
	* Minor fixes and cleanups.
	* configure: Rename 'datadir' to 'datarootdir'.

2012-01-17  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.8 released.
	* New option '-F, --recompress'.
	* decompress.cc (decompress): Show compression ratio.
	* main.cc (close_and_set_permissions): Inability to change output
	  file attributes has been downgraded from error to warning.
	  (main): Set stdin/stdout in binary mode on OS2.
	* Small change in '--help' output and man page.
	* Change quote characters in messages as advised by GNU Standards.
	* compress.cc: Reduce memory use of compressed packets.
	* decompress.cc: Use Boyer-Moore algorithm to search for headers.

2010-12-03  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.7 released.
	* Match length limits set by options -1 to -9 have been changed
	  to match those of lzip 1.11.
	* decompress.cc: A limit has been set on the number of packets
	  produced by workers to limit the amount of memory used.
	* main.cc (open_instream): Don't show the message
	  " and '--stdout' was not specified" for directories, etc.
	  Exit with status 1 if any output file exists and is skipped.
	  Fix warning about fchown's return value being ignored.
	* testsuite: Rename 'test1' to 'test.txt'. New tests.

2010-03-20  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.6 released.
	* Small portability fixes.
	* plzip.texinfo: New chapter 'Program Design'.
	  Add missing description of option '-n, --threads'.
	* Fix debug statistics.

2010-02-10  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.5 released.
	* Parallel decompression has been implemented.

2010-01-31  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.4 released.
	* main.cc (show_version): Show the version of lzlib being used.
	* Code reorganization. Class Packet_courier now coordinates data
	  movement and synchronization among threads.

2010-01-24  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.3 released.
	* New option '-B, --data-size'.
	* Output file is now removed if plzip is interrupted.
	* Choose automatically the smallest possible dictionary size for
	  each member during compression, saving memory during decompression.
	* main.cc: New constant 'o_binary'.

2010-01-17  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.2 released.
	* New options '-s, --dictionary-size' and '-m, --match-length'.
	* 'lacos_rbtree' has been replaced with a circular buffer.

2009-12-05  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.1 released.
	* This version is based on llzip-0.03 (2009-11-21), written by
	  Laszlo Ersek <lacos@caesar.elte.hu>. Thanks Laszlo!
	  From llzip-0.03/README:

            llzip is a hack on my lbzip2-0.17 release. I ripped out the
            decompression stuff, and replaced the bzip2 compression with
            the lzma compression from lzlib-0.7. llzip is mainly meant
            as an assisted fork point for the lzip developers.
            Nonetheless, I tried to review the diff against lbzip2-0.17
            thoroughly, and I think llzip should be usable on its own
            until something better appears on the net.


Copyright (C) 2009-2026 Antonio Diaz Diaz.

This file is a collection of facts, and thus it is not copyrightable, but just
in case, you have unlimited permission to copy, distribute, and modify it.
