1 The following list, organized by fdupes version, documents changes
2 to fdupes. Every item on the list includes, inside square brackets,
3 a list of indentifiers referring to the people who contributed
4 that particular item. When more than one person is listed the person
5 who contributed the patch or idea appears first, followed by
6 those who've otherwise worked on that item. For a list of
7 contributors names and identifiers please see the CONTRIBUTORS file.
9 Changes from 2.1.0 to 2.1.1:
11 - Break mtime ties using ctime when sorting by time.
12 - Reduce number of calls to stat(), for speed.
13 - Clear last command status when new command is entered.
15 Changes from 2.0.0 to 2.1.0:
17 - Rename cs command ("clear all selections") from cs to csel.
18 - Rename igs command ("invert selections") from igs to isel.
19 - Add "prune" command as synonym for DELETE key.
20 - Clear selections after deleting files via prune/DELETE.
21 - Fix dependency issues when fdupes is configured to not use ncurses.
23 Changes from 1.6.1 to 2.0.0:
25 - Add ncurses mode for interactive file deletion (plain mode still available
26 via --plain or ./configure).
27 - Add --minsize option.
28 - Add --maxsize option.
30 - Add --order=ctime option.
32 - Use configure script for installation (Autotools/Automake).
34 Changes from 1.6.0 to 1.6.1:
36 - Fix 'invalid option' error for -I. [AL]
38 Changes from 1.51 to 1.6.0:
40 - Add --nohidden option. [MC]
41 - Add --permissions option. [MV]
42 - Add --order option. [SB]
43 - Add --reverse option. [AL]
44 - Add --immediate option. [AL]
45 - Speed up file comparison. [SB, ST]
46 - Fix bug where fdupes fails to consistently ignore hardlinks, depending on
47 file processing order, when F_CONSIDERHARDLINKS flag is not set. [AL]
48 - Fix bug in is_hardlink(): Proper traversal of duplicates is done via
49 dupe->duplicates, not via dupe->next. [AL]
50 - Revise md5.c to compile under OSX. [TH]
51 - Remove EXTERNAL_MD5 configuration option. [ID]
52 - Various other changes (see git log).
54 Changes from 1.50 to 1.51
56 - Added support for 64-bit file offsets on 32-bit systems.
57 - Using tty for interactive input instead of regular stdin. This is to
58 allow feeding filenames via stdin in future versions of fdupes without
59 breaking interactive deletion feature.
60 - Fixed some typos in --help.
61 - Turned C++ style comments into C style comments.
63 Changes from 1.40 to 1.50-PR2
65 - Fixed memory leak. [JB]
66 - Added "--summarize" option. [AL]
67 - Added "--recurse:" selective recursion option. [AL]
68 - Added "--noprompt" option for totally automated deletion of
70 - Now sorts duplicates (old to new) for consistent order when
71 listing or deleteing duplicate files.
72 - Now tests for early matching of files, which should help speed up
73 the matching process when large files are involved.
74 - Added warning whenever a file cannot be deleted. [CHL, AL]
75 - Fixed bug where some files would not be closed after failure. [AL]
76 - Fixed bug where confirmmatch() function wouldn't always deal
77 properly with zero-length files. [AL]
78 - Fixed bug where progress indicator would not be cleared
79 when no files were found. [AL]
80 - Removed experimental red-black tree code (it was slower on
81 my system than the default code). [AL]
82 - Modified md5/md5.c to avoid compiler warning. [CHL]
83 - Changes to fdupes.c for compilation under platforms where
84 getopt_long is unavailable. [LR, AL]
85 - Changes to help text for clarity. [AL]
86 - Various changes and improvements to Makefile. [PB, AL]
88 Changes from 1.31 to 1.40
90 - Added option to omit the first file in each group
92 - Added escaping of filenames containing spaces when
93 sameline option is specified. [AL]
94 - Changed version indicator format from "fdupes version X.Y"
95 to the simpler "fdupes X.Y". [AL]
96 - Changed ordering of options appearing in the help
97 text (--help), manpage, and README file. [AL]
99 Changes from 1.30 to 1.31
101 - Added interactive option to preserve all files during
102 delete procedure (something similar was already in
103 place, but now it's official). [AL]
104 - Updated delete procedure prompt format. [AL]
105 - Cosmetic code changes. [AL]
107 Changes from 1.20 to 1.30
109 - Added size option to display size of duplicates. [LB, AL]
110 - Added missing typecast for proper compilation under g++. [LB]
111 - Better handling of errors occurring during retrieval
112 of a file's signature. [KK, AL]
113 - No longer displays an error message when specified
114 directories contain no files. [AL]
115 - Added red-black tree structure (experimental compile-time
116 option, disabled by default). [AL]
118 Changes from 1.12 to 1.20
120 - Fixed bug where program would crash when files being
121 scanned were named pipes or sockets. [FD]
122 - Fix against security risk resulting from the use of a
123 temporary file to store md5sum output. [FD, AL]
124 - Using an external md5sum program is now optional. Started
125 using L. Peter Deutsh's MD5 library instead. [FD, AL]
126 - Added hardlinks option to distinguish between hard links
127 and actual duplicate files. [FD, AL]
128 - Added noempty option to exclude zero-length files
129 from consideration [AL]
131 Changes from 1.11 to 1.12
133 - Improved handling of extremely long input on preserve
134 prompt (delete option). [SSD, AL]
136 Changes from 1.1 to 1.11
138 - Started checking file sizes before signatures
139 for better performance. [AB, AL]
140 - Added fdupes manpage. [AB, AL]
142 Changes from 1.0 to 1.1
144 - Added delete option for semi-automatic deletion
145 of duplicate files. [AL]