summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: cd488f69baa74d035f9dd2ec7e99bf449dfa2371 (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
267
268
269
270
2016-05-14  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 1.18 released.
	* main.cc: Added new option '-a, --trailing-error'.
	* Decompression time has been reduced by 2%.
	* decoder.cc (verify_trailer): Removed 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.
	* Removed decompression support for version 0 files.
	* lzip.texi: Added chapter 'Trailing data'.
	* configure: Avoid warning on some shells when testing for g++.
	* Makefile.in: Detect the existence of install-info.
	* testsuite/check.sh: A POSIX shell is required to run the tests.
	* testsuite/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: Added chapter 'Quality assurance'.
	* Makefile.in: Added 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: Renamed to lzip.texi.
	* License changed 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: Added 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: Added 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.
	* Changed quote characters in messages as advised by GNU Standards.
	* configure: 'datadir' renamed to 'datarootdir'.
	* 'testsuite/unzcrash.cc' has been moved to package 'lziprecover'.

2011-04-30  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 1.12 released.
	* main.cc: Added 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. This
	  reduces 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.
	* testsuite/unzcrash.cc: Use Arg_parser.
	* testsuite/unzcrash.cc: Added new option '-b, --bits'.
	* testsuite/unzcrash.cc: Added new option '-p, --position'.
	* testsuite/unzcrash.cc: Added new option '-s, --size'.

2010-09-16  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 1.11 released.
	* Added 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).
	* Compression ratio of option '-9' has been slightly increased.
	* lziprecover.cc: Added new option '-m, --merge' which tries to
	  produce a correct file merging the good parts of two or more
	  damaged copies.
	* lziprecover.cc: Added 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: Added new option '-f, --force'.
	* lziprecover.cc: Added new option '-o, --output'.
	* lziprecover.cc: Added 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: Fixed 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: Added new examples.
	* testsuite: 'test1' renamed to 'test.txt'. Added 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: Fixed warnings produced by over-optimization (-O3).
	* Makefile.in: Added 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: Added '--name' option to help2man invocation.
	* testsuite/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.
	* Fixed 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): Fixed 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%.
	* Added decompression support for Sync Flush marker.
	* Added support for .tbz extension to lzdiff and lzgrep.
	* Added 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: Added extra flush calls to improve partial
	  decompression of corrupt files.
	* '--test' no more needs '/dev/null'.
	* Removed some 'bashisms' from lzdiff and lzgrep.
	* Dictionary size for options '-1' to '-4' has been changed.
	* main.cc (signal_handler): Declared as 'extern "C"'.
	* Makefile.in: Extra files are now installed by default.
	* testsuite/check.sh: Test lziprecover.
	* Added 'export LC_ALL=C' to all scripts.

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

	* Version 1.5 released.
	* lzip.h: Coded dictionary size implemented in File_header.
	* Fixed some includes that prevented compilation with GCC 4.4.
	* 'member_size' and 'volume_size' are now accurate limits.
	* Compression speed has been improved.
	* Implemented bt4 type matchfinder.
	* lzip.texinfo: Added chapter 'Algorithm'.
	* Lzdiff and lzgrep now accept '-h' for '--help' and
	  '-V' for '--version'.
	* Makefile.in: Man page is now installed by default.
	* testsuite/check.sh: Verify that files are open in binary mode.

2009-01-24  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 1.4 released.
	* Implemented compression of version 1 files.
	* Added new option '-b, --member-size'.
	* Added new option '-S, --volume-size'.
	* Added new option '-o, --output'.
	* main.cc: Read from non regular files if '--stdout' is specified.
	* Added 'lziprecover', a member recoverer program.
	* testsuite/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.
	* Implemented decompression of version 1 files.
	* testsuite/check.sh: Replaced '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.
	* Added 'lzdiff', a diff/cmp wrapper for gzip, bzip2, lzip and
	  non-compressed files.
	* Added '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.
	* Changed short name of option '--dictionary-size' to '-s'.
	* Changed short name of option '--match-length' to '-m'.
	* Changed 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'.
	* Regained the compression ratio of 0.2 with 5% faster speed.
	* Fixed 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 '-t' option 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-2016 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.