-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathChangeLog
452 lines (378 loc) · 18.7 KB
/
ChangeLog
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
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
2019-12-17 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.25-rc1 released.
* In rescue mode, join non-finished subsectors read from mapfile.
(Reported by David Burton).
* mapbook.cc (update_mapfile): Exclude writing time from intervals.
(Reported by David Burton).
* Print large numbers in groups of 3 digits separated by underscores.
* main.cc: Set a valid invocation_name even if argc == 0.
2019-04-12 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.25-pre1 released.
* rescuebook.cc (extend_outfile_size): Use ftruncate if it works.
* block.h: Add default constructors to classes Block and Sblock.
(Reported by Rosen Penev).
2019-02-24 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.24 released.
* Added new option '--command-mode'.
* Implemented mapfile backup.
* ddrescue.texi: Documented final contents of bad areas in outfile.
* configure: Accept appending to CXXFLAGS, 'CXXFLAGS+=OPTIONS'.
2018-02-13 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.23 released.
* rescuebook.cc (trim_errors): Fix wrong change to non-scraped.
* Added new option '--same-file'.
* Added new option '--shift' to ddrescuelog.
* fillbook.cc (fill_block): Write location data as one line.
* fillbook.cc (read_buffer): Do not require a seekable infile.
* ddrescue.texi: Added chapter 'Output'.
* check.sh: Added 'combined rescue' test.
* io.cc: Added missing '#include <cstdio>'.
2017-02-03 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.22 released.
* Option '-X, --exit-on-error' replaced by '-X, --max-read-errors'.
* Added new option '--max-slow-reads'.
* Added new option '--delay-slow'.
* Added new option '--reset-slow'.
* Added new option '--log-events'.
* Added new option '--mapfile-interval'.
* Added new option '--pause-on-error'.
* Option '--pause' has been renamed to '--pause-on-pass'.
* Option '--max-errors' has been renamed to '--max-bad-areas'.
* Renamed 'errsize' to 'bad_size' and 'errors' to 'bad_areas'
* Rescuebook: Show read_errors, error_rate and slow_reads.
* Added 'current_pass' field to mapfile.
* Added two new passes (3 and 4) to the copying phase.
* main.cc (parse_cpass): Accept ranges of passes.
* Option '-K, --skip-size' now accepts sizes up to 1 EiB.
* Initial skip size now defaults to (infile_size / 100_000).
* rescuebook.cc (copy_non_tried): Don't reduce min_read_rate,
enable it only for passes 1 and 2.
* rescuebook.cc (trim_errors): Don't trim bad edges.
* main_common.cc (getnum): Accept 's' after other multiplier.
* '--ask', '-vv' now show size along with model and serial number.
* non_posix.cc: Add 'device_id' for Cygwin.
(Patch written by Christian Franke <franke@computer.org>).
* rescuebook.cc (do_rescue): Show full sizes in domain warning.
* Added new option '-A, --annotate-mapfile' to ddrescuelog.
2016-03-17 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.21 released.
* mapbook.cc (Mapbook): Fix iobuf alignment.
(Reported by Heikki Tauriainen).
* Removed short option names '-1' and '-2'.
* Allow only regular files for '--log-rates' and '--log-reads'.
* Option '-D, --odirect' now works also in fill mode.
* rescuebook.cc (copy_block): Return 1 on unaligned read error.
Set e_code on any error if verify_on_error.
* Option '-X, --exit-on-error' has been extended to all phases.
* Assigned short name '-Z' to option '--max-read-rate'.
* mapbook.cc (update_mapfile): 'fsync' the mapfile every 5 minutes.
* Rescuebook: Show full range of sizes from non-tried to finished.
* rescuebook.cc (show_status): Show percentage rescued.
* configure: Avoid warning on some shells when testing for g++.
* Makefile.in: Detect the existence of install-info.
2015-09-10 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.20 released.
* 'logfile' has been renamed to 'mapfile' everywhere.
* Changed short name of option '--synchronous' to '-y'.
* Changed long name of option '-d' to '--idirect'.
* Added new option '-D, --odirect'.
* Added new option '-J, --verify-on-error'.
* Added new option '--max-read-rate'.
* rescuebook.cc (copy_block): Copy arbitrary blocks with '--idirect'.
* Include only bad-sector blocks in 'errsize'.
* rescuebook.cc (show_status): Show the estimated remaining time.
* io.cc (format_time): Show time in days, hours, minutes and seconds.
* Added per sector location data to fill mode.
* mapbook.cc: Added emergency save of the mapfile.
* Show device name with '--ask' or '-vv' on Haiku.
* mapfile.cc (read_mapfile): Read read-only mapfiles from stdin.
* ddrescuelog.cc: Allow multiple mapfiles for '-t, --show-status'.
* ddrescuelog.cc (create_mapfile): '-' writes mapfile to stdout.
* ddrescue.texi: Added new chapter 'Optical media'.
* ddrescue.texi: Documented maximum size of the rescue domain.
* configure: Option '--enable-linux' renamed to '--enable-non-posix'.
* Makefile.in: Added new targets 'install*-compress'.
* File 'ddrescue.h' renamed to 'mapbook.h'.
* File 'logbook.cc' renamed to 'mapbook.cc'.
* File 'logfile.cc' renamed to 'mapfile.cc'.
* Files linux.{h,cc} renamed to non_posix.{h,cc}.
2014-10-03 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.19 released.
* Fixed a race condition at start of run with '--timeout=0'.
* Added new option '-P, --data-preview'.
* Added new option '-u, --unidirectional'.
* Added new option '-X, --exit-on-error'.
* Added new option '--ask' to ask for user confirmation.
* Added new option '--cpass' to select passes during copying phase.
* Added new option '--pause' to insert a pause between passes.
* Removed option '-l, --logfile-size'.
* Skip on the first error during the copying phase.
* rescuebook.cc: Trimming done in one pass, may be run in reverse.
* The splitting phase has been replaced by a scraping phase.
* Changed long name of option '-n' to '--no-scrape'.
* rescuebook.cc: Alternate direction of passes during retrying phase.
* Show ATA model and serial number with '--ask' or '-vv' on Linux.
* configure: Added new option '--enable-linux'.
* New files linux.h linux.cc.
* License changed to GPL version 2 or later.
2014-06-10 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.18.1 released.
* ddrescuelog.cc (do_logic_ops): Fixed 'or' and 'xor'.
* Added new option '-H, --test-mode' to simulate read errors.
* Added new option '-L, --loose-domain' to ddrescue and ddrescuelog.
* Added new option '-N, --no-trim' to disable trimming of
damaged areas.
* Added new option '-O, --reopen-on-error'.
* Added new options '-1, --log-rates', '-2, --log-reads'.
* Extended '-K, --skip-size' with maximum and disable values.
* Changed long name of option '-r' to '--retry-passes'.
* Changed short name of option '--generate-mode' to '-G'.
* Default value of option '-l, --logfile-size' increased to 10000.
* If interrupted, ddrescue terminates by raising the signal received.
* rescuebook.cc (copy_non_tried): Don't mark skipped blocks as
non-trimmed. Try them in additional passes (before trimming).
* rescuebook.cc: Limit the copying phase to 3 passes.
* rescuebook.cc: Alternate direction of passes during copying phase.
* rescuebook.cc: Smallest blocks are trimmed first.
* rescuebook.cc (split_errors): Read largest first if logfile full.
* Improved speed when using option '-m, --domain-logfile'.
* io.cc (show_status): Show the current total run time.
* rescuebook.cc: Show pass number and direction during copying.
* rescuebook.cc (show_status): Show block pos instead of current_pos.
* main.cc: Show "an unknown number of bytes" for unknown insize.
* Added option '-B, --binary-prefixes' to ddrescuelog.
* Added new option '-C, --complete-logfile' to ddrescuelog.
* Added new option '-P, --compare-as-domain' to ddrescuelog.
* Improved speed of logic operations in ddrescuelog.
* rescuebook.cc (do_rescue): Show warning when domain is smaller
than logfile.
* ddrescuelog.cc (do_show_status): Show logfile and domain extents
when domain is smaller than logfile.
* block.h: Class Block now forces the invariant by itself.
* Code reorganization. New class 'Logfile'.
* Added status message to rescue logfile.
* Many improvements to documentation.
* ddrescue.texinfo: Renamed to ddrescue.texi.
2013-07-09 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.17 released.
* Added new option '-l, --logfile-size'.
* Added new option '-w, --ignore-write-errors'.
* Option '--fill' has been renamed to '--fill-mode'.
* Option '--generate-logfile' has been renamed to '--generate-mode'.
* Added option '--sector-size' as a synonym of '--block-size'.
* Added option '--retries' as a synonym of '--max-retries'.
* Added option '--size' as a synonym of '--max-size'.
* rescuebook.cc: Trimming is now done from both edges of each
non-trimmed block. Largest blocks are trimmed first.
* rescuebook.cc: Largest blocks are now split first until
logfile reaches '--logfile-size' entries.
* logbook.cc (extend_sblock_vector, truncate_vector): Terminate
if truncation would discard finished blocks.
* rescuebook.cc: Mark failed blocks with 1 sector as bad-sector.
* logbook.cc (extend_sblock_vector): Remove last block of
logfile if it starts at insize and is not marked as finished.
* io.cc (show_status, update_rates): Detect a jump back in time
and adjust status.
* ddrescue.h (slow_read): Return false for the first 10 seconds.
* io.cc (show_status) Leave cursor after message so that ^C does
not overwrite it.
* main.cc: Don't require '--force' for generate mode.
* ddrescue.h (Logbook::logfile_exists): Don't return false if
logfile exists but is empty.
* ddrescue.texinfo: Added new chapter 'Using ddrescue safely'.
* Documented that 'direct disc access' only reads whole sectors.
* configure: Options now accept a separate argument.
* Makefile.in: Added new target 'install-bin'.
2012-06-11 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.16 released.
* Added new option '-K, --skip-size'.
* Added new option '-T, --timeout'.
* Changed short name of option '--try-again' to '-A'.
* Maximum skip size is now limited to 1% of infile size or 1 GiB
(whichever is smaller), rounded to the next multiple of sector
size.
* Set current_pos to end of block when reading backwards.
* The '-E, --max-error-rate' option now checks the rate of
actually failed reads, not the growth of error size.
* The option '-v, --verbose' now increases verbosity if repeated.
* Changed quote characters in messages as advised by GNU Standards.
* configure: 'datadir' renamed to 'datarootdir'.
* New files rational.h, rational.cc.
2012-01-01 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.15 released.
* Added new option '-a, --min-read-rate'.
* Added new option '-I, --verify-input-size'.
* Added new option '-x, --extend-outfile'.
* main.cc: Verify that infile, outfile and logfile are all
different.
* Non-tried blocks are now read aligned to cluster-size sectors.
* rescuebook.cc: Improved skip algorithm for the split pass.
* main.cc: Removed spurious warning about '-D' ignored in fill mode.
* ddrescue.texinfo: Improved description of algorithm.
* logbook.cc (change_chunk_status): Return an adjust value (-1, 0, 1)
to keep "errors" updated without calling count_errors every time.
* ddrescue.cc: Renamed to io.cc.
* Added 'ddrescuelog', a program for logfile manipulation.
2011-01-10 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.14 released.
* Added new option '-R, --reverse'.
* Added new option '-E, --max-error-rate'.
* Extended syntax '--max-errors=+N' to specify new errors.
* Changed short name of option '--retrim' to '-M'.
* Removed spurious warning about 'preallocation not available'.
* Code reorganization. New class 'Genbook'.
2010-08-27 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.13 released.
* Non-regular output files are no longer overwritten by default.
* Added new option '-f, --force'.
* Added new option '-p, --preallocate'.
* main.cc (write_logfile_header): Write command line to logfile.
* ddrescue.texinfo: Added info about logfile and recoverable formats.
* ddrescue.texinfo: Added a couple more warnings to the tutorial.
* testsuite: 'test1' renamed to 'test.txt'
* Revert to use 'long' instead of 'time_t' for time variables.
Ddrescue only needs counting seconds and 'time_t' causes
warnings on some systems.
2010-04-06 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.12 released.
* main.cc: Outfile is now created with mode 0666 if umask allows it.
* main.cc: New constant 'o_binary'.
* Makefile.in: Added quotes to directory names.
* Makefile.in: Added '--name' option to help2man invocation.
* check.sh: Use 'test1' instead of 'COPYING' for testing.
* Use 'time_t' instead of 'long' for time variables.
2009-07-10 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.11 released.
* logbook.cc (update_logfile): Ask user in case of write error.
* rescuebook.cc (split_errors): Modified the split threshold.
* rescuebook.cc (copy_and_update): Verify after every read error
that the input file does still exist.
* ddrescue.cc (Rescuebook::show_status): Show the time elapsed
since last successful read.
* ddrescue.cc (set_signals): Ignore SIGUSR1 and SIGUSR2.
* ddrescue.texinfo: Improved description of '-d', '-D' and '-S'.
* ddrescue.texinfo: Improved description of algorithm.
* check.sh: Verify that files are opened in binary mode.
* Added logfile usage warning to 'ddrescue --help' output.
2009-02-19 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.10 released.
* Added new option '-T, --try-again'.
* rescuebook.cc: 'skip_size' has been made independent of 'softbs'.
* 'change_chunk_status' is now faster for large logfiles.
* Fixed overflow when reading from devices of undefined size.
* Block does no longer admit negative sizes.
* 'make install-info' should now work on Debian and OS X.
* New file testsuite/check.sh.
2008-11-17 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.9 released.
* Added new option '-m, --domain-logfile'.
* Verbosity control of messages has been simplified.
* Changed LONG_LONG_MAX to LLONG_MAX.
2008-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.8 released.
* Added new option '-g, --generate-logfile'.
* Added new option '-D, --synchronous'.
* Fill mode now works when outfile offset differs from 0.
* ddrescue.texinfo: Updated 'Fill Mode' chapter.
2008-01-04 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.7 released.
* Skips faster over damaged areas (small read, big jump).
* Logfile is kept minimized at all times.
* Rescuebook::errors now counts the error areas found.
* Target 'check' added to Makefile.
* rescuebook.cc (split_errors): Added new variable 'error_counter'.
* Added new option '-R, --retrim'.
2007-11-16 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.6 released.
* Code reorganization. New classes 'Fillbook' and 'Rescuebook'.
* logbook.cc (copy_non_tried): Added new variable 'skip_counter'.
* Added new pass that trims error areas backwards before splitting.
* Added support for sparse output files.
* Blocks longer than hardbs are now split at sector boundaries.
* Added new option '-F, --fill'.
* ddrescue.texinfo: Added new chapter 'Fill Mode'.
* Added status line to logfile.
* An interrupted retry pass is now resumed instead of reinitiated.
* Perfect resumability if interrupted during trimming or splitting.
* ddrescue.cc (set_signals): Handle also SIGHUP and SIGTERM.
* '--quiet' option also quiets error messages.
* Print a more informative error message when reading an old logfile.
* Added note to ddrescue.texinfo about old logfiles.
* Added some consistency checks.
2007-06-29 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.5 released.
* License updated to GPL version 3 or later.
2007-06-18 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.4 released.
* Added new option '-d, --direct'.
* Fixed a bug showing bad initial error size.
* Fixed error counting.
* Small changes to documentation.
2006-12-13 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.3 released.
* Some fixes made to 'configure' script.
* Added 'sddrescue' target to Makefile.in.
2006-04-03 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.2 released.
* Added new option '-C, --complete-only'.
* Added new argument parser that replaces 'getopt_long'.
* Logfile save interval is now dependent on logfile size.
* Small changes to documentation.
2005-10-10 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.1 released.
* 'iobuf' is aligned to the sector size for use with raw devices.
* Added a small tutorial to the info file.
* Added two missing #includes.
2005-06-07 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 1.0 released.
* A new logfile format makes multi-part rescue possible.
* Logfile is saved every 30 seconds.
* Logfile is now also saved in case of write error on outfile.
* Fixed a race condition that could result in data not written
to outfile but annotated in logfile if computer crashes at
the wrong moment.
2005-01-04 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.9 released.
* ddrescue is now part of the GNU project.
* Added configure script and info file.
* Two small bugs corrected.
* Added new option '-B, --binary-prefixes' to show binary
multipliers in numbers (SI prefixes are used by default).
* Numbers are accepted with decimal (SI) or binary multipliers.
* 'badblocks file' renamed to 'logfile'.
* Logfile is now also saved if max_errors are exceeded.
2004-12-14 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.8 released.
* Added new option '-n, --no-split' to disable splitting of
damaged areas.
2004-10-30 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.7 released.
* ddrescue now can be interrupted at any time, and resume
rescue at the same point later.
2004-09-28 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.6 released.
* Skips faster over damaged areas (tries 1 block first).
* Error messages have been improved.
2004-09-15 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.5 released.
* Badblocks file is now also saved if ddrescue is interrupted
while splitting damaged areas.
* Added man page.
2004-09-03 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.4 released.
* The project name has been changed to 'ddrescue' to meet
command name standards.
* Added long option names.
2004-08-18 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.3 released.
* Added badblocks file, making the rescue much more efficient.
2004-08-14 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.2 released.
* Fixed bug that sometimes ignored the last sectors of a damaged area.
* The algorithm is now faster in presence of errors.
2004-08-12 Antonio Diaz Diaz <ant_diaz@teleline.es>
* Version 0.1 released.
Copyright (C) 2004-2019 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.