2024-01-21 Antonio Diaz Diaz * 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 * 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 * Version 1.9 released. * main.cc (main): Report an error if a file name is empty. 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. * main.cc: New option '--check-lib'. * Replace 'decompressed', 'compressed' with 'out', 'in' in output. * decompress.cc, dec_stream.cc, dec_stdout.cc: Continue testing if any input file fails the test. Show the largest dictionary size in a multimember file. * main.cc: Show final diagnostic when testing multiple files. * 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'. * main.cc: Set a valid invocation_name even if argc == 0. * Document extraction from tar.lz in manual, '--help', and man page. * plzip.texi (Introduction): Mention tarlz as an alternative. * plzip.texi: Several fixes and improvements. * testsuite: Add 8 new test files. 2019-01-05 Antonio Diaz Diaz * Version 1.8 released. * Rename File_* to Lzip_*. * main.cc: New options '--in-slots' and '--out-slots'. * main.cc: Increase default in_slots per worker from 2 to 4. * main.cc: Increase default out_slots per worker from 32 to 64. * lzip.h (Lzip_trailer): New function 'verify_consistency'. * lzip_index.cc: Detect some kinds of corrupt trailers. * main.cc (main): Check return value of close( infd ). * plzip.texi: Improve description of '-0..-9', '-m', and '-s'. * configure: New option '--with-mingw'. * configure: Accept appending to CXXFLAGS; 'CXXFLAGS+=OPTIONS'. * INSTALL: Document use of CXXFLAGS+='-D __USE_MINGW_ANSI_STDIO'. 2018-02-07 Antonio Diaz Diaz * Version 1.7 released. * compress.cc: Use 'LZ_compress_restart_member' and replace input packet queue by a circular buffer to reduce memory fragmentation. * compress.cc: Return one empty packet at a time to reduce mem use. * main.cc: Reduce threads on 32 bit systems to use under 2.22 GiB. * main.cc: New option '--loose-trailing'. * 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. * main.cc: Do not add a second .lz extension to the arg of -o. * Show dictionary size at verbosity level 4 (-vvvv). * main.cc (cleanup_and_fail): Suppress messages from other threads. * list.cc: Add missing '#include '. * plzip.texi: New chapter 'Output'. * plzip.texi (Memory requirements): Add table. * plzip.texi (Program design): Add a block diagram. 2017-04-12 Antonio Diaz Diaz * 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 * Version 1.5 released. * main.cc: New option '-a, --trailing-error'. * main.cc (main): Delete '--output' file if infd is a terminal. * main.cc (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: A POSIX shell is required to run the tests. * check.sh: Don't check error messages. 2015-07-09 Antonio Diaz Diaz * Version 1.4 released. * Option '-0' now uses the fast encoder of lzlib 1.7. 2015-01-22 Antonio Diaz Diaz * 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 * 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 * 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 * Version 1.0 released. * compress.cc: Change 'deliver_packet' to 'deliver_packets'. * Scalability of decompression from/to regular files has been increased by removing splitter and muxer when not needed. * The number of worker threads is now limited 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: Use 'setmode' instead of '_setmode' on Windows and OS/2. * main.cc: Define 'strtoull' to 'std::strtoul' on Windows. 2012-03-01 Antonio Diaz Diaz * Version 0.9 released. * Minor fixes and cleanups. * configure: Rename 'datadir' to 'datarootdir'. 2012-01-17 Antonio Diaz Diaz * Version 0.8 released. * main.cc: 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. * Small change in '--help' output and man page. * Change quote characters in messages as advised by GNU Standards. * main.cc: Set stdin/stdout in binary mode on OS2. * compress.cc: Reduce memory use of compressed packets. * decompress.cc: Use Boyer-Moore algorithm to search for headers. 2010-12-03 Antonio Diaz Diaz * 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. * main.cc: Fix warning about fchown return value being ignored. * testsuite: Rename 'test1' to 'test.txt'. New tests. 2010-03-20 Antonio Diaz Diaz * 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 * Version 0.5 released. * Parallel decompression has been implemented. 2010-01-31 Antonio Diaz Diaz * 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 * Version 0.3 released. * New option '-B, --data-size'. * Output file is now removed if plzip is interrupted. * This version automatically chooses 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 * 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 * Version 0.1 released. * This version is based on llzip-0.03 (2009-11-21), written by Laszlo Ersek . 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-2024 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.