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