DuoBolt

Changelog

New updates and product improvements

DuoBolt 2.4.2 — Run again, fixed

DuoBolt 2.4.2 fixes the thumbnails after running a scan again from Scan History.

Fixes

  • Running a Similars scan again from Scan History left many thumbnails blank in the results. They load now, as they do from the Dashboard or from Similars.

DuoBolt 2.4.1 — A faster Trash

DuoBolt 2.4.1 moves files to the Trash many times faster, without a sound for each one, and opens a past operation at once.

Improvements

  • Move to Trash is many times faster and silent: a hundred files go in about a second, where they took over twenty with a sound for each. Put Back in the Finder still works. macOS only.
  • Opening an operation in Operations History is immediate, however many files it removed. A file is checked when you restore it, not when you open the list.

Fixes

  • A context menu with no room below the pointer opens above it, and menus near the bottom of the screen unroll upward.
  • A menu keeps its highlighted row while one of its submenus is open.
  • The file type legend in the results shows 100.0% in full.

DuoBolt 2.4 — Results that move, and glass on Windows

DuoBolt 2.4 animates the results as you filter and sort them, opens its dialogs and menus smoothly on glass, and brings that glass to Windows. The Dashboard runs a past scan again in one click.

What’s New

  • Results that move. Filtering or sorting Duplicates and Similars slides the groups to their new places while the one you are on stays still. The file type cards and the donut follow, and the Scan History and Operations History filters animate too.
  • Glass. Dialogs, menus and popovers sit on the system’s translucent material, with their text and icons tuned to what is behind them. On Windows 11 dialogs and menus get the same material, and menus unroll as they open.
  • Smooth dialogs. Dialogs open and close smoothly, also on older Macs.
  • Run a scan again from the Dashboard. A click on a row of Recent activity opens it in Scan History, with its setup. Right-click it to run it again.
  • A new app icon. On Windows the small sizes show the bolt alone.

Improvements

  • AI Curation opens at once when its results are already known, and keeps the group you are on still when the order changes.
  • The arrow keys scroll a list one row at a time.
  • In a window in the background, the colors of Similars and Sync go quiet, as the blue already did.
  • The Sync card on the Dashboard is shorter, so the three cards no longer stand over empty space.
  • The panels inside the delete confirmations let the glass through.
  • Scan History pages through a long history quickly, and an opened entry shows whole.
  • The resume card of Recent Setups folds in and out smoothly.

Fixes

  • Replace with clone keeps each file’s own Finder tags, comments, permissions, group, ACL and flags, and leaves a locked file or one with other hard links alone. A file with none of its own could take the other copy’s tags. macOS only.
  • After a search or a filter change, Similars could show a group’s tile in another group’s place.
  • Opening AI Curation could close the app.
  • A folder name in a Sync pair that was just too long did not slide on the Dashboard.
  • Scrollbars no longer light up under the pointer while a menu is open.
  • Scan History could empty its list when an entry was opened, on a screen scaled to 125 %. Windows only.
  • A dropdown’s button keeps its hand cursor while its menu is open. Windows only.
  • The sidebar icon is sharp at 125 % scaling. Windows only.
  • The window’s title bar reads inactive while a dialog is open. Windows only.

DuoBolt 2.3.5 — Faster pictures

DuoBolt 2.3.5 opens pictures faster, starts faster and draws with a faster renderer on most Windows PCs.

Improvements

  • Pictures in the viewer open faster and look sharper at full size.
  • DuoBolt starts faster.
  • Less memory is kept after viewing large pictures.
  • Colors of photos with an embedded color profile are shown accurately.
  • Scrolling, animations and moving between screens are smoother, most of all on older computers.
  • A faster renderer is used on graphics cards that support it, with a Compatibility renderer setting to switch back. (Windows)

Fixes

  • Copy menus in Similars no longer freeze the app in very large groups.
  • A scrollbar dragged out of the window and back stays under the pointer.
  • Long dialog messages wrap inside the dialog.
  • The button that sends held-back files to the Recycle Bin fits the Sync inspector. (Windows)
  • The window opens inside the screen on first launch. (Windows)

DuoBolt 2.3.4 — Faster Similars

DuoBolt 2.3.4 makes the Similars grid faster and lets you size the inspector.

Improvements

  • The Similars grid scrolls and moves between photos faster.
  • The inspector in Similars and Sync can be made wider or narrower by dragging its edge.
  • The zoom slider in Similars can be moved with the keyboard.
  • ⌘F (Ctrl+F on Windows) reaches the filename search from anywhere on a results screen.
  • Holding an arrow key on a slower Mac shows every step. (macOS)

Fixes

  • Clicking an empty area no longer stops the arrow keys and shortcuts from working.
  • A new scan shows its own progress from the start, not the last phase of the one before.
  • The arrow keys work in the Similars grid after clearing filters from an empty result.
  • The corners of an expanded stack in Similars match the selection ring.

DuoBolt 2.3.3 — Smoother screens

DuoBolt 2.3.3 polishes how screens and panels move, and how text fields behave.

Improvements

  • Results and empty states fade into each other instead of jumping.
  • The inspector in Similars slides in with its channel switch in place.
  • Text fields have a context menu with Cut, Copy, Paste and Select All.
  • Text fields move and delete by word the way the system does, and undo a typed word in one step.
  • Tabbing into a text field selects its contents.
  • DuoBolt starts faster.

Fixes

  • A list filtered by a search field updates as you type, instead of waiting for the mouse to move.
  • The ring around a group in Similars holds still when the inspector opens or closes.
  • The filter pills in Similars keep their width as their counts change.
  • Japanese, Chinese and Korean candidates open next to the text being typed.
  • Japanese, Chinese and Korean can be typed into text fields on Windows.

DuoBolt 2.3.2 — Recycle Bin and cache

DuoBolt 2.3.2 calls the Recycle Bin by its name, is more careful with files edited in place, and sharpens a few details on screen.

Improvements

  • Shadows are sharper on high-resolution displays.
  • The keyboard focus ring no longer shows through the bar at the bottom of the results.

Fixes

  • DuoBolt now says Recycle Bin instead of Trash, in its buttons, dialogs and history. Windows only.
  • A file edited without changing its size, with its date put back afterwards, is read again instead of being taken for the file it was before. The first scan after updating reads every file once more. Windows only.

DuoBolt 2.3.1 — Drives that come and go

DuoBolt 2.3.1 notices when a folder you chose is no longer there, because its drive was disconnected or the folder was renamed, moved or deleted, and never reports “no duplicates” for a folder it could not read.

Improvements

  • A folder that is no longer there is marked at once in the setup, the recent setups and the resume card, whether its drive was disconnected or the folder was renamed, moved or deleted, even while DuoBolt is in the background. Find stays off until the folder is back or removed, and Resume and Run again check the folders too.
  • A scan that loses its drive halfway goes back to the setup and says which folder it could not read, instead of showing empty results. When it could read some folders but not others, the results say which ones were left out.
  • A scan that finds nothing says how many files it looked at, and how many files in the cloud it did not check.
  • Notes about files left in the cloud now sit above a restored session’s notice instead of between it and the selection bar.
  • The warning color is brighter in the light theme.

DuoBolt 2.3 — Sync Folders, and stacks and an inspector in Similars

DuoBolt 2.3 adds a new section, Sync Folders: compare two folders, see every difference side by side, and bring them in line in either direction. Duplicates learns APFS clones, and Similars stacks identical copies and gains an inspector beside the grid.

What’s New

  • Sync Folders. Pick a folder A and a folder B, and a direction: Mirror to B, Mirror to A, or Both ways. The results show the two folders as two trees side by side, with what will happen to each pair in the middle. Every file of the same size is compared by its contents, never by its name and date alone.
  • Both ways knows which side changed. DuoBolt remembers what the two folders had in common at the last sync. A file changed on one side is copied to the other, a file deleted on one side goes to the Trash on the other, and a file changed on both sides is a conflict for you to settle. “Newer wins” settles every conflict the dates can decide in one click.
  • Every pair can be told what to do. The button between the two sides opens a menu: copy to A, copy to B, move to the Trash, or leave both alone. On a folder it decides for everything inside. A file or folder can be ignored, and the chips and the search narrow the list to what you want to review.
  • An inspector beside the list shows the pair under the cursor: both files, their sizes and dates, what will happen and why. Space opens the preview, with photos, video, audio and PDFs.
  • Nothing runs blind. Before a sync starts, DuoBolt checks what would fail and says so. Files removed from a side go to its Trash, and on a Mac they can be restored from Operations History, as can a file that a copy replaced. A side that has lost more than half of what it had since the last sync (an unmounted drive looks like that) has its deletions held back.
  • Sync sessions. A plan you have started deciding is kept, and can be resumed from the Dashboard or from the setup’s sidebar, which also keeps your recent setups.
  • Replace with clone. A new mode in Review replaces each marked duplicate with an APFS clone of the copy you keep. Both files stay where they are, with their names and dates, and the disk stops paying for the second one. macOS only.
  • Clones in Duplicates. A group says how many of its copies already share storage, each copy in a clone set is marked, and a filter shows only the groups with clones.
  • Stacks in Similars. Identical copies in a group show as one stacked tile. Expand or Space opens a stack, Esc folds it again, and Stacks in the section header turns stacking off.
  • An inspector in Similars. A panel beside the grid shows the histogram of the photo under the cursor, its details (camera, lens, exposure, where it was taken) and a comparison with another copy of the group. ⌥⌘I shows or hides it, in Similars and in Sync Folders.

Improvements

  • Files that live only in the cloud, in iCloud Drive or OneDrive, are no longer downloaded by a scan. The results say how many were left out and offer to download them and scan again, and the scan parameters have an option to always download them.
  • The Duplicates and Similars results have a single toolbar, with the tags, formats and size ranges in one Filters popover.
  • The scan parameters are organized in pages, and each parameter you changed is marked.
  • Folders are named as the Finder names them, and iCloud Drive shows with its own icon and name.
  • In the Duplicates detail and in Review, each folder of a file’s path names itself when you point at it, and a click opens it in the Finder or Explorer.
  • Default start screen in Settings → General can also be Similars, Sync Folders, or the section you used last. Sync Folders is ⌘4, and Settings moves to ⌘5.
  • The sidebar’s icons fill in when a section is chosen, and checkboxes draw their tick.
  • A histogram is measured once from the original photo and kept, so it shows at once when you come back to it, and for a RAW file it is measured on the developed photo, not the preview the camera stored inside it.
  • AI Curation keeps the better version of a picture more often. A small, heavily compressed file no longer wins for looking sharper, and a file ten times larger counts for more.
  • Filtering or sorting Similars shows the new grid at once instead of sliding the photos into place.
  • Moving files to the Trash is no longer reported as space freed. The Trash holds it until it is emptied, and the Dashboard now counts “space cleaned up”.
  • The Dashboard includes Sync Folders, with its own cards and history.
  • The selection footer fits at the app’s smallest window size, and “Selected groups only” moved to the filters.
  • Notices about a restored session or a bulk selection now appear above the selection footer instead of under the header.
  • Scrolling long lists and moving through them with the keyboard is smoother, and the app redraws only what changed on screen.

Fixes

  • Duplicates and Similars no longer remove a file that changed since the scan, or a copy whose kept twins were deleted in the meantime.
  • Moving to the Trash on a drive with no Trash, such as a network share, no longer deletes the files for good. The confirmation says how many stay, and Delete Permanently removes them.
  • Archiving onto another drive keeps the original until its copy is verified.
  • A folder emptied by a removal goes to the Trash with the files the system keeps in it, instead of having them deleted for good.
  • After a removal, the Duplicates results could show the wrong groups under a filter or sort, and the header kept the figures from before.
  • Holding ⌘← or ⌘→ to walk through the selected files stopped after one step.
  • A click on the Similars tile-size slider could scroll the grid.
  • In Similars, Tab from a photo reaches Review with AI and Open in Preview again, and shows where the focus is.
  • In AI Curation, “Why this one” could compare the kept photo with a copy of itself, and call it less sharp than its own copy.
  • The charts kept their dark colors after switching to the light theme.
  • A tooltip no longer appears while the content scrolls under a still pointer, and one already showing closes when its content scrolls away.
  • A translucent header at the top of the window no longer jumps in brightness.
  • A slider dragged inside a popup and released just past its edge no longer keeps following the pointer.
  • A resumed Duplicates session showed its tag filter as active but listed every group, and a resumed Similars session put back an old tile size.
  • Right-clicking a photo from a Photos library scan now offers Reveal in Photos. macOS only.
  • The folder picker could close the app when its window was resized. macOS only.
  • The free version’s limit reads 500 MiB.
  • A window in the background reacted to the pointer, and the click that brought DuoBolt to the front could close an open dialog. Windows only.

Note

In the free version, a sync carries out up to 25 files and 500 MiB at a time, the same limit as a removal in Duplicates. What is left stays in the list for the next sync.

The first AI Curation run after updating analyzes every group again, because the way photos are compared changed.

DuoBolt 2.2.8 — Twice as fast, and honest about hard links

The duplicates scan runs about twice as fast, and a group no longer counts the same file twice because it has more than one name.

Improvements

  • The duplicates scan is roughly 2× faster. A source tree of 1.7 million files went from 56.7 seconds to 26.5 at the app’s default minimum file size. The benchmarks were re-run on this release across three kinds of storage.
  • A group shows what the list leaves out: “2 copies · 1.2 GiB each · 2.4 GiB total · 2 more names”.
  • When a figure is smaller than the one your file manager shows, the results header says why: “22.9 GiB reclaimable · 6.2 GiB shared by clones, 50,173 linked names”. Both follow whatever filter is active, and neither appears when it is zero.

Fixes

  • A hard link is counted once. A group used to list every name of the same file as a separate copy, which inflated both the count and the space you would get back.
  • The copy a scan keeps no longer changes between runs of the same scan.
  • Collapse symlinks now decides symlinked paths and nothing else. Hard links are folded either way.

Note

The first scan after updating recomputes its cache, because the prehash window changed. It is a one-time cost; scans after that use the cache as usual.

DuoBolt 2.2.7 — Fixes

A security fix for reading photo metadata, better license activation behind a proxy, and a few fixes around dialogs and keyboard focus.

Fixes

  • A file with malformed XMP metadata can no longer stall a scan or exhaust memory.
  • Activating a license works on more networks, including through some HTTPS proxies.
  • Keyboard shortcuts that move focus now show where it went. Pressing Cmd-F in the Duplicates results puts the focus ring on the search field.
  • The About and welcome dialogs open tall enough for everything in them — the Close button no longer sits against the bottom edge.
  • The welcome dialog’s footer sits at the bottom of the panel instead of floating above an empty band.

DuoBolt 2.2.6 — A faster results grid

The Similars results grid does a good deal less work than it used to, and older machines feel it the most. Plus a handful of fixes.

Improvements

  • Scrolling the Similars results is considerably faster, most of all in large groups.
  • Thumbnails appear sooner the first time you open a folder.
  • Changing the tile size settles right away.

Fixes

  • Copies of the same photo are recognized on Intel Macs. macOS only.
  • Tiles that stayed blank while scrolling now fill in.
  • Smaller fixes to how the grid draws and behaves.

DuoBolt 2.2.5 — Fixes

A small follow-up with fixes to licensing and the Similars grid.

Fixes

  • A license upgrade is picked up the next time you open the app.
  • Freeing this device’s seat from the Devices list updates the License screen right away.
  • Stacks in the Similars grid no longer combine different pictures. Windows only.
  • The app icon is sharp on scaled displays. Windows only.

DuoBolt 2.2.4 — Fixes

A follow-up to 2.2.3, with a fix for entering a license key on Windows and a few fixes in the Similars grid.

Fixes

  • Entering a license key on Windows systems no longer fails on some networks.
  • Tiles in the Similars grid no longer stay blank or lose their hover after scrolling.
  • Review with AI now opens the group you picked.
  • The tile highlight no longer flashes when you return to the grid.
  • A group’s header shows its controls while the pointer is in the group, and hides them when it leaves — including when it leaves the window.
  • While you draw a selection with the mouse, nothing lights up under the pointer.
  • The tooltip on a tile’s circle says Select or Deselect, whichever applies.

DuoBolt 2.2.3 — Fixes

A short follow-up to 2.2.2, with fixes for entering a license key and for a photo library kept on an external drive.

Fixes

  • Corrected two problems introduced in 2.2.2, in the progress donut and in the Similars grid.
  • Entering a license key now works on networks where the proxy is set automatically. Windows only.
  • A photo library on a drive that is not connected is now recognized as such, instead of being offered as ready to scan. macOS only.

DuoBolt 2.2.2 — Scan progress and text

A round of work on 2.2, in the two places a long scan leaves you waiting: what the app tells you while it runs, and how it reads while you wait. It also fixes a rule that was offering the wrong photos for removal in Similars.

What’s New

  • The sidebar says which section is working. A dot next to Duplicates or Similars, breathing while that scan runs — whichever section you are looking at. When the scan finishes while you are somewhere else the dot stays, still, until you go and look, so a scan that ended twenty minutes ago is not something you have to remember.

Improvements

  • Text across the interface is better spaced.
  • DuoBolt is a smaller download, and uses less memory.
  • The progress line highlights what the scan is doing — Scanning, Grouping, Finalizing — while there is no file name beside it. A scan spends minutes on those steps, and the line used to look stalled.
  • The Setup panel explains itself before your first scan, instead of showing an empty frame.

Fixes

  • In Similars, a Bulk Select preset decides per photo rather than per group. A group holds pictures that look alike, which is not the same as copies of one picture: four photos imported twice are eight tiles in one group, and a preset kept a single tile out of the eight — offering the other seven for removal, six of them photos that exist nowhere else. A rule now runs over the copies of one photo at a time, and a photo with no copies is never offered. Duplicates is unchanged; its groups are byte-identical files.
  • Accented characters can be typed into a text field. The keystroke that begins one was being dropped, so there was no way to enter one at all. macOS only.
  • After a removal you come back to the same place in the grid. It used to jump to the top when the group you had just emptied was the one holding your position.
  • Corrected a slightly misshapen icon on the progress screen.

DuoBolt 2.2.1 — Windows scan stability

DuoBolt 2.2.1 is a focused stability update for Windows scanning.

Fixes

  • Fixed a Windows edge case where scanning a directory tree containing a cycle (for example, a junction loop) could recurse indefinitely and crash with a stack overflow.
  • Hardened directory traversal guards so repeated visits to the same directory identity are ignored, keeping scans bounded on cyclic filesystem topologies.

DuoBolt 2.2 — Compare two photos, and keep the one you meant

Two copies of a photograph are rarely identical, and the difference is usually small: a little sharper, a little brighter, one of them cropped. DuoBolt 2.2 puts the two on top of each other and lets you wipe between them, reads the light in each, and lets you write down — once — which copy you want kept, in words rather than by clicking through every group.

What’s New

  • Compare two copies in the preview. Press C and the picture becomes a curtain: one copy on the left of the line, the other on the right, both at the same fit, zoom and position. Drag the line, or hold ⇧ and use ← →; double-click or right-click to put it back in the middle. A and B choose which side the panels are about, X swaps them, and the chevrons walk the chosen side through the group’s copies.
  • A histogram, over the photo. H opens it: R, G and B together, each channel on its own, or luminance, with the shares of the picture pinned at pure black and pure white. Comparing two copies, Δ lays the other one’s curve over this one’s — the same measurement on both, so what you see is the difference.
  • Rules you write once. Settings → Selection holds one order of rules per finder: keep the copy with more pixels, keep the RAW, keep the one that still has its EXIF, keep the shorter name, keep the copy in — or outside — a folder you name. Read top to bottom, the first rule with an opinion decides, and anything it cannot tell apart is left alone.
  • Rules that ask about the camera. An EXIF rule takes an attribute, a comparator and a value: ISO under 400, shutter faster than 1/125, aperture wider than f/2.8, at least 12 MP, has GPS, is a particular color space. “Is the lowest” and “is the highest” rank the copies against each other instead.
  • Keep by my rules runs that order over every group (⌘R), over one group from its right-click menu, or from Bulk Select in either finder. Bulk Select ends with “Edit my rules…”, which opens Settings where they live.
  • Devices, in Settings → License. The machines using your license, with what each one is and when it was last seen, and a Free button for the one you no longer have. A formatted Mac used to hold its seat forever; now you take it back yourself, and activate.
  • Settings → Updates is its own section: where updates come from and how to check for one, and on Windows a link to the app’s page in the Microsoft Store.

Improvements

  • The fullscreen preview decodes at full fidelity: a RAW is developed rather than served from the small JPEG the camera wrote inside it, and a HEIC is decoded rather than read from its embedded thumbnail. The difference is visible in shadows and fine detail.
  • Reveal from the preview goes to Photos for a library photo, rather than the Finder and the inside of the library package.
  • The Similars preview’s version switch (JPEG / RAW / Edited) moved to the bottom left, out of the way of the compare curtain, and the file line above follows the version you are looking at.
  • Every copy in a group is named by what tells it apart — how many megapixels, how large, whether it is an edit or a RAW — so two photos called IMG_0042.HEIC are no longer two identical-looking rows.
  • On a Mac with no photo library, the Similars setup says so instead of counting forever.
  • Windows: after a cleanup that went well, DuoBolt asks once — and only once — whether you would rate it in the Microsoft Store.
  • On macOS the whole interface is drawn through Skia’s newer Metal pipeline. What you notice is the scrolling: a grid of thumbnails, a long list of file names, the compare line dragged across a photo. The About box names the renderer your copy is running.
  • File names and labels are drawn from a shaped copy kept between frames instead of being laid out again on every one — it is a long list of names that pays for that, and it is where the difference shows.
  • DuoBolt ships the graphics pipelines it needs, so opening a screen for the first time no longer pauses while they compile.

Fixes

  • A photo in the fullscreen preview could come back soft after restarting the app: the cached copy was re-encoded at the quality meant for grid thumbnails.
  • A license whose seat had been released elsewhere now recognizes the one it already holds instead of spending a second.
  • A dialog with its background effects on could leave a smear of the screen behind it on macOS.

DuoBolt 2.1 — Your Photos library

DuoBolt 2.1 opens the Photos library. Similars can scan it directly, the way it scans a folder, and everything it finds there is shown by the names Photos uses, removed the way Photos removes, and explained with what Photos knows about each photo: when it was imported, whether it was edited, whether you marked it a favorite.

What’s New

  • Similars scans your Photos library (macOS). Pick “Photos” instead of “Folders” at the top of the Similars setup. DuoBolt reads the library itself — no export, no copy — and groups look-alikes and identical copies, including the photos you imported more than once. Photos that only live in iCloud are set aside and counted, not guessed at.
  • Removing from the library goes to Photos’ Recently Deleted, so nothing is gone until Photos says so. A photo’s edit and a Live Photo’s video go with it, and the confirmation says so before you agree.
  • Photos shows its names, DuoBolt shows them too: IMG_0042.HEIC on the tile, in the preview, in the review and in the removal report — never the file name the library keeps underneath.
  • Every tile states what Photos knows: the import date — “1st import · 16 Jun 2023” when the same photo was imported more than once — a heart for a favorite, a wand for an edit, and “JPEG + RAW” for a pair. An edited photo is shown as the edit; the scan compared the original.
  • A “Photos” filter on the results toolbar keeps the groups holding a photo that is edited, favorited, a RAW, or imported more than once — with the count each one would leave.
  • Bulk Select learned the library: Keep Favorite keeps what you starred, Keep First Import keeps the copies from the earliest import and selects the later ones. Every rule now keeps everything it cannot tell apart, and a rule with nothing to go on leaves the group alone — the footer says how many it left.
  • The preview switches between a photo’s versions with a control on the image: original, edit, RAW. O cycles through them, 1 2 3 pick one, and the size in the header follows what you are looking at.
  • AI Curation skips the scoring for copies that are byte-for-byte identical — there is nothing to judge — and marks the one it keeps KEPT rather than BEST SHOT, with the import date as its reason. Its groups follow the order of the results.
  • Copying out of the library exports each photo under its own name, and can bring the untouched original along beside the edit.
  • A rating left by Lightroom, Bridge or darktable in an XMP sidecar shows on the tile and in the preview.

Improvements

  • Keep Newest and Keep Oldest, and the “Latest” sort, go by the date the photo was taken, not the date the file was written. In a library every original is written at import, which made “newest” mean “imported last”.
  • Favorites wear a heart, as in Photos.
  • A folder scan skips Photos, iPhoto and Aperture libraries (Scan parameters → Skip folders → Photo libraries, on by default). A library holds a copy of everything you also keep in folders, and walking into one paired a whole collection with itself. macOS only.
  • The Dashboard’s resumable-session cards show the library by its own name and icon.
  • Disabled buttons no longer cast a shadow in light mode.

Fixes

  • The removal report could count a note as a skipped file, and add a library copy’s size twice.
  • The Similars setup no longer flicks on its first frame while the library’s photo count arrives.
  • Section headings across the app draw their rule in the same color.

Notes

  • Scanning the library asks for access to Photos the first time. The first scan walks the whole library (about 15 seconds for 8,000 photos); after that DuoBolt asks Photos what changed and only looks at that.
  • Photos you have hidden are not scanned: macOS does not show the Hidden album to other apps, whatever their permissions.
  • Scanning folders is unchanged, on macOS and Windows alike. The Photos library is a macOS feature.

DuoBolt 2.0.2 — Scrolling and menus

A round of repairs to 2.0, most of them in places you touch without thinking about them.

Fixes

  • The Dashboard could stop scrolling — neither the wheel nor the keyboard — after starting a scan again from Scan History. The page was fine; the scroll was being delivered to the screen you had just left.
  • Opening a menu or dropdown with the mouse left a dashed outline around a control, sometimes one unrelated to the menu. That outline marks where the keyboard is, and it now appears only when you are actually navigating by keyboard.
  • Right-clicking a saved setup under Recent Setups gave no sign of which row the menu belonged to, while a different row stayed highlighted as the loaded one. The row you right-click is now marked for as long as its menu is open, and the loaded setup keeps its own mark.
  • The Protected Folders menu reserved an empty row of space below its contents once a folder was in the list.
  • Small corrections to the credits shown in About.

DuoBolt 2.0 — Rewritten from scratch, and it finds photos now

DuoBolt 2.0 is a complete rewrite. Same app, rebuilt from the ground up in Rust on a native UI toolkit, with a second engine beside the duplicate finder: similar photos, grouped and ranked by on-device AI. Your license carries over — 1.x customers get 2.0 free, and DuoBolt adopts the license already on the machine the first time it runs.

What’s New

  • Similar photos: a second engine that finds photos which merely look alike — bursts, edits, re-saves, screenshots of the same thing — and groups them. Duplicates still means byte-for-byte identical; this is everything that isn’t.
  • AI Curation ranks a group of near-identical shots and says why it picked what it picked: eyes open, smiling, face sharpness, framing. It runs entirely on your Mac or PC — no upload, no account, no network.
  • RAW files are opened rather than skipped, from Canon, Nikon, Sony, Fuji and more. Grouping reads the full-color preview the camera wrote inside the file, not the sensor data, which is what makes a whole-library pass fast.
  • Duplicate results are now two columns: groups on the left, the files inside the selected group on the right, each scrolling and navigable on its own. 1.x expanded a group in place and pushed everything below it down the page, so comparing two groups meant scrolling back and forth.
  • Results can be filtered by name or path, file type, extension, tag, and a size range bounded to what the scan actually found, then sorted by recoverable space, number of copies, file size, type or tag. Every filter applies after the scan, so narrowing down never means running it again.
  • Each filter now reports what its own values are worth over the set the other filters leave. Choose Images and the extension list immediately shows the sizes and counts within images, not within everything — so you can see what a filter will do before you apply it.
  • New Dashboard with lifetime scan and deletion stats, your recent scans, and space reclaimed broken down by file type.
  • Fullscreen preview plays photos, video and audio in place, so a file can be judged before it moves rather than after.
  • DuoBolt no longer stops working when a trial ends. Every download starts with 7 days of Pro; after that it keeps scanning and showing everything it finds, and caps only what a single operation moves.

Improvements

  • Rewritten in Rust on a native UI toolkit built for this app. It uses roughly half the memory of 1.x and stays responsive on result sets that used to make it crawl.
  • Scans run off the interface thread, so the window keeps drawing while a scan does not.
  • Thumbnails are cached on disk between runs, so reopening a set of results is immediate rather than a second round of decoding.
  • The review surface is navigable from the keyboard, with the selection, filters and preview reachable without the mouse.

Notes

  • Byte-for-byte matching with BLAKE3, APFS clone awareness on macOS, Trash, Delete, Archive and Copy to…, Protected Folders, tags, saved scan setups and session restore all carry over from 1.x unchanged.
  • Your 1.x license is picked up automatically on first launch and keeps its seat. 1.x and 2.0 can be installed side by side.
  • Pro adds similar photos on every group and AI Curation everywhere. Standard and the free tier see the first 8 groups, whole — the grid, the ranking and the deletion all work inside them.
  • Licenses now cover their major version. All 2.x updates are included, forever; a future 3.0 will be an optional paid upgrade, discounted for existing customers.
  • Requires macOS 11 or later, or Windows 10 and 11.

DuoBolt 1.4.0 — Archive flow & APFS clone awareness

What’s New

  • New “Move to Archive…” action — pick any folder and DuoBolt moves selected duplicates there with their directory structure preserved, instead of sending them to the Trash. Archives appear in Deletion History with a “Review Archive” page to restore from.
  • New “Exclude archive folders from scans” setting (on by default) keeps archived duplicates out of future scans. Scan Setup also highlights any selected folders that overlap with known archives.
  • macOS scans now detect APFS clone groups — files that share storage on disk (e.g., from cp, Time Machine snapshots, build caches) — so DuoBolt no longer counts them as recoverable space. Toggleable via Advanced → Performance options, on by default.
  • Selection size, the Review screen total, the master-folder-rule preview, and delete confirmations all use the new clone-aware accounting, so the bytes you see before clicking “Delete” match what your disk actually frees.
  • Deletion History distinguishes “freed” (deletes) from “archived” (archives), since archived files still occupy real space at their destination volume.

Improvements

  • Scan Results header, sort order, and per-group display now show “recoverable” alongside “total” when APFS clones are detected, making it clear which groups actually free space when removed.
  • Scan-button accent in the Setup screen now uses the app’s semantic gradient for better visual consistency.
  • On non-APFS volumes (Windows, Linux, HFS+, SMB) clone detection is a no-op — behavior is unchanged.

Fixes

  • Deletions and archives performed after restoring scan results from a previous session (e.g., closing and reopening the app) now record correctly in Deletion History.

DuoBolt 1.3.14 — under-the-hood improvements

Improvements

  • Modernized the internal build system and refreshed the auto-update component for improved reliability when checking for and installing updates.

DuoBolt 1.3.13 — review and history tweaks

Improvements

  • Small visual polish in the Review screen
  • The Scan Results screen now follows the same back-button navigation pattern used throughout the app, making it more intuitive to move between screens
  • Tapping a category on the Dashboard and jumping into Deletion History now clears any previous date filter, so you always start with a fresh view

DuoBolt 1.3.12 — deletion history filter fix

Fixes

  • Fixed Deletion History showing a blank “No deletions yet” screen when deletions existed outside the default date range. The date and file-type filter bar now stays visible so you can switch to a wider range and find older entries.

DuoBolt 1.3.11 — dashboard and deletion history polish

Improvements

  • Refined Dashboard and Deletion History layouts for better use of space and more consistent sizing
  • Improved compact-window behavior across stats cards, filters, and history surfaces
  • Cleaned up internal desktop dependencies and related integration details for a leaner build

DuoBolt 1.3.10 — empty folder cleanup

What’s New

  • After removing duplicates, DuoBolt can now automatically clean up folders that become empty as a result. Enable the new toggle in the Review screen before deleting to activate this behavior.

DuoBolt 1.3.9 — scan setup reliability, clearer feedback, and preview playback polish

Improvements

  • Improved Scan Setup drag-and-drop reliability and added clearer feedback when dropping unsupported items
  • Refined Scan Setup messaging with inline status/error feedback and updated notification styling for better clarity
  • Improved Deletion History filter behavior and empty/loading states for more consistent results feedback
  • Improved media preview playback stability and position tracking around seek, completion, and rapid state changes

DuoBolt 1.3.8 — media preview backend migration and UX polish

Improvements

  • Migrated the media preview playback backend for better cross-platform stability and compatibility
  • Improved audio/video preview controls with a centered hover overlay (play, pause, replay) and cleaner interaction feedback
  • Refined preview stage behavior across audio/video transitions with smoother resizing and better aspect-ratio handling
  • Reduced visual flicker during media switching and tightened playback-state handling around completion/replay
  • Improved keyboard interaction scoping in the preview dialog to prevent background view key handling

DuoBolt 1.3.7 — reliability and sync refinements

Improvements

  • Improved startup state reconciliation
  • Refined backend sync behavior for licensing and trial checks
  • Improved handling of edge-case validation responses
  • Internal compatibility updates for persisted local state on Windows

DuoBolt 1.3.6 — preview dialog sizing improvements and interaction polish

Improvements

  • Improved preview dialog sizing across different screen sizes and resolutions
  • Preview layout now adapts more consistently when resizing or maximizing the app window
  • Refined keyboard focus visuals across dialogs and action buttons to avoid duplicate focus rings
  • Improved click targets for labeled checkboxes and switches for smoother interaction

DuoBolt 1.3.5 — navigation polish, history filtering clarity, and selection UX fixes

Improvements

  • Navigation is now faster with keyboard shortcuts: Cmd/Ctrl+1 (Dashboard), Cmd/Ctrl+2 (Scan), Cmd/Ctrl+3 (Settings)
  • Added Cmd/Ctrl+Enter to start scanning from Scan Setup, plus shortcut tooltips
  • Improved Deletion History filters so they are clearer and easier to use
  • Deletion History now opens by default with Last 30 days
  • Updated date wording to Last 12 months to avoid confusion

Fixes

  • Fixed several visual glitches in Deletion History (sticky headers, spacing, and filter reset behavior)
  • Improved dark-mode category colors for better readability
  • Disabled controls now show the correct cursor state (no more click cursor on inactive buttons)
  • Fixed Scan Results footer behavior when using Master folders with zero selected files
  • Improved Master-folder chips, including clearer remove (X) interaction and better hover feedback
  • Fixed Scan statistics so “Files Cached” and “Data Cached” are hidden when cache hits are zero

DuoBolt 1.3.4 — Master folders workflow and resumable scan sessions

Improvements

  • Added a full Master folders workflow inside Bulk Select, including global and per-group actions
  • Added Master folder presets so you can save, apply, and manage preferred Master folder setups
  • Master folder context is now kept visible in the footer while you switch between bulk-selection strategies
  • Improved Bulk Select action states so options disable automatically when they would not change anything
  • Closing the app from Scan Results now offers a clear Save & Exit flow for keeping your current session
  • Added resume-on-launch for saved Scan Results sessions, including restored filters, sorting, selection, and expanded groups

DuoBolt 1.3.3 — large-list performance, icon speed, and history UX improvements

Improvements

  • Scan Review now handles very large selections more smoothly, including faster expand/collapse and less jank while navigating big trees
  • Restore Deleted now scrolls and updates selection state much more smoothly on large history entries
  • Native file icons now load more consistently in large lists thanks to smarter app-side caching and controlled request concurrency (with the biggest gains on Windows)
  • On macOS, window dragging is now limited to the active screen header area to prevent accidental drags while interacting with controls
  • Additional native icon pipeline tuning on Windows improves stability under heavy UI load
  • Deletion History now collapses repeated identical deletion runs into a single entry with a “Repeated xN” badge, keeping the newest run visible first

Fixes

  • Fixed an overlap in Scan Setup where the Selected folders scrollbar could cover Remove folder buttons
  • Fixed bucketed Scan Results so the first group in each bucket gets the correct top corner radius when expanded
  • Fixed Bulk Select “Clear selection” to respect the active filtered view instead of clearing unrelated selections
  • Fixed Deletion History sticky section headers so the first sticky header renders with the same translucent background as the rest
  • Fixed deletion flow totals and per-type breakdown so file counts and size totals stay accurate during and after deletion
  • Fixed trash deletion progress reporting so long multi-file deletes advance progressively instead of appearing stuck at 0% and then jumping to 100%

DuoBolt 1.3.2 — Scan performance and cache visibility

Improvements

  • Scan Results scrolling is now significantly smoother on very large datasets
  • Scan Progress now shows cache usage in real time (Files Cached and Data Cached)
  • Search and filtering remain more responsive with large result sets

Fixes

  • Reduced UI stalls when rapidly scrolling or jumping within long Scan Results lists

DuoBolt 1.3.1 — Scan defaults and history filters

Improvements

  • The default window size on Windows now compensates for title bar and border chrome, so the usable area matches macOS exactly

Fixes

  • Simple scan mode now respects the “Default minimum file size” setting from Settings instead of always using 1 MiB
  • Changing the default minimum file size in Settings is immediately reflected in Simple mode without needing to switch modes
  • The Deletion History filter bar no longer disappears when a date filter (e.g. “Today”) produces no results

DuoBolt 1.3 — Deletion history, review & restore, and UI polish

What’s New

  • A new Deletion History experience with date grouping and filters for file type and time range
  • A redesigned Review & Restore flow with a tree view, smarter selection, and expand/collapse actions
  • A more powerful Preview dialog with improved layout and audio/video support
  • Recovery cleanup actions: “Clean Restored” plus per-row removal for fully recovered sessions

Improvements

  • Consistent context menus across the app with improved styling and behavior
  • Bulk Select is smarter and disables when it doesn’t apply
  • Better keyboard navigation and focus handling throughout the scanner and history views
  • Clearer results organization with bucketed lists and sorting refinements

Fixes

  • Corrected delete/selection counts in multiple flows
  • Stabilized menu and dropdown interactions
  • Fixed focus and interaction edge cases in lists and tree views

Notes

  • The history database now uses a new filename: duobolt_v1_3.sqlite

DuoBolt 1.2.8 — Core performance boost

What’s New

  • Performance optimizations in the core scanning engine for faster results.

DuoBolt 1.2.7 — About refresh and UI polish

What’s New

  • A refreshed About experience with a cleaner layout.
  • Subtle visual polish across dialogs and controls.

DuoBolt 1.2.6 — Scan Setup persistence

What’s New

  • Scan Setup now persists between app launches — selected folders, filters, size limits, and UI mode are all remembered.
  • Added a Reset button to quickly clear scan configuration and start fresh.

DuoBolt 1.2.5 — Scan setup polish

What’s New

  • Scan is now the default section on launch, with History moved below it in the sidebar.
  • A refreshed Simple mode layout focused on quick picks, selected folders, and a one-click “Repeat last scan” action.

DuoBolt 1.2.4 — Licensing flow improvements

What’s New

  • Smoother license activation and validation experience.
  • Clearer guidance when troubleshooting license issues.
  • Under-the-hood stability improvements.

DuoBolt 1.2.3 — Live scan refinements

What’s New

  • History now shows live scan phase and progress for the active session.
  • Resume a paused scan directly from the Scan screen.
  • Minor UX refinements across History based on real user feedback.

DuoBolt 1.2.2 — Focus fixes, faster results, smarter categories

What’s New

  • Fixed keyboard focus and Tab navigation across chip inputs and search fields, with more reliable caret and focus outlines.
  • Scan Results: better list performance and refreshed action button styling.
  • Filters and selections now reset when switching between scan sessions.
  • Added a dedicated Machine Learning category for model files (.onnx, .safetensors, .pt, .pth, .ckpt, .tflite, .mlmodel), plus refined archive/document/audio extensions and new common extension suggestions.

DuoBolt 1.2.1 — Scan setup clarity and history polish

What’s New

  • Scan Setup now starts in a simplified mode with a larger, fully clickable drop zone and a concise status banner, while Advanced keeps the full controls with a clean include/exclude toggle flow and helper text inline with the chip inputs.
  • The parameters header and reset action are aligned with the rest of the UI — consistent rounded buttons and clearer spacing thanks to a divider between size and filter controls.
  • Simple vs Advanced switching lives in the header, and folder management is smoother with unified padding and rounded “Add more” button styling.

DuoBolt 1.2 — History groups, results polish, and smarter settings

What’s New

  • History is now grouped by folders with collapsible sections, per-group pagination, and group delete controls
  • Historical scan results are available in read-only mode, with persisted groups and safer rescans
  • Scan results got a visual refresh with a new header, improved cards, and clearer selection + auto-select controls
  • File filtering is smarter with unified include/exclude extensions, normalized inputs, and more accurate wasted-space totals
  • Settings add cache minimum size sliders, better cache metrics, and a toggle to persist historical results

DuoBolt 1.1.3 — Live scan controls & history polish

What’s New

  • History now highlights the active scan with live elapsed time plus pause/resume and cancel controls
  • Rescanning from History safely cancels any running scan and refreshes sessions as soon as the scan finishes
  • New pulsing, phase-colored scan badge in the sidebar so active scans are visible at a glance
  • Improved scan job cleanup for more reliable session saving after cancels or restarts

DuoBolt 1.1.2 — Enhanced cache management

What’s New

  • Cache Statistics section in Settings is now collapsible with smart defaults (collapsed by default, showing key metrics)
  • Cache clearing now requires confirmation and fully removes the cache file from disk
  • Cache metrics load immediately on app start instead of waiting for the first scan
  • Improved visual design with better spacing, button alignment, and hover effects throughout cache controls

DuoBolt 1.1.1 — Cache insights & snappier results

What’s New

  • Cache metrics now show in Scan Results via a dedicated hover button when cache is enabled
  • Cache stats auto-refresh whenever Settings opens, no manual refresh needed
  • Added a one-click reveal button for the cache database location (Finder/Explorer)

DuoBolt 1.1 — Persistent hash cache & faster repeat scans

What’s New

  • Added a persistent file hash cache to speed up repeat scans and reduce redundant hashing
  • Cache stats and a one-click cache cleanup are now available in Settings
  • New cache controls let you enable/disable and keep the cache between restarts

DuoBolt 1.0.2 — Smarter macOS scans & firmlink detection

What’s New

  • Smarter macOS firmlink handling: automatically detects and skips duplicate filesystem views on APFS volumes, cutting redundant scans
  • Faster directory scanning on macOS with improved virtual filesystem detection
  • More reliable handling of system volumes to avoid scanning the same files twice
  • General performance improvements and stability fixes

DuoBolt 1.0.1 — Large File Support & Performance Improvements

What’s New

  • Support for file sizes up to exabytes (EB)
  • Faster system scans with automatic virtual filesystem detection on Unix-based systems
  • Consistent use of binary units (KiB/MiB/GiB/TiB/PiB/EiB) across the application

DuoBolt 1.0 — Initial Release

DuoBolt 1.0 is now available for macOS and Windows. Fast, accurate duplicate file detection with a clean, modern interface.

Desktop App (macOS 11+ & Windows 10/11)

  • Lightning-fast duplicate detection powered by BLAKE3 hashing
  • Visual scan results with file previews and metadata
  • Safe deletions via system Trash/Recycle Bin
  • Support for images, videos, documents, and more
  • Native macOS and Windows desktop experience

CLI Tool (macOS, Windows & Linux)

  • Free command-line tool for automation and scripting
  • Perfect for servers, CI/CD pipelines, and batch operations
  • Same powerful BLAKE3 engine as the desktop app

Licensing

  • One-time purchase, lifetime access
  • Two seats per license across macOS and Windows
  • All future updates included

Download DuoBolt Desktop or get the free CLI tool at duobolt.app/download.