12021-01-02 Antonio Diaz Diaz <antonio@gnu.org> 2 3 * Version 1.22 released. 4 * New options '-e, --reproduce', '--lzip-level', '--lzip-name', 5 '--reference-file', and '-E, --debug-reproduce'. 6 * Remove '--dump-tdata', '--remove-tdata', and '--strip-tdata'. 7 * main.cc (main): Report an error if a file name is empty. 8 Make '-o' behave like '-c', but writing to file. 9 Make '-c' and '-o' check whether the output is a terminal only once. 10 Do not open output if input is a terminal. 11 * main.cc (decompress): With '-i', ignore data errors, keep files. 12 * range_dec.cc: '-i -D' now decompresses a truncated last member. 13 * '-i -D' now returns 0 if only ignored errors are found. 14 * '-i' now considers any block > 36 with header a member, not a gap. 15 * Replace 'decompressed', 'compressed' with 'out', 'in' in output. 16 * Fix several compiler warnings. (Reported by Nissanka Gooneratne). 17 * lzip_index.cc: Improve messages for corruption in last header. 18 * New debug options '-M, --md5sum' and '-U, --unzcrash'. 19 * main.cc: Set a valid invocation_name even if argc == 0. 20 * Document extraction from tar.lz in manual, '--help', and man page. 21 * New files lunzcrash.cc, md5.h, md5.cc, nrep_stats.cc, reproduce.cc. 22 * lziprecover.texi: New chapter 'Reproducing one sector'. 23 New sections 'Merging with a backup' and 'Reproducing a mailbox'. 24 Document the debug options for experts. 25 * check.sh: Lzip 1.16 or newer is required to run the tests. 26 * testsuite: Add 9 new test files. 27 282019-01-04 Antonio Diaz Diaz <antonio@gnu.org> 29 30 * Version 1.21 released. 31 * Rename File_* to Lzip_*. 32 * New options '--dump', '--remove', and '--strip'. They 33 replace '--dump-tdata', '--remove-tdata', and '--strip-tdata', 34 which are now aliases and will be removed in version 1.22. 35 * lzip.h (Lzip_trailer): New function 'verify_consistency'. 36 * lzip_index.cc: Lzip_index now detects gaps between members, 37 some kinds of corrupt trailers and 38 some fake trailers embedded in trailing data. 39 * split.cc: Use Lzip_index to split members, gaps and trailing data. 40 * split.cc: Verify last member before writing anything. 41 * list.cc (list_files): With '-i', ignore format errors, show gaps. 42 * range_dec.cc: With '-i', ignore a truncated last member. 43 * main.cc (main): Check return value of close( infd ). 44 * Improve and add new diagnostic messages. 45 * Print '\n' instead of '\r' if !isatty( 1 ) in merge, repair. 46 * main.cc: Compile on DOS with DJGPP. 47 * lziprecover.texi: New chapter 'Tarlz'. 48 * configure: Accept appending to CXXFLAGS, 'CXXFLAGS+=OPTIONS'. 49 * INSTALL: Document use of CXXFLAGS+='-D __USE_MINGW_ANSI_STDIO'. 50 * New test files fox.lz, fox6_sc[1-6].lz. 51 522018-02-12 Antonio Diaz Diaz <antonio@gnu.org> 53 54 * Version 1.20 released. 55 * split.cc: Fix splitting of files > 64 KiB broken since 1.16. 56 * New options '--dump-tdata', '--remove-tdata', '--strip-tdata', and 57 '--loose-trailing'. 58 * Improve corrupt header detection to HD=3. 59 * main.cc: Show corrupt or truncated header in multimember file. 60 * Replace 'bits/byte' with inverse compression ratio in output. 61 * Show progress of decompression at verbosity level 2 (-vv). 62 * Show progress of decompression only if stderr is a terminal. 63 * main.cc: Show final diagnostic when testing multiple files. 64 * decoder.cc (verify_trailer): Show stored sizes also in hex. 65 Show dictionary size at verbosity level 4 (-vvvv). 66 672017-04-10 Antonio Diaz Diaz <antonio@gnu.org> 68 69 * Version 1.19 released. 70 * merge.cc: Fix members with thousands of scattered errors. 71 * Option '-a' now works with '-l' and '-D'. 72 * The output of option '-l, --list' has been simplified. 73 * main.cc: Continue testing if any input file is a terminal. 74 * main.cc: Show trailing data in both hexadecimal and ASCII. 75 * lzip_index.cc: Improve detection of bad dict and trailing data. 76 * lzip_index.cc: Skip trailing data more efficiently. 77 * lzip.h: Unify messages for bad magic, trailing data, etc. 78 * New struct Bad_byte allows delta and flip modes for bad_value. 79 * unzcrash.cc: New option '-e, --set-byte'. 80 812016-05-12 Antonio Diaz Diaz <antonio@gnu.org> 82 83 * Version 1.18 released. 84 * New option '-a, --trailing-error'. 85 * merge.cc (open_input_files): Use CRC to test identical files. 86 * repair.cc (repair_file): Detect gross damage before repairing. 87 * repair.cc: Repair a damaged dictionary size in the header. 88 * repair.cc: Try bytes at offsets 7 to 11 first. 89 * Decompression time has been reduced by 2%. 90 * main.cc (decompress): Print up to 6 bytes of trailing data 91 when '-tvvvv' is specified. 92 * decoder.cc (verify_trailer): Remove test of final code. 93 * main.cc (main): Delete '--output' file if infd is a terminal. 94 * main.cc (main): Don't use stdin more than once. 95 * Use 'close_and_set_permissions' and 'set_signals' in all modes. 96 * range_dec.cc (list_file): Show dictionary size and size of 97 trailing data (if any) with '-lv'. 98 * New options '-A, --alone-to-lz', '-W, --debug-decompress', and 99 '-X, --show-packets'. 100 * Change short name of option '--debug-delay' to '-Y'. 101 * Change short name of option '--debug-repair' to '-Z'. 102 * unzcrash.cc: New options '-B, --block', '-d, --delta', 103 '-t, --truncate', and '-z, --zcmp'. 104 * unzcrash.cc: Read files as large as RAM allows. 105 * unzcrash.cc: Compare output using zcmp if decompressor returns 0. 106 * unzcrash.cc: Accept negative position and size. 107 * lziprecover.texi: New chapter 'Trailing data'. 108 * configure: Avoid warning on some shells when testing for g++. 109 * Makefile.in: Detect the existence of install-info. 110 * check.sh: Don't check error messages. 111 * check.sh: A POSIX shell is required to run the tests. 112 1132015-05-28 Antonio Diaz Diaz <antonio@gnu.org> 114 115 * Version 1.17 released. 116 * New block selection algorithm makes merge up to 100 times faster. 117 * repair.cc: Repair time has been reduced by 15%. 118 * New options '-y, --debug-delay' and '-z, --debug-repair'. 119 * Makefile.in: New targets 'install*-compress'. 120 * testsuite/unzcrash.cc: Move to top directory. 121 * lziprecover.texi: New chapter 'File names'. 122 1232014-08-29 Antonio Diaz Diaz <antonio@gnu.org> 124 125 * Version 1.16 released. 126 * New class LZ_mtester makes repair up to 10 times faster. 127 * main.cc (close_and_set_permissions): Behave like 'cp -p'. 128 * lziprecover.texinfo: Rename to lziprecover.texi. 129 * Change license to GPL version 2 or later. 130 1312013-09-14 Antonio Diaz Diaz <antonio@gnu.org> 132 133 * Version 1.15 released. 134 * repair.cc: Repair multimember files with up to one byte error 135 per member. 136 * merge.cc: Merge multimember files. 137 * main.cc (show_header): Don't show header version. 138 * lziprecover.texinfo: New chapters 'Repairing files', 139 'Merging files', and 'Unzcrash'. 140 1412013-05-31 Antonio Diaz Diaz <antonio@gnu.org> 142 143 * Version 1.14 released. 144 * New option '-i, --ignore-errors'. 145 * Option '-l, --list' now accepts more than one file. 146 * Decompression time has been reduced by 12%. 147 * split.cc: Use as few digits as possible in file names. 148 * split.cc: In verbose mode show names of files being created. 149 * main.cc (show_header): Show header version if verbosity >= 4. 150 * configure: Options now accept a separate argument. 151 * Makefile.in: New targets 'install-as-lzip' and 'install-bin'. 152 * main.cc: Use 'setmode' instead of '_setmode' on Windows and OS/2. 153 1542012-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es> 155 156 * Version 1.13 released. 157 * Lziprecover is now distributed in its own package. Until 158 version 1.12 it was included in the lzip package. Previous 159 entries in this file are taken from there. 160 * lziprecover.cc: Rename to main.cc. 161 * New files merge.cc, repair.cc, split.cc, and range_dec.cc. 162 * main.cc: Add decompressor options (-c, -d, -k, -t) so that 163 an external decompressor is not needed for recovery nor for 164 "make check". 165 * New option '-D, --range-decompress', which extracts a range of 166 bytes decompressing only the members containing the desired data. 167 * New option '-l, --list', which prints correct total file sizes 168 even for multimember files. 169 * merge.cc, repair.cc: Remove output file if recovery fails. 170 * Change quote characters in messages as advised by GNU Standards. 171 * split.cc: Use Boyer-Moore algorithm to search for headers. 172 * configure: Rename 'datadir' to 'datarootdir'. 173 1742011-04-30 Antonio Diaz Diaz <ant_diaz@teleline.es> 175 176 * Version 1.12 released. 177 * lziprecover.cc: If '-v' is not specified show errors only. 178 * unzcrash.cc: Use Arg_parser. 179 * unzcrash.cc: New options '-b, --bits', '-p, --position', and 180 '-s, --size'. 181 1822010-09-16 Antonio Diaz Diaz <ant_diaz@teleline.es> 183 184 * Version 1.11 released. 185 * lziprecover.cc: New option '-m, --merge', which tries to produce a 186 correct file by merging the good parts of two or more damaged copies. 187 * lziprecover.cc: New option '-R, --repair' for repairing a 188 1-byte error in single-member files. 189 * decoder.cc (decode_member): Detect file errors earlier to improve 190 efficiency of lziprecover's new repair capability. 191 This change also prevents (harmless) access to uninitialized 192 memory when decompressing a corrupt file. 193 * lziprecover.cc: New options '-f, --force' and '-o, --output'. 194 * lziprecover.cc: New option '-s, --split' to select the until 195 now only operation of splitting multimember files. 196 * lziprecover.cc: If no operation is specified, warn the user and do 197 nothing. 198 1992009-06-22 Antonio Diaz Diaz <ant_diaz@teleline.es> 200 201 * Version 1.6 released. 202 * lziprecover.1: New man page. 203 * check.sh: Test lziprecover. 204 2052009-01-24 Antonio Diaz Diaz <ant_diaz@teleline.es> 206 207 * Version 1.4 released. 208 * Add 'lziprecover', a member recoverer program. 209 * unzcrash.cc: Test all 1-byte errors. 210 211 212Copyright (C) 2009-2021 Antonio Diaz Diaz. 213 214This file is a collection of facts, and thus it is not copyrightable, 215but just in case, you have unlimited permission to copy, distribute, and 216modify it. 217