v1.11.0
This release needs macOS 14 or later. If you are on macOS 13, do not install it — stay on 1.7.0. Tideline's updater still does not check the version of macOS you are running, so it will offer you this update anyway, and the app will not open once it has swapped itself in.
The duplicate review keeps the copy it should, and every row in it opens in Finder.
It kept the wrong copy
A group could keep report (9).json while report (10).json sat below it, ticked for the Trash.
The sheet ordered a group by "date added" alone, down to the microsecond. Copies that arrived together — ten written in a row, a folder restored from a backup, a synced folder landing at once — are microseconds apart in whatever order the copying happened to walk them, which is usually alphabetical, and that is what puts (10) between (1) and (2). Sub-second order is a record of what moved the files, not of when they were downloaded.
Copies are now ordered by day, and within a day by the copy suffix, which is the downloader's own count: (10) exists only because (9) was already there, and a name with no suffix came before either. Days apart still separate first, so a file downloaded again today still beats the copy left over from January.
The list also comes out in the same order every time it is scanned, which it did not before — the old sort was not stable, so a group whose copies shared a timestamp could reshuffle between scans.
Opening a copy in Finder
The magnifier at the end of a row, and Show in Finder on a right-click, the same as the large-file review has had. The copies in a group are byte-for-byte the same, so this is never about which one to keep — it is about seeing what the thing actually is before agreeing that nine of them can go.
The type-folder fields name themselves
The folder name and extensions fields carried their example as their placeholder, which is also what VoiceOver read out — so the field for a folder's name announced itself as "Installers". They now have a label of their own, hidden because the row beside them already says it, and a placeholder that describes what to type rather than standing in for one particular answer.
Why there is no 1.10.0
This release was cut as 1.10.0 first. Publishing it with GitHub's immutable releases briefly switched on burned that tag: the setting keeps its record after it is turned off and the release is deleted, so v1.10.0 can never be created again. Nothing of it reached anyone. This is that release, renumbered.