2025-01-09  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.15 released.
	* decoder.h (Rd_try_reload): Reject a nonzero first LZMA byte.
	* minilzip.c (do_decompress): Reject empty member in multimember.
	  (Pp_free): New function.
	* lzlib.h: Declare LZ_Errno, LZ_Encoder, and LZ_Decoder as typedef.
	* Makefile.in: New target 'lib' which builds just the library.
	  New target 'bin' which builds the library and minilzip.
	  'lib' is now the default; minilzip is no longer built by default.
	  'install-bin' installs minilzip and its man page again.
	* configure, Makefile.in: Use '--soname' conditionally.
	  (Reported by Michael Sullivan).
	* INSTALL: Document use of 'make bin'.
	* check.sh: Use 'cp' instead of 'cat'.

2024-01-20  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.14 released.
	* minilzip.c: 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.
	* lzip.h: Rename verify_* to check_*.
	* lzlib.texi: Document the need to declare uint8_t before lzlib.h.
	  (Reported by Michal Górny).
	* configure, Makefile.in: New variable 'MAKEINFO'.
	* INSTALL: Document use of CFLAGS+='--std=c99 -D_XOPEN_SOURCE=500'.

2022-01-23  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.13 released.
	* configure: Set variables AR and ARFLAGS. (Reported by Hoël Bézier).
	* main.c: Rename to minilzip.c.
	* minilzip.c (getnum): Show option name and valid range if error.
	  (check_lib): Check that LZ_API_VERSION and LZ_version_string match.
	* Improve several descriptions in manual, '--help', and man page.
	* lzlib.texi: Change GNU Texinfo category to 'Compression'.
	  (Reported by Alfred M. Szmidt).

2021-01-02  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.12 released.
	* lzlib.h: Define LZ_API_VERSION as 1000 * major + minor. 1.12 = 1012.
	  This change does not affect the soversion.
	* lzlib.h, lzlib.c: New function LZ_api_version.
	* LZd_try_verify_trailer: Return 2 if EOF at trailer or EOS marker.
	* Decompression speed has been slightly increased.
	* decoder.h: Increase 'rd_min_available_bytes' from 8 to 10.
	* encoder_base.c (LZeb_try_sync_flush):
	  Compensate for the increase in 'rd_min_available_bytes'.
	* main.c (do_decompress): Fix false report about library stall.
	  New option '--check-lib'.
	  (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.
	  Replace 'decompressed', 'compressed' with 'out', 'in' in output.
	  Set a valid invocation_name even if argc == 0.
	* lzlib.texi: Document the new way of checking the library version.
          Document that 'LZ_(de)compress_close' and 'LZ_(de)compress_errno'
          can be called with a null argument.
	  Document that sync flush marker is not allowed in lzip files.
	  Document the consequences of not calling 'LZ_decompress_finish'.
	  Document that 'LZ_decompress_read' returns at least once per member.
	  Document that 'LZ_(de)compress_read' can be called with a null
	  buffer pointer argument.
	  Real code examples for common uses have been added to the tutorial.
	* bbexample.c: Don't use 'LZ_(de)compress_write_size'.
	* lzcheck.c: New options '-s' (sync) and '-m' (member by member).
	  Test member by member without 'LZ_decompress_finish'.
	* ffexample.c: New file containing example functions for file-to-file
	  compression/decompression.
	* Document extraction from tar.lz in '--help' output and man page.
	* Makefile.in: 'install-bin' no longer installs the man page.
	  New targets 'install-bin-compress' and 'install-bin-strip-compress'.
	* testsuite: Add 9 new test files.

2019-01-02  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.11 released.
	* Rename File_* to Lzip_*.
	* LZ_decompress_read: Don't return error until all data is read.
	* decoder.c (LZd_decode_member): Decode truncated data until EOF.
	* cbuffer.c (Cb_read_data): Allow a null buffer pointer.
	* main.c: Don't allow mixing different operations (-d and -t).
	* main.c: Check return value of close( infd ).
	* main.c: Compile on DOS with DJGPP.
	* lzlib.texi: Improve descriptions of '-0..-9', '-m', and '-s'.
	  Document that 'LZ_(de)compress_finish' can be called repeatedly.
	* configure: Accept appending to CFLAGS; 'CFLAGS+=OPTIONS'.
	* Makefile.in: Rename targets 'install-bin*' to 'install-lib*'.
	* Makefile.in: Targets 'install-bin*' now install minilzip.
	* INSTALL: Document use of CFLAGS+='-D __USE_MINGW_ANSI_STDIO'.

2018-02-07  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.10 released.
	* LZ_compress_finish now adjusts dictionary size for each member.
	  (Older versions can adjust dictionary size only once).
	* lzlib.c (LZ_decompress_read): Detect corrupt header with HD=3.
	* main.c: New option '--loose-trailing'.
	  (main): Make option '-S, --volume-size' keep input files.
	  Replace 'bits/byte' with inverse compression ratio in output.
	  (main): Show final diagnostic when testing multiple files.
	  (set_c_outname): Do not add a second '.lz' to the arg of '-o'.
	  (do_decompress): Show dictionary size at verbosity level 4 (-vvvv).
	* lzlib.texi: New chapter 'Invoking minilzip'.

2017-04-11  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.9 released.
	* Compression time of option '-0' has been reduced by 3%.
	* Compression time of options -1 to -9 has been reduced by 1%.
	* Decompression time has been reduced by 3%.
	* main.c: Continue testing if any input file is a terminal.
	* Change the license of the library to "2-clause BSD".

2016-05-17  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.8 released.
	* lzlib.h: Define LZ_API_VERSION to 1.
	* lzlib.c (LZ_decompress_sync_to_member): Add skipped size to in_size.
	* decoder.c (LZd_verify_trailer): Remove test of final code.
	* main.c: New option '-a, --trailing-error'.
	  (main): Delete '--output' file if infd is a terminal.
	  (main): Don't use stdin more than once.
	* configure: Avoid warning on some shells when testing for gcc.
	* Makefile.in: Detect the existence of install-info.
	* check.sh: Require a POSIX shell. Don't check error messages.

2015-07-08  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.7 released.
	* Port fast encoder and option '-0' from lzip.
	* If open-->write-->finish, produce same dictionary size as lzip.
	* Makefile.in: New targets 'install*-compress'.

2014-08-27  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.6 released.
	* Compression ratio of option '-9' has been slightly increased.
	* configure: New options '--disable-static' and '--disable-ldconfig'.
	* Makefile.in: Ignore errors from ldconfig.
	* Makefile.in: Use 'CFLAGS' in every invocation of 'CC'.
	* main.c (close_and_set_permissions): Behave like 'cp -p'.
	* lzlib.texinfo: Rename to lzlib.texi.
	* Change license to "GPL version 2 or later with link exception".

2013-09-15  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.5 released.
	* Remove decompression support for version 0 files.
	* The LZ_compress_sync_flush mechanism has been fixed (again).
	* Minor fixes.

2013-05-28  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.4 released.
	* Multi-step trials have been implemented.
	* Compression ratio has been slightly increased.
	* Compression time has been reduced by 8%.
	* Decompression time has been reduced by 7%.
	* lzlib.h: Change 'long long' values to 'unsigned long long'.
	* encoder.c (Mf_init): Reduce minimum buffer size to 64KiB.
	* lzlib.c (LZ_decompress_read): Tell LZ_header_error from
	  LZ_unexpected_eof the same way as lzip does.
	* Makefile.in: New targets 'install-as-lzip' and 'install-bin'.
	* main.c: Define 'strtoull' to 'strtoul' on Windows.
	  (main): Use 'setmode' instead of '_setmode' on Windows and OS/2.

2012-02-29  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 1.3 released.
	* Translated to C from the C++ source of lzlib 1.2.
	* configure: Rename 'datadir' to 'datarootdir'.

2011-10-25  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 1.2 released.
	* encoder.h (Lee_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%.
	* main.cc: New option '-F, --recompress'.
	* Makefile.in: 'make install' no longer tries to run '/sbin/ldconfig'
	  on systems lacking it.

2011-01-03  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 1.1 released.
	* Compression time has been reduced by 2%.
	* All declarations not belonging to the API have been
	  encapsulated in the namespace 'Lzlib'.
	* testsuite: Rename 'test1' to 'test.txt'. New tests.
	* main.cc (main): Set match length limits to same values as lzip 1.11.
	  (main): Set stdin/stdout in binary mode on OS2.
	* bbexample.cc: New file containing example functions for
	  buffer-to-buffer compression/decompression.

2010-05-08  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 1.0 released.
	* New functions LZ_decompress_member_version, LZ_decompress_data_crc,
	  LZ_decompress_member_finished, and LZ_decompress_dictionary_size.
	* Variables declared 'extern' have been encapsulated in a namespace.
	* main.cc: Fix warning about fchown's return value being ignored.
	* decoder.h: Integrate Input_buffer in Range_decoder.

2010-02-10  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.9 released.
	* Compression time has been reduced by 8%.
	* main.cc: New constant 'o_binary'.

2010-01-17  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.8 released.
	* New functions LZ_decompress_reset, LZ_decompress_sync_to_member,
	  LZ_decompress_write_size, and LZ_strerror.
	* lzlib.h: API change. Replace 'enum' with functions for values of
	  dictionary size limits to make interface names consistent.
	* lzlib.h: API change. Rename 'LZ_errno' to 'LZ_Errno'.
	* lzlib.h: API change. Replace 'void *' with 'struct LZ_Encoder *'
	  and 'struct LZ_Decoder *' to make interface type safe.
	* decoder.cc: A truncated member trailer is now correctly detected.
	* encoder.cc: Matchfinder::reset now also clears at_stream_end_,
	  allowing LZ_compress_restart_member to restart a finished stream.
	* lzlib.cc: Accept only query or close operations after a fatal
	  error has occurred.
	* The shared version of lzlib is no longer built by default.
	* check.sh: Use 'test1' instead of 'COPYING' for testing.

2009-10-20  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.7 released.
	* Compression time has been reduced by 4%.
	* check.sh: Remove -9 to run in less than 256MiB of RAM.
	* lzcheck.cc: Read files of any size up to 2^63 bytes.

2009-09-02  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.6 released.
	* The LZ_compress_sync_flush mechanism has been fixed.

2009-07-03  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.5 released.
	* Decompression speed has been improved.
	* main.cc (signal_handler): Declare as 'extern "C"'.

2009-06-03  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.4 released.
	* New functions LZ_compress_sync_flush and LZ_compress_write_size.
	* Decompression speed has been improved.
	* lzlib.texinfo: New chapter 'Buffering'.

2009-05-03  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.3 released.
	* Lzlib is now built as a shared library (in addition to static).

2009-04-26  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.2 released.
	* Fix a segfault when decompressing trailing garbage.
	* Fix a false positive in LZ_(de)compress_finished.

2009-04-21  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.1 released.


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.
