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 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354
|
2025-01-11 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.25 released.
* Remove options '--empty-error' and '--marking-error'.
* decoder.cc (decode_member): Remove support for Sync Flush marker.
* list.cc (list_files): Detect write error on stdout.
* lzip.texi: New chapter 'Syntax of command-line arguments'.
* check.sh: Use 'cp' instead of 'cat'.
* testsuite: Add fox_nz.lz. Remove fox6.lz,fox6_mark.lz,test_em.txt.lz.
2024-03-01 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.24.1 released.
* main.cc: Fix compilation failure on MinGW caused by mkdir.
2024-01-26 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.24 released.
* New options '--empty-error' and '--marking-error'.
* 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.
* lzip.h: Rename verify_* to check_*.
* configure, Makefile.in: New variable 'MAKEINFO'.
* testsuite: New test files fox6.lz, fox6_mark.lz.
2022-01-24 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.23 released.
* Decompression time has been reduced by 5-12% depending on the file.
* main.cc (getnum): Show option name and valid range if error.
* Improve several descriptions in manual, '--help', and man page.
* lzip.texi: Change GNU Texinfo category to 'Compression'.
(Reported by Alfred M. Szmidt).
2021-01-04 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.22 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.
Set a valid invocation_name even if argc == 0.
* configure: Build, check, and install without 'make'.
* Replace 'decompressed', 'compressed' with 'out', 'in' in output.
* lzip_index.cc: Improve messages for corruption in last header.
* Document extraction from tar.lz in manual, '--help', and man page.
* lzip.texi (Introduction): Mention plzip and tarlz as alternatives.
Several fixes and improvements.
* testsuite: Add 9 new test files.
2019-01-03 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.21 released.
* Rename File_* to Lzip_*.
* 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 ).
Compile on DOS with DJGPP. (Reported by Robert Riebisch).
Fix a GCC warning about catching std::bad_alloc by value.
* lzip.texi: Improve descriptions of '-0..-9', '-m', and '-s'.
* configure: Accept appending to CXXFLAGS; 'CXXFLAGS+=OPTIONS'.
* INSTALL: Document use of CXXFLAGS+='-D __USE_MINGW_ANSI_STDIO'.
2018-02-11 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.20 released.
* New option '--loose-trailing'.
* Improve corrupt header detection to HD=3.
* main.cc: Show corrupt or truncated header in multimember file.
(main): Make option '-S, --volume-size' keep input files.
(main): Show final diagnostic when testing multiple files.
(set_c_outname): Do not add a second '.lz' to the arg of '-o'.
* encoder_base.*: Adjust dictionary size for each member.
* 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.
* decoder.cc (verify_trailer): Show stored sizes also in hex.
Show dictionary size at verbosity level 4 (-vvvv).
* lzip.texi: New chapter 'Meaning of lzip's output'.
2017-04-13 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.19 released.
* The option '-l, --list' has been ported from lziprecover.
* Don't allow mixing different operations (-d, -l or -t).
* Compression time of option '-0' has been slightly reduced.
* Decompression time has been reduced by 2%.
* main.cc: Continue testing if any input file is a terminal.
Show trailing data in both hexadecimal and ASCII.
* encoder.cc (Matchfinder_base): Check the size passed to new.
* 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.18 released.
* New option '-a, --trailing-error'.
* Decompression time has been reduced by 2%.
* main.cc (main): Delete '--output' file if infd is a terminal.
(main): Don't use stdin more than once.
* Remove decompression support for version 0 files.
* decoder.cc (verify_trailer): Remove test of final code.
* lzip.texi: New chapter 'Trailing data'.
* 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-12 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.17 released.
* Reorganization of the compression code.
* lzip.texi: New chapter 'Quality assurance'.
* Makefile.in: New targets 'install*-compress'.
2014-08-26 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.16 released.
* Compression ratio of option '-9' has been slightly increased.
* Compression time has been reduced by 4%.
* Compression time of option '-0' has been reduced by 2%.
* main.cc (close_and_set_permissions): Behave like 'cp -p'.
* Minor improvements.
* lzip.texinfo: Rename to lzip.texi.
* Change license to GPL version 2 or later.
2013-09-20 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.15 released.
* Show progress of compression at verbosity level 2 (-vv).
* main.cc (show_header): Don't show header version.
* Ignore option '-n, --threads' for compatibility with plzip.
* configure: Options now accept a separate argument.
* lzip.texinfo: New chapter 'Stream format' and appendix
'Reference source code'.
2013-02-17 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.14 released.
* Multi-step trials have been implemented.
* Compression ratio has been slightly increased.
* Compression time has been reduced by 5%.
* Decompression time has been reduced by 12%.
* Makefile.in: New target 'install-bin'.
* main.cc: Define 'strtoull' to 'std::strtoul' on Windows.
(main): Use 'setmode' instead of '_setmode' on Windows and OS/2.
2012-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.13 released.
* Lziprecover has been moved to its own package.
* main.cc (close_and_set_permissions): Inability to change output
file attributes has been downgraded from error to warning.
* Compression time of option '-0' has been reduced by 2%.
* Reorganization of the compression code.
* Small change in '--help' output and man page.
* Change quote characters in messages as advised by GNU Standards.
* configure: Rename 'datadir' to 'datarootdir'.
* 'unzcrash.cc' has been moved to package 'lziprecover'.
2011-04-30 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.12 released.
* New option '-F, --recompress'.
* encoder.h (update_prices): Update high length symbol prices
independently of the value of 'pos_state'. This gives better
compression for large values of '--match-length' without being
slower.
* encoder.h, encoder.cc: Optimize pair price calculations, reducing
compression time for large values of '--match-length' by up to 6%.
* Compression time of option '-0' has been reduced by 2%.
* main.cc (decompress): Print only one status line for each
multimember file when only one '-v' is specified.
(decompress): Print 6 bytes of trailing data at verbosity level 4.
(open_instream): Don't show the message
" and '--stdout' was not specified" for directories, etc.
* lziprecover.cc: If '-v' is not specified show errors only.
* unzcrash.cc: Use Arg_parser.
New options '-b, --bits', '-p, --position', and '-s, --size'.
2010-09-16 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.11 released.
* New option '-0', which produces a compression speed and ratio
comparable to those of 'gzip -9'.
* fast_encoder.h, fast_encoder.cc: New files.
* main.cc: Match length limit set by options -1 to -8 has been
reduced to extend range of use towards gzip. Lower numbers now
compress less but faster. (-1 now takes 43% less time for only 20%
larger compressed size).
Exit with status 1 if any output file exists and is skipped.
Fix warning about fchown's return value being ignored.
(main): Set stdin/stdout in binary mode on MSVC and OS2.
* Compression ratio of option '-9' has been slightly increased.
* decoder.cc (decode_member): Detect file errors earlier to improve
efficiency of lziprecover's new repair capability.
This change also prevents (harmless) access to uninitialized
memory when decompressing a corrupt file.
(verify_trailer): '-tvvvv' now also shows compression ratio.
* lziprecover.cc: New option '-m, --merge', which tries to produce a
correct file by merging the good parts of two or more damaged copies.
New option '-R, --repair' for repairing a 1-byte error in
single-member files.
New options '-f, --force' and '-o, --output'.
New option '-s, --split' to select the until now only operation of
splitting multimember files.
If no operation is specified, warn the user and do nothing.
* lzip.texinfo: New examples.
* testsuite: Rename 'test1' to 'test.txt'. New tests.
* Matchfinder types HC4 (4 bytes hash-chain) and HT4 (4 bytes
hash-table) have been tested and found no better than current BT4.
2010-04-05 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.10 released.
* decoder.h: Input_buffer integrated in Range_decoder.
* main.cc: File specified with option '-o' is now created with mode
0666 if umask allows it, deleted if interrupted by user.
New constant 'o_binary'.
(main): Change dictionary size for options -2, -3, -4 and -8 to
improve linearity of compressed sizes.
* lzip.h: Fix warnings produced by over-optimization (-O3).
* Makefile.in: Add quotes to directory names.
2010-01-17 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.9 released.
* main.cc (main): Return at least 1 if closing stdout fails.
* Makefile.in: Add option '--name' to help2man invocation.
* check.sh: Use 'test1' instead of 'COPYING' for testing.
2009-09-02 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.8 released.
* Compression time has been reduced by 4%.
* Lzdiff and lzgrep have been moved to the new package zutils.
* Fix warnings on systems where uint32_t != unsigned int.
2009-06-25 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.7 released.
* decoder.h (copy_block): Fix memcpy overlap introduced in 1.6.
2009-06-22 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.6 released.
* Decompression time has been reduced by 17%.
* decoder.cc (decode_member): Add support for Sync Flush marker.
* Add support for the extension '.tbz' to lzdiff and lzgrep.
* Add man pages for lzdiff, lzgrep and lziprecover.
* encoder.cc (Matchfinder): Reduce memory use to 9x if input file is
smaller than dictionary size limit.
* decoder.cc: Add extra flush calls to improve partial decompression
of corrupt files.
* '--test' no longer needs '/dev/null'.
* Remove some 'bashisms' from lzdiff and lzgrep.
* Dictionary size for options '-1' to '-4' has been changed.
* main.cc (signal_handler): Declare as 'extern "C"'.
* Makefile.in: Extra files are now installed by default.
* check.sh: Test lziprecover.
* Add 'export LC_ALL=C' to all scripts.
2009-04-12 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.5 released.
* lzip.h: Implement coded dictionary size in Lzip_header.
* Fix some includes that prevented compilation with GCC 4.4.
* 'member_size' and 'volume_size' are now accurate limits.
* Compression speed has been improved.
* Implement bt4 type matchfinder.
* lzip.texinfo: New chapter 'Algorithm'.
* lzdiff, lzgrep: Accept '-h' for '--help' and '-V' for '--version'.
* Makefile.in: Man page is now installed by default.
* check.sh: Check that files are opened in binary mode.
2009-01-24 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.4 released.
* Implement compression of version 1 files.
* New options '-b, --member-size', '-S, --volume-size', and
'-o, --output'.
* main.cc: Read from non-regular files if '--stdout' is specified.
* Add 'lziprecover', a member recoverer program.
* unzcrash.cc: Test all 1-byte errors.
2008-12-21 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.3 released.
* This version automatically chooses the smallest possible
dictionary size for each file during compression, saving memory
during decompression.
* Implement decompression of version 1 files.
* check.sh: Replace 'diff -q' with 'cmp'.
2008-12-10 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.2 released.
* encoder.cc: A 1-byte read outside allocated memory has been fixed.
* lzip.h: Dictionary size limit has been reduced to 512 MiB because
setting it to 1 GiB causes overflow of a 32 bit integer.
* Add 'lzdiff', a diff/cmp wrapper for gzip, bzip2, lzip and
non-compressed files.
* Add 'lzgrep', a grep wrapper for gzip, bzip2, lzip and
non-compressed files.
* 'make install-info' should now work on Debian and OS X.
2008-11-17 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.1 released.
* Change short name of option '--dictionary-size' to '-s'.
* Change short name of option '--match-length' to '-m'.
* Change LONG_LONG_MAX to LLONG_MAX.
2008-10-14 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.0 released.
* '-tvv' shows file version and dictionary size.
2008-09-30 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.5 released.
* Decompression is now 1% faster.
2008-09-23 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.4 released.
* Code cleanup for global variable 'verbosity'.
* Regain the compression ratio of 0.2 with 5% faster speed.
* lzip.h: Fix compilation on systems where size_t != unsigned int.
2008-09-15 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.3 released.
* encoder.cc: Compression is now 15% faster, 1% worse.
* main.cc (main): Make option '-t' override '-c'.
(decompress): Show 'done' instead of 'ok' when not testing.
* encoder.h: Use trials[] to return the list of pairs.
2008-09-09 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.2 released.
* encoder.cc: Small improvements in compression speed.
* Small documentation changes.
2008-08-20 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.1 released.
Copyright (C) 2008-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.
|