Releases: Anach/ROM_Duplicate_Manager
Releases · Anach/ROM_Duplicate_Manager
ROM Duplicate Manager v1.4.4
Changelog
[v1.4.4] - 2026-01-08
Fixed
- Scan Images now always checks orphaned images against all scanned files, independent of File-Type and Category filters.
- Delete Selected now deletes all marked items (plus any additional selections) instead of only one item in single-file groups.
- Marked items retain their strikethrough styling even when a manual filter highlight is active.
- Keep/Delete filter actions now apply to selected items when the manual filter is empty.
rom_duplicate_manager.py. See full commit history on GitHub.
ROM Duplicate Manager v1.4.3
Changelog
[v1.4.3] - 2026-01-06
Added
- Font Size Adjustment:
- Added a new "Font Size" submenu to the View menu with Small (8), Medium (10), and Large (12) options.
- Adjustment specifically targets the main scan results (Treeview) for better readability while keeping the rest of the UI at default size.
- Font size preference is saved to the INI configuration.
- Unified Theme Fonts: Standardized font sizes across all themes (fixing an issue where the 'Darkly' theme used a different default size).
- Enhanced Category Filtering: Added a new category selection combobox to filter results by Games, Demos, Betas, Utilities, and more.
- Cross-platform releases: GitHub Actions (YML) now builds self-contained archives for Windows, macOS, and Linux; Python entrypoints remain available for manual runs.
Changed
- Improved Stats Display:
- Refined the stats block with better vertical padding and sub-heading spacing for improved readability.
- Optimized toolbar layout to ensure stats remain fully visible at the default window size.
- Enhanced Sorting: Manual filter items now sort to the top of their groups, making bulk marking much more efficient.
- Configuration Persistence:
- "Sub-Folders" setting now saves to the INI file.
- "File Type" and "Category" filters now correctly revert to defaults on startup.
- Replaced legacy dark-mode logic with a unified theme-based configuration.
Fixed
- Fixed alignment and spacing issues in the stats sub-headings.
- Resolved a potential crash when applying fonts to the Treeview widget.
rom_duplicate_manager.py. See full commit history on GitHub.
ROM Duplicate Manager v1.4.2
Changelog
[v1.4.2] - 2026-01-04
Added
- Enhanced Update Check System:
- Converted "Check for Updates" into a sub-menu with automated check options.
- Added automated check frequencies: Daily, Weekly, Monthly, and Never.
- Automated checks run silently on startup and only notify the user if an update is found.
- Manual "Check Now" option remains interactive for immediate feedback.
- Last update check timestamp and frequency preference are now saved to the INI file.
- Enhanced status display:
- Split status into a dynamic grid with up to six statistics: Unique Files, Duplicate Groups, Duplicate Files, Orphaned Images, Filtered Items, and Marked for Deletion.
- Smart Visibility: Statistics only appear when they have a value greater than zero, keeping the UI clean and focused.
- Auto-Expanding Layout: Automatically switches between 1-column and 2-column layouts to minimise vertical space usage.
- Themed Numerical Values: Improved visual hierarchy with colour-coded values (success/info/warning/danger).
- Perfect Alignment: Used a grid layout for consistent vertical alignment of all numerical values.
- Clean, non-bold font consistent with the rest of the UI.
- UI Uniformity and Alignment:
- Standardised heights for all buttons, entry boxes, and combo boxes across the toolbar.
- Aligned the bottom rows of all toolbar blocks for a perfectly balanced, professional appearance.
Fixed
- Menu Alignment and Layout:
- Fixed a UI glitch where menu labels would shift to the right when a checkmark was displayed.
- Implemented fixed-width checkmark labels for consistent alignment across all menus and sub-menus (including Themes).
ROM Duplicate Manager v1.4.1
Changelog
[v1.4.1] - 2026-01-03
Added
- Asynchronous file scanning: UI remains responsive during large scans, with progress updates and cancellation support.
- Enhanced status display:
- Split status into two rows with better visual hierarchy
- "Marked for deletion" line shown only when files are marked (bold formatting)
- Dynamic text wrapping for long folder paths with reserved 2-line height
- Status container now at top of window for better visibility
Changed
- Refactored main application to use a package structure; removed legacy monolithic files and added a new launcher (
run.py), supportingpython -m rom_duplicate_manager. - Improved "All Files" filter: now ignores images unless "Scan Images" is selected; clarified tooltip for "Scan Images".
- Added comprehensive type hints to event handlers and UI components for better code clarity and editor support.
- Improved UI layout and workflow:
- Reorganized button layout for more intuitive flow
- Enhanced sorting behavior:
- Duplicate groups (multiple files) now always appear at top of list
- Unique groups (single file) appear below duplicates
- Both sections maintain selected sort order (filename/path, ascending/descending)
- Sort resets to filename ascending on each new scan
- Marked items (keep/delete) stay at top within each group
Fixed
- Restored correct dual behavior for "Scan Images" (image inclusion and orphan cleanup).
- Minor bugfixes and improved error handling in scanning and UI.
- Sort state properly tracked for user-initiated vs programmatic sorts
- Fixed method signature inconsistencies in file list module
[v1.4.0] - 2026-01-03
Added
- Custom menu bar system:
- Full theme integration with dark/light mode support
- Windows-style hover-to-open menu behavior
- Submenu support for theme selection
- Consistent styling across all themes
- Theme system overhaul:
- Integrated ttkbootstrap for modern, professional appearance
- Multiple light themes: cosmo, flatly, journal, litera, lumen, minty, pulse, sandstone, united, yeti
- Multiple dark themes: cyborg, darkly, solar, superhero, vapor
- Theme selection saved to configuration
- Proper color coordination across all UI elements
- Update checker:
- Automatic version checking against GitHub releases
- Platform-specific download links (Windows, macOS, Linux)
- Pre-release support option
- Direct browser launch for downloads
Changed
- Modular codebase structure - Split monolithic file into organized modules:
rom_duplicate_manager/config/- Settings and defaults managementrom_duplicate_manager/utils/- Helper utilities, icons, and updaterrom_duplicate_manager/core/- Scanning, duplicate detection, and file operationsrom_duplicate_manager/ui/- All UI components (dialogs, file list, menu bar, themes)
- Improved code organization:
- Mixin pattern for clean separation of concerns
- Comprehensive docstrings for all functions and classes
- Type hints throughout codebase
- Reduced main file to ~690 lines (60% reduction from v1.3.5)
- Enhanced UI layout:
- Status display moved to top of window in dedicated frame
- Buttons reorganized into modern toolbar layout
- Better visual grouping of related controls
- Improved tooltips for all UI elements
- Automated build system - GitHub Actions workflow for cross-platform releases:
- Windows:
ROM.Duplicate.Manager.v.X.X.X.zipwith .exe - Linux:
ROM.Duplicate.Manager.v.X.X.X.linux.tar.gzwith .AppImage - macOS:
ROM.Duplicate.Manager.v.X.X.X.macos.tar.gzwith .app - Automatic documentation bundling (README, CHANGELOG, LICENSE)
- SHA256 checksums for verification
- Windows:
Fixed
- Sorting now correctly maintains keep/delete items at top of each group
- Improved error handling and user feedback throughout application
v1.3.5 Release
Added
- Pac-Man application icon plus refreshed tooltips and keyboard shortcuts (Ctrl+F to focus the filter, Ctrl+R to rescan, Space to toggle keep/delete, Delete to mark for removal).
- Status bar now reports how many items are marked for removal and their total size before you delete.
Changed
- "Scan Images" now doubles as an image filter: when unchecked, wildcard scans skip image extensions; when checked, images are scanned and orphan cleanup runs.
- Wildcard scans strip 3-4 digit catalogue prefixes from ROM/system filenames to better align with archive names and reduce false mismatches.
- Button layout and selection handling tuned for smoother keyboard use with the new shortcuts.
v1.3.0 Windows executable
Release Highlights – v1.3.0
- Match Size Mode: Detects true duplicate files by grouping on file size and partial content hash, not just filenames.
- Permanent Delete Option: Skip the Recycle Bin/Trash—files can now be irreversibly deleted (with confirmation).
- Progress Popups: Scanning and deleting show live progress for large folders.
- Better Filename Cleaning: Improved duplicate detection by removing extra “Copy”/bracket suffixes.
- Robust error handling and improved status messaging for advanced operations.
v1.2.0 Windows executable
Release Highlights – v1.2.0
- Contextual tooltips are now shown for nearly every button and control in the interface.
- Automatically detects image files /images/ subfolder that do not have corresponding ROM/archive files.
- Optionally deletes these orphaned images alongside regular duplicate file cleanup.
- Option to enable/disable this with "Scan Images" checkbox.
- Status bar displays the number of detected orphaned images after scan.
- Deletion process moves both files and orphaned images to Recycle Bin/Trash.
v1.1.0 Windows executable
Release Highlights – v1.1.0
- Sub-folder filter
- Language selection
- File-type filter
- Combined main filter into "Smart Select"
- Simple left-click to change filter mode.
- Removed grid-lines
- Added progress bar
- Change colour styles for Smart Select (red-strike-through delete, green keep)
- Changed manual filter to override Smart Select
- Reorganised filter order for Smart Select
- Language, Dark Mode, Row colour, Smart Select now save to ini.
v1.0.0 Windows executable
Release Highlights – v1.0.0
- WIP release
- Standalone Windows Executable (For Non-Python Users)