Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time
2020-XX-XX Jyri J. Virkki <>
* Version 2.0 - A new major release.
* NOTE: A major release means incompatible interface changes,
see below for details on what has changed.
* Removed the --nodb option of scan.
The underlying SQLite database is fundamental to dupd operation.
Not generating it doesn't really fit with the dupd way.
* Removed the --cmp-three option of scan.
The three-way compare never showed performance benefits.
* Removed the --skip-three option of scan.
With three-way comparison removed, this has no use.
* Removed the --ssd and --hdd options of scan.
The SSD mode was removed in 1.7, so these are not used anymore.
* Removed the --uniques and --no-unique options.
The unique file table seemed like a good idea but was never
really useful.
* Removed the --intblocks option of scan.
The intermediate pass hasn't been used in a long while so
this option wasn't doing anything.
* Removed the --no-thread-hash option of scan.
The single-threaded hashing was removed earlier.
* Removed the --file-count and --avg-size options of scan.
These go back to early times when dupd didn't dynamically
resize the available buffers. Haven't been used in a long
time, now finally removed.
* Removed the --skip-two option of scan.
Direct pair comparison hasn't been a default in a long time,
removing option to skip it.
* Removed the --pathsep option of scan.
* Changed output of csv and json report format to include file size.
* Added new 'hash' command.
It hashes one file and displays the result.
* The scan operation now makes use of the hash cache if available.
* Support toggling between verbose debug output and default progress
output via SIGUSR1. Can be useful to diagnose long running scans.
* Added new 'cache' command to manipulate hash cache.
* Internal restructuring of file state transitions.
2021-08-22 Jyri J. Virkki <>
* Version 1.7.1
* (Backport from 2.0-dev) Fix in include file.
* (Backport from 2.0-dev) Use file with awk instead of -e option.
2018-07-18 Jyri J. Virkki <>
* Version 1.7
* Add --one-file-system option.
* Removed SSD scan implementation.
This is unfortunate as it is faster than the HDD scan in some
scenarios. However, it can also be much slower. More importantly,
keeping both was becoming too much of a maintenance burden.
* Deprecated several options. These are likely to be removed in 2.0:
* Test cleanup
Ignore tests which fail as root if run as root.
Clean tmp files from another test (in case it had failed).
* Updated included xxhash.
* Some stats cleanup, not enough.
* Revive 32 bit support (github #21).
* Statically regenerate embedded man page (github #18).
* Try for a more universal cleanup in test.49 (github #19).
* For release builds, set GITHASH to the release instead.
2018-03-21 Jyri J. Virkki <>
* Version 1.6
* Made --hdd mode the default.
* Added an --ssd option to select SSD mode.
* Added xxHash as an hash function and made it the default.
* --hardlink-is-unique no longer forces --hdd mode.
* Support for limiting read buffer allocation during scan.
* Allow setting verbosity level directly with -V.
* Deprecated the --uniques option, it hasn't been useful.
* Deprecated the --nodb option, it goes against the dupd way.
* Deprecated the --intblocks option, no longer relevant.
* Deprecated the --file-count option, not needed.
* Various performance improvements.
* Minor stats and reporting cleanup.
* Add support for building on FreeBSD.
* Although not user-visible (ideally), this release contains
substantial code refactoring of several subsystems. Test carefully.
2017-12-12 Jyri J. Virkki <>
* Version 1.5
* --hardlink-is-unique now forces HDD mode (implies --hdd).
* dupd no longer depends on libbloom.
* Some performance improvements.
* Logging/reporting cleanup and changes.
* Deprecated --no-thread-hash scan option, no longer relevant.
2017-02-25 Jyri J. Virkki <>
* Version 1.4
* Added HDD mode for much better performance on hard drives.
* Added 'refresh' operation to remove deleted files from database.
* Added -I|--hardlink-is-unique to ignore hard link duplicates.
* Allow --path value to be relative to current directory.
* Added more documentation and a man page.
* Added support for CSV and JSON report formats.
* Added 'validate' operation.
* Some reduction in RAM consumption.
* Added multithreaded support.
* OpenBSD build support.
* Deprecated --pathsep option as it should not be needed anymore.
* Warn if db seems too old.
* Added support for additional hash choices (SHA1, SHA512)
2015-12-31 Jyri J. Virkki <>
* Version 1.3
* Fix handling of --uniques scan option.
* Add --hidden option to enable scanning hidden files and directories.
* Verify db version against dupd version, warn on mismatch.
* Small performance improvement.
* 100% code coverage by test suite.
2015-12-24 Jyri J. Virkki <>
* Version 1.2
* Add --exclude-path option to file and peers.
* Add --link and --hardlink options to rmsh.
* Support --minsize on scan. Change the minsize default to 1 byte.
* Add short options to the more commonly useful options.
* Some stats cleanup, additional stats, option to save stats file.
* Remove hardcoded limit for max duplicates of one file.
* Various performance improvements, YMMV.
* Reduced memory usage.
2014-12-30 Jyri J. Virkki <>
* Version 1.1
* Adds ls, dups, uniques and rmsh operations to help navigate duplicate cleanup.
* A handful of bug fixes since 1.0.
2012-11-19 Jyri J. Virkki <>
* Version 1.0
* Initial usable version, scan and report operations supported.