The following list, organized by fdupes version, documents changes
to fdupes. Every item on the list includes, inside square brackets,
a list of indentifiers referring to the people who contributed
that particular item. When more than one person is listed the person
who contributed the patch or idea appears first, followed by
those who've otherwise worked on that item. For a list of 
contributors names and identifiers please see the CONTRIBUTORS file.

Changes from 2.1.2 to 2.2.0:

 - Add --deferconfirmation option.
 - Check that files marked as duplicates haven't changed during program
   execution before deleting them.
 - Update documentation to indicate units for SIZE in command-line options.
 - Move some configuration settings to configure.ac file.

Changes from 2.1.1 to 2.1.2:

 - Do not enter ncurses mode when --immediate option given.
 - Fix logging/memory corruption bug when using --log with --immediate.

Changes from 2.1.0 to 2.1.1:

 - Break mtime ties using ctime when sorting by time.
 - Reduce number of calls to stat(), for speed.
 - Clear last command status when new command is entered.

Changes from 2.0.0 to 2.1.0:

 - Rename cs command ("clear all selections") from cs to csel.
 - Rename igs command ("invert selections") from igs to isel.
 - Add "prune" command as synonym for DELETE key.
 - Clear selections after deleting files via prune/DELETE.
 - Fix dependency issues when fdupes is configured to not use ncurses.

Changes from 1.6.1 to 2.0.0:

- Add ncurses mode for interactive file deletion (plain mode still available
  via --plain or ./configure).
- Add --minsize option.
- Add --maxsize option.
- Add --time option.
- Add --order=ctime option.
- Add --log option.
- Use configure script for installation (Autotools/Automake).

Changes from 1.6.0 to 1.6.1:

- Fix 'invalid option' error for -I. [AL]

Changes from 1.51 to 1.6.0:

- Add --nohidden option. [MC]
- Add --permissions option. [MV]
- Add --order option. [SB]
- Add --reverse option. [AL]
- Add --immediate option. [AL]
- Speed up file comparison. [SB, ST]
- Fix bug where fdupes fails to consistently ignore hardlinks, depending on
  file processing order, when F_CONSIDERHARDLINKS flag is not set. [AL]
- Fix bug in is_hardlink(): Proper traversal of duplicates is done via 
  dupe->duplicates, not via dupe->next. [AL]
- Revise md5.c to compile under OSX. [TH]
- Remove EXTERNAL_MD5 configuration option. [ID]
- Various other changes (see git log).

Changes from 1.50 to 1.51

- Added support for 64-bit file offsets on 32-bit systems.
- Using tty for interactive input instead of regular stdin. This is to
  allow  feeding filenames via stdin in future versions of fdupes without
  breaking interactive deletion feature.
- Fixed some typos in --help.
- Turned C++ style comments into C style comments.

Changes from 1.40 to 1.50-PR2

- Fixed memory leak. [JB]
- Added "--summarize" option. [AL]
- Added "--recurse:" selective recursion option. [AL]
- Added "--noprompt" option for totally automated deletion of
  duplicate files.
- Now sorts duplicates (old to new) for consistent order when
  listing or deleteing duplicate files.
- Now tests for early matching of files, which should help speed up
  the matching process when large files are involved.
- Added warning whenever a file cannot be deleted. [CHL, AL]
- Fixed bug where some files would not be closed after failure. [AL]
- Fixed bug where confirmmatch() function wouldn't always deal
  properly with zero-length files. [AL]
- Fixed bug where progress indicator would not be cleared
  when no files were found. [AL]
- Removed experimental red-black tree code (it was slower on
  my system than the default code). [AL]
- Modified md5/md5.c to avoid compiler warning. [CHL]
- Changes to fdupes.c for compilation under platforms where
  getopt_long is unavailable. [LR, AL]
- Changes to help text for clarity. [AL]
- Various changes and improvements to Makefile. [PB, AL]

Changes from 1.31 to 1.40

- Added option to omit the first file in each group 
  of matches. [LM, AL]
- Added escaping of filenames containing spaces when
  sameline option is specified. [AL]
- Changed version indicator format from "fdupes version X.Y"
  to the simpler "fdupes X.Y". [AL]
- Changed ordering of options appearing in the help
  text (--help), manpage, and README file. [AL]

Changes from 1.30 to 1.31

- Added interactive option to preserve all files during
  delete procedure (something similar was already in 
  place, but now it's official). [AL]
- Updated delete procedure prompt format. [AL]
- Cosmetic code changes. [AL]

Changes from 1.20 to 1.30

- Added size option to display size of duplicates. [LB, AL]
- Added missing typecast for proper compilation under g++. [LB]
- Better handling of errors occurring during retrieval
  of a file's signature. [KK, AL]
- No longer displays an error message when specified
  directories contain no files. [AL]
- Added red-black tree structure (experimental compile-time
  option, disabled by default). [AL]

Changes from 1.12 to 1.20

- Fixed bug where program would crash when files being
  scanned were named pipes or sockets. [FD]
- Fix against security risk resulting from the use of a
  temporary file to store md5sum output. [FD, AL]
- Using an external md5sum program is now optional. Started 
  using L. Peter Deutsh's MD5 library instead. [FD, AL]
- Added hardlinks option to distinguish between hard links
  and actual duplicate files. [FD, AL]
- Added noempty option to exclude zero-length files
  from consideration [AL]

Changes from 1.11 to 1.12

- Improved handling of extremely long input on preserve 
  prompt (delete option). [SSD, AL]

Changes from 1.1 to 1.11

- Started checking file sizes before signatures
  for better performance.  [AB, AL]
- Added fdupes manpage. [AB, AL]

Changes from 1.0 to 1.1

- Added delete option for semi-automatic deletion
  of duplicate files. [AL]

