1
0
Fork 0
plzip/ChangeLog

244 lines
10 KiB
Text
Raw Permalink Normal View History

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