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 isize 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: Do not require '--force' for generate mode. * ddrescue.h (Logbook::logfile_exists): Do not return false if logfile exists but is empty. * Added new chapter 'Using ddrescue safely' to the manual. * 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 more 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. * testsuite/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. * testsuite/check.sh: Verify that files are open 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 more 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. * Updated 'Fill Mode' chapter of the manual. 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 maintaned 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 backward before splitting. * Added support for sparse output files. * Blocks longer than hardbs are now split at sector boundaries. * Added new option '-F, --fill'. * Added new chapter 'Fill Mode' to the manual. * 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 headers. 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, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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.