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
|
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 Grny).
* 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 Hol Bzier).
* 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.
|