Releases: miketvo/imdupes
Releases · miketvo/imdupes
Release 2023-07-16: v0.2.5
Version v0.2.5
Now available on:
- Windows 7 and above (x64)
- Any Linux Distro with Kernel version 5.15 and above (x64)
- MacOS Monterey 12 and above (x64)
Changes
- Added automatic build, archiving and archive checksum generation in
build.py
- Added automatic artefacts uploading using GitHub workflows in
.github/workflows/build.yml
- More verbose
build,py
- Bumped version number
- Code cleanup
- Update
README.md
Bugfixes
- Resolved PYTHONPATH module discovery problem when running
python -O build.py
andpython -m unittest discover
Full Changelog: v0.2.4...v0.2.5
Release 2023-07-14: v0.2.4
Version v0.2.4
Available on Windows 7+ and Linux 5.15+
Changes
- Added build support for legacy Windows versions
- Bumped version number
- Code cleanup
- Update
README.md
Full Changelog: v0.2.3...v0.2.4
Release 2023-06-24: v0.2.3
Version v0.2.3
- Available on Windows and Linux
- No executable compression
Changes
- Added
info
mode per request by @yoantran (Resolved #29) - Clearer and more conventional option names for
-f/--format
flag - Clearer and more accurate option names for
-a/--auto-hash-size
flag - More robust error handling
- Bumped version number (twice, because there are a lot of changes)
- Code cleanup
- Update
README.md
Bugfixes:
- Fixed "Invalid progress bar level" error while progress bar level is correct (
-p0
) - Fixed typo in
calc_hash_size()
that caused abnormally large auto hash size calculation for avg-dims-mean
Full Changelog: v0.2.1...v0.2.3
Hotfix 2023-06-19: v0.2.1
Version v0.2.1
- Available on Windows only
- Needs more user feedback
- No executable compression
Changes
- Resolved #30, thank you @yoantran for discovering and reporting this bug
- More robust error handling
- Bumped version number
- Code cleanup
- Update
README.md
Full Changelog: v0.2.0...v0.2.1
Release 2023-06-17: v0.2.0
Version v0.2.0
- Out of beta, first official release! 🎉🎊
- Available on Windows only
- Needs more user feedback
- No executable compression
Changes
- Added support for more image file extensions
- Proper support and documentation for
.eps
files - Resolved #16 as requested by @yoantran: Implemented color-sensitive hashing methods (
-m
/--hashing-method
flag):color-hist-hashing
(default, fastest and very accurate for both colors and transparency)grayscale-hashing
(old behavior, can't differentiate colors nor transparency)rgb-hashing
(slow, most accurate for colors, but can't differentiate between white and transparent)rgba-hashing
(slowest, most accurate for both colors and transparency)
- Added automatic calculation of hash size (default behavior unless a hash size is provided with
-s
/--hash-size
flag), Available methods can be accessed using-a
/--auto-hash-size
flag:max-dim
: Take the largest dimension (either width or height) of all image as the hash sizemax-adim
: Take the largest value of the average between width and height of all images as the hash sizeavg-dim
: Take the average of all widths and heights of all images as the hash sizeavg-adim
: Take the average value of the average between width and height of all images as the hash size
- More robust error handling
- Bumped version number
- Code cleanup
- Update
README.md
Full Changelog: v0.1.3-beta...v0.2.0
Prototype v0.1.3-beta
Version v0.1.3-beta
- Available on Windows only
- Needs more user feedback
- No executable compression
Changes
- Better verbose output messages for
-V1
and-V2
levels (better formatting for both levels, and more informative exclusion messages for-V2
) - Verbose mode progress bar details is now adjustable: If verbose mode is set, the user can choose between 3 levels of details:
- 0: Disable the progress bar
- 1: No bar, just stats
- 2: Bar and stats
- Better overall error handling and "graceful crashing" for all errors and exceptions
- Dupfiles are now JSON-formatted text files with mandatory
.imdup
extension; This is to future proof the program for further extension/porting, which makes life easier, since JSON is an already established format with many parser implementation across many languages - Loaded dupfiles images are sorted in order of the largest to the smallest resolution, see commit 115ce3c
- Implemented reading from dupfile for
clean
mode (Resolve #11) - Added program icon by @yoantran (Resolve #12)
- Bumped version number
- Code cleanup
- More informative
README.md
Bug Fixes
- Fixed arguments validation unable to differentiate between
-p0
and-p 0
(-p
is one example among a few more flags). See commit 4ccb9e8
Full Changelog: v0.1.2-beta...v0.1.3-beta
Prototype v0.1.2-beta
Version: v0.1.2-beta
- Available on Windows only
- Needs more testing
- Needs more user feedback
- No icon yet (#12)
- No executable compression
- Note: #11 is not working yet,
clean
mode will throw aNotADirectoryError
error when supplied with a file instead of a directory, to be implemented in next version
Changes
- More robust progress bar
- Renamed
detect
mode toscan
mode - Setup extra verbose mode (
-V1
,-V2
verbose levels with-V1
as 'verbose' and-V2
as 'extra verbose') - Image indexing notifies user of excluded files when
-V2
is set - Modular argument parsing and validation
- Better
detect_dup_images()
scanning messages: ChangeProcessing ...
toScanning ...
to be clearer for the user - Added early stopping message when there are no duplications to clean
- Better help messages
- Better error messages
- Efficient terminal messages flushing
- More verbose duplication console output (Resolved #10)
- Added option to show hash in console output (will be truncated if too long) using the
-H/--show-hash
flag - Output file for
-o/--output
does not include hash (they could get too long) - Paths in output file for
-o/--output
will always be absolute, that makes more sense - More informative interactive clean mode
- Bumped version number
- Code cleanup
- Update README.md to match the above changes
Bug Fixes
- Added
MemoryError
handling and force closing of corrupted images to free up locked memory that led to crashing - Added image file verification when opening an image, then force closing that image after processing is done to free locked memory that lead to crashing
Full Changelog: v0.1.1-beta...v0.1.2-beta
Prototype v0.1.1-beta
Version: v0.1.1-beta
- Ready for beta testing
- Only available on Windows
- Needs more testing
- Needs more user feedback
- No icon yet
- No executable compression
What's Changed
- Unit testing for
detect
module - Removed all partial file support to improve program stability
- Removed support for EPS files (they're too unpredictable)
- Graceful Pillow error handling
- Graceful OS permission denied handling
- Added terminal flushing for important verbose messages
- Default hash size is now 512 to improve identical image detection accuracy (more information captured in hashing process), at the cost of program RAM and CPU performance
- Adjustable hash size via command line argument
- Prettifying warnings and error messages
- Sort duplications in order of decreasing resolution (width * height) so that the highest resolution image is kept during cleaning step
- Bumped version number
- Code cleanup
- Update README.md to match the above changes
Full Changelog: v0.1.0-alpha...v0.1.1-beta
Prototype v0.1.0-alpha
What's Changed
- Available for Windows only
- Basic functionalities up and working
- Needs more testing
- Needs more user feedback
- No icon yet
- No executable compression
Full Changelog: https://github.com/miketvo/imdupes-prototype/commits/v0.1.0-alpha