1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
|
2026-01-14 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.13-rc1 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): Print short help by default, full help with '-vh'.
(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.
|