summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: f178fe7329cc713b18ba0027e0edb3d45f71c892 (plain)
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
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.
	* main.c: New option '--check-lib'.
	* main.c (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.c (main): Option '-S, --volume-size' now keeps input files.
	* main.c: Replace 'bits/byte' with inverse compression ratio.
	* main.c: Show final diagnostic when testing multiple files.
	* main.c: Do not add a second .lz extension to the arg of -o.
	* main.c: 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.c (main): Delete '--output' file if infd is a terminal.
	* main.c (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: A POSIX shell is required to run the tests.
	* check.sh: 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: Use 'setmode' instead of '_setmode' on Windows and OS/2.
	* main.c: Define 'strtoull' to 'strtoul' on Windows.

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.
	* Match length limits set by options -1 to -9 of minilzip have
	  been changed to match those of lzip 1.11.
	* main.cc: 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-2024 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.