summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog334
1 files changed, 334 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..7dfae8d
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,334 @@
+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.
+ * 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.
+ * main.cc: Set a valid invocation_name even if argc == 0.
+ * Document extraction from tar.lz in manual, '--help', and man page.
+ * lzip.texi (Introduction): Mention plzip and tarlz as alternatives.
+ * lzip.texi: 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 ).
+ * main.cc: Compile on DOS with DJGPP.
+ * Fix a GCC warning about catching std::bad_alloc by value.
+ * lzip.texi: Improve description 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.cc (main): Option '-S, --volume-size' now keeps input files.
+ * 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.
+ * main.cc: Show final diagnostic when testing multiple files.
+ * main.cc: Do not add a second extension '.lz' to the arg of '-o'.
+ * 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.
+ * main.cc: Show trailing data in both hexadecimal and ASCII.
+ * encoder.cc (Matchfinder_base): Verify 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%.
+ * decoder.cc (verify_trailer): Remove test of final code.
+ * main.cc (main): Delete '--output' file if infd is a terminal.
+ * main.cc (main): Don't use stdin more than once.
+ * Remove decompression support for version 0 files.
+ * 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: A POSIX shell is required to run the tests.
+ * check.sh: 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: Use 'setmode' instead of '_setmode' on Windows and OS/2.
+ * main.cc: Define 'strtoull' to 'std::strtoul' on Windows.
+
+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.
+ * main.cc (decompress): Print up to 6 bytes of trailing data
+ when '-vvvv' is specified.
+ * main.cc (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.
+ * unzcrash.cc: 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.
+ * Compression ratio of option '-9' has been slightly increased.
+ * lziprecover.cc: New option '-m, --merge', which tries to produce a
+ correct file by merging the good parts of two or more damaged copies.
+ * lziprecover.cc: New option '-R, --repair' for repairing a
+ 1-byte error in single-member files.
+ * 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.
+ * lziprecover.cc: New options '-f, --force' and '-o, --output'.
+ * lziprecover.cc: New option '-s, --split' to select the until
+ now only operation of splitting multimember files.
+ * lziprecover.cc: If no operation is specified, warn the user and do
+ nothing.
+ * main.cc: Fix warning about fchown's return value being ignored.
+ * decoder.cc: '-tvvvv' now also shows compression ratio.
+ * main.cc: Set stdin/stdout in binary mode on MSVC and OS2.
+ * 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 the 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.
+ * main.cc: New constant 'o_binary'.
+ * main.cc: Dictionary size for options -2, -3, -4 and -8 has been
+ changed 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%.
+ * Add decompression 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 and lzgrep now accept '-h' for '--help' and
+ '-V' for '--version'.
+ * Makefile.in: Man page is now installed by default.
+ * check.sh: Verify 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 512MiB because
+ setting it to 1GiB 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'.
+ * main.cc (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-2022 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.