1
0
Fork 0
lzlib/ChangeLog

280 lines
12 KiB
Text
Raw Permalink Normal View History

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<48>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.