A smaller question, asked in the one place it never was
There is no analytics in FolioSort, so the only way I learn how anyone found it is to ask. This release fixes the gap in that asking and makes the question shorter.
- The question now appears after an AI Search job: Semantic search, Screenshots and Find a Person were the only modules that never asked, so everyone who came to FolioSort for search specifically was invisible to me. It appears once, after the work is finished — never during it.
- The wording got shorter: “How did you first hear about FolioSort?” became “Curious how you found FolioSort?”. Answering is optional, the answer stays a single tap, and — as with everything else here — nothing about it leaves your Mac unless you send it.
AI Search finds what you asked for — and admits when it hasn't
This release came out of measuring AI Search against a real 1,136-photo library instead of a test folder. Two of the things it turned up were silent: Macs that had used AI Search before version 4.2.0 were still running the old search model, and a single word printed inside a photo could push every genuine match off your results. Both are fixed, and the pane is now honest about how sure it is.
- Fixed — your Mac may have been searching with the old model: The compiled model was cached under a filename that never changed, so the better encoder shipped in 4.2.0 silently never took effect on any Mac that had used AI Search before it. Your photo index rebuilds itself once, automatically — and it doesn't cost anything against the free allowance.
- Fixed — a word printed inside a photo could hijack your results: Searching
bar returned a single photo, because a wrapper in it read “Barebells” — and that one match pushed every genuine visual result off the list. Text found inside photos now has to match a whole word, not a fragment. Fixed on both platforms.
- Match strength now reads Strong / Fair / Weak: The old percentage could never fall below 43%, so noise turned up looking like a 53% match. A word is honest about how much the number is worth. Find a Person keeps its number, because that one is a calibrated face distance and it means something.
- Weak results are labelled as weak: When nothing matches your description closely, the results say so instead of presenting the nearest photos as though they were confident matches. Nothing is hidden from you — the list is the same, the claim about it is smaller.
- “No matches” now tells you what was actually searched: It names how many photos are indexed and which folders they came from, with buttons to add more folders or update the index. A search can only find what it has been shown, and the old message read like “you don't have that photo”.
- One-word searches in other languages are now translated: “bolo”, “piscina”, “neve” and their equivalents in Spanish, French, German and Italian used to be sent untranslated to an English-trained model. One word was too short to trip the language detector.
- Find by Photo says what it found: A finished scan now leads with the number of matches instead of quietly repainting the grid, and a scan that found nothing names the control that fixes it.
- Fixed — reopening the app landed on the wrong pane (macOS): Quitting while on AI Search or Find a Person reopened FolioSort on Screenshots, sitting under the wrong sidebar heading. Clicking the already-selected row couldn't fix it either.
- Fixed — upgrade buttons in the app: They now land on the upgrade page instead of the full pricing page, and the leftover “Unlock Unlimited” button in Rename and Merge names your own file count like every other wall does.
The screen at the end of a run now shows your photos, not a table of counts
When a run finishes, FolioSort used to open on five numbers. It now opens on proof: thumbnails of files it actually wrote, the destination folder as a chip you can click, and Undo. The upgrade prompts around it were rewritten too — they name what you were trying to do, never a plan you haven't chosen.
- Proof first, counts second: The completion panel leads with three thumbnails of the photos the run wrote, the destination folder, and an Undo button. The processed / successful / duplicates / verified / elapsed table moves behind a Details link — and opens by itself if anything failed.
- A progress bar that means something: When a run left files behind, the panel shows “100 of 598 organized” instead of leaving you to work it out. When it didn't, there's no bar at all.
- People preview for everyone: The strip of faces the panel finds after a run used to be Elite-only. It now appears on the free plan too, because the free plan can already read that sample — there was nothing to lock.
- Windows gets the same panel: The completion dialog on Windows was ported over, and Rename on Windows finally says something when it finishes — it used to rename your files and leave the page sitting there, still offering to rename names that no longer existed.
- Upgrade prompts stopped naming the wrong plan: Where both Pro and Elite lift a limit, the wall now says “What lifts this limit” and states the fact instead of steering you to the cheaper one before you've seen the choice. Where only Elite lifts it, it says Elite — fixing a real bug on Find a Person, whose button offered Pro for a limit Pro doesn't remove.
- Upgrade buttons no longer borrow the run button's verb: “Unlock all 598” sits next to “Organize 100 now”, so the button that opens a purchase can't be mistaken for the one that files your photos.
- Fixed — Windows RAW count: The stats strip counted HEIC as RAW, so it reported “2,051 RAW” while the notice directly beneath it said 978 files needed Pro. Both were counting something real; only one of them was answering the question.
- Fixed — Windows number formatting: On a non-English system, one window could show “3,423” and “3 423” a line apart. Every number now follows your locale.
- Fixed — Windows results panel: A run that ended in errors could sprout a cheerful row of faces a few seconds later, once the People sample finished arriving.
- Fixed — macOS merge menu: The “Same as…” menu for merging two people drew each face hundreds of points tall instead of as a small thumbnail beside the name.
People detection, a File-Type Filter, and a clearer free plan
The biggest feature release yet: FolioSort now finds and groups the people in your library on-device, lets you restrict any run to exact file types, and is more upfront about what the free plan actually covers.
- People: Point FolioSort at a folder and it finds every face, groups the ones that belong to the same person, and shows you a grid as it goes — no example photo, no upload, no account. Name a cluster once, tell it two piles are the same person if it split someone in two, and open anyone to see only their photos.
- People into XMP sidecars: Capture One has no face recognition — FolioSort supplies the names and writes them into standard
.xmp sidecars beside each photo, so your existing catalogue starts searching by person with no plugin and no new library.
- File-Type Filter: After a scan, FolioSort shows you the file types it actually found and lets you pick exactly which ones get copied or moved — just the RAWs, just the videos — instead of everything in the source folder.
- Custom folder-pattern card: Building a custom folder template during setup now has its own dedicated card instead of being buried in an options panel.
- Free plan cleanup, stated plainly: Scanning and reviewing Duplicates, Blurry and Screenshots stays free and unlimited — the free plan's cleanup action is capped at 20 lifetime, with clearer prompts pointing to Pro or Elite once you reach it.
- Free-wall polish: Fixed a window-clipping bug in the free-limit banner, and cleaned up the upsell copy around the limits above.
A redesigned scan screen — Windows
The progress window shown during every scan gets a visual overhaul on Windows, plus a live time estimate. macOS moves to 4.5.1 too, to keep both platforms on the same version number.
- Redesigned scan modal: The plain stacked-text progress window now has an icon, a proper shadow, and a card that no longer resizes mid-scan as the counter grows. Shared by all eight scan-driven flows — Organize, Events, Rename, Duplicates, Merge, Blurry, Best Shots and AI Search.
- Time remaining, when it means something: Organize, Events and Rename now show an ETA that only appears once progress passes 8% — earlier than that, the estimate is still dominated by cold-cache reads and would just be noise.
- macOS version alignment: No functional changes on macOS in this release — it moves to 4.5.1 so both platforms report the same version.
First-run activation — one screen, straight to trying it
The four-slide tour is gone. New users now see one screen with a single "Try It on a Folder" button — and Organize is no longer stuck disabled waiting for a destination you were never asked to pick.
- One-screen first run: The onboarding tour used to bury its "Try It on a Folder" button on the last of four slides. It's now one screen, with that button front and center and "Explore on my own" as the alternative — on both macOS and Windows.
- A working default destination: If you'd never chosen a destination, Organize sat disabled after your first scan. It now defaults to
<source>/Organized (macOS) or <source>\Organized (Windows) — an explicit pick still always wins.
- Clearer empty states (macOS): The preview panel now names the state you're actually in — no source, scanning, source picked but not scanned, or scanned with nothing selected — instead of one generic message for all four.
Reliability hardening — 112 fixes, on both platforms
A subsystem-by-subsystem safety review of the whole app. No new screens to learn: the moves you already make are now harder to get wrong, and always reversible.
- Undo is always there: Cancel or fail a Merge, Organize, Move to Folder or Workflow step and the files it already moved keep a working Undo. Previously a stopped run could leave those moves with nothing to reverse them.
- Undo can't trip over itself: A second Undo press mid-revert, or an Undo fired while a Rename or Organize is still running on the same files, no longer destroys the record it needs. Destructive actions now hold a single app-wide lock.
- Never deletes what it didn't create: When an operation fails partway, cleanup only removes destinations that run actually wrote — an existing file that happened to sit in the way is left alone.
- Counts you can trust: The Rename, Organize and Merge buttons — and the confirmation before them — now count only the files the run will genuinely touch, and the Archive Report totals what was written rather than what was scanned.
- Licensing that doesn't lock you out: A network hiccup, an unreadable credential store or an error page from the store is no longer read as "not licensed", and re-activating no longer burns one of your device slots.
- Identical folder names on macOS and Windows: Reserved Windows names, invisible Unicode, emoji, control characters and non-Latin album names now sanitize the same way on both platforms — so the same library organizes into the same folders wherever you run it.
- Search that stays in sync: Every mover now tells the AI Search index where files went, so results stop pointing at folders that were emptied — and a scan can no longer start on top of a running index build.
- Fewer repeated questions: Duplicate review offers "do this for all" once your answer starts repeating, and implausible EXIF dates are rejected instead of filing photos under a sentinel year.
Takeout Auto-Sync & the Archive Report
A Google Photos release — keep a Takeout folder syncing on its own, and turn the end of every import into a clear archive summary.
- Takeout Auto-Sync: Point FolioSort at your ongoing Takeout folder and it watches for new exports, merging them in incrementally and skipping duplicates — no re-importing the whole archive.
- Archive Report: Every Takeout import now ends with a plain-language summary of what came in — photos, videos, people and years — so you can see your library at a glance.
- Auto-Sync where you expect it: The Auto-Sync controls now live right on the Google Photos screen instead of being tucked away, so they're easy to find and turn on.
- Windows Takeout fixes: All-orphan imports no longer freeze the app, the report no longer overlaps the config panel, dialogs render on a solid backdrop, and Scan Now always confirms it ran.
- macOS fix: Auto-Sync settings toggles now update reliably the moment you flip them.
Safer moves, smarter search & one-click activation
A hardening and polish release — dozens of data-safety fixes, a sharper AI search, and a smoother way to unlock Pro.
- Smarter AI search: Upgraded on-device semantic model for better recall, and non-English searches are now translated before matching — so queries in any language find the right photos.
- Safer file operations: Mover, Merge and Takeout import now clean up cleanly after a cancelled or failed run, keep undo available, and never touch an ambiguous destination.
- One-click activation: A new
foliosort://activate link unlocks your license in a single click, plus a friendlier "Try It on a Folder" first run.
- Faster large imports: Google Takeout sidecar detection is dramatically faster on big libraries, and Rename/Events no longer freeze on network drives.
- Licensing reliability: Offline grace now keeps paid users paid through server hiccups, and tier restores land on the correct plan.
Windows visual parity
The Windows app now closely mirrors the macOS design, top to bottom.
- Refined typography: New control-content font tokens bring text sizing in line with macOS across the whole app.
- Polished controls: Cleaner Primary buttons and headings, completing a large Windows parity pass — macOS-style surfaces, sidebar section headers, and tier badges.
Elite tier — AI suite, Smart Folders & AI Culling
A new Elite tier brings the full AI suite out of beta and adds power-user tools for large libraries.
- Three tiers: Free, Pro, and the new Elite — with a redesigned upgrade screen and tri-color sidebar badges (Beta / Pro / Elite).
- AI suite leaves beta as Elite: Semantic search, Find a Person, conversational search, and Auto-Events are now Elite features.
- AI Culling (Best Shots): Automatically picks the best frame from a burst of near-identical shots.
- Smart Folders: Saved live searches that stay up to date as your library grows.
- Workflows & Watch Folders are now part of Elite.
- iCloud export: Recover original capture dates from exported CSV/JSON.
Sharper Find a Person & hands-free Watch Folders
A big accuracy upgrade for face search, plus automation that runs on its own.
- Watch Folders: Automatically run a workflow whenever new files land in a folder.
- Better face matching: Find a Person moved to a new on-device face model (AuraFace) for more accurate matches, with a face-quality gate that ignores low-quality faces.
- Smarter blur detection: Blurry now scores the sharpest region of each photo, so intentional background blur (bokeh) is no longer flagged as blurry.
Stability & honest gating
A critical AI Search crash fix and clearer boundaries between Free and Pro.
- AI Search crash fixed: A packaged-resource bug that crashed AI Search on every installed copy now resolves correctly.
- Honest gating: Reverse Geocoding and Auto-Events place names are correctly Pro features, and Free clearly shows where the line is.
- Workflows polish: Clearer duplicate review, a live-tuning slider, an Organize template palette, and reliable undo when a run is cancelled.
- Exit Kit safety: Original capture dates are never overwritten, and you're no longer stranded mid-run.
Packaging hardening
Build safeguards so a broken release can't ship.
- Fail-fast builds: The macOS build now stops immediately if a required resource bundle is missing, preventing broken releases.
- Windows sidebar polish to better match the macOS look.
FolioSort 4 — Workflows, AI Search & Exit Kit
The biggest release yet: chainable Workflows, an on-device AI suite, and a guided Exit Kit for leaving the cloud.
- Workflows: Chain Organize, Duplicates, Rename, Screenshots and Blurry into a single, repeatable run.
- AI Search suite (100% on-device): Semantic search (e.g. "my dog on the beach"), OCR text search, Auto-Events suggestions, date inference for undated files, and conversational search powered by a local LLM.
- Exit Kit: A guided flow to move off Google Photos, iCloud, WhatsApp, Amazon Photos and OneDrive — with filename/CSV date recovery and an Exit Report.
- NAS-ready: NAS-safe folder names plus Synology and Immich destination presets.
- Reorganized sidebar into Wizard-aligned sections for easier navigation.
Wizard Revamp & Safety Hardening
A new intent-based Get Started hub and guided flows for all major features, plus extensive data-safety hardening.
- Wizard Revamp: New intent-based Get Started hub covering all features. Guided flows for Google Photos Takeout, Duplicates, and Blurry photo cleanup. Guided AI Search flows (Find a Person, Screenshots) with quick-pick folder chips. Refreshed onboarding.
- Data-Safety Hardening: Extensive destructive-path audit closed: undo is now non-destructive and retryable, network moves never delete the only copy, merge/duplicate cleanup re-verifies before trashing, symlink/junction traversal guarded, and per-feature undo isolation.
- AI Search improvements: Reference photos now accumulate across picks; Person/Screenshot scans are mutually exclusive.
- Pricing: Price removed from in-app UI (shown on website / checkout only).
AI Search (beta) — find people & screenshots, 100% on-device
A new AI Search section brings on-device intelligence to your library — no photo or face data ever leaves your machine.
- Find a Person: On-device face search (YuNet detection + SFace embeddings) gathers every photo of a given person, with one-click Move to Folder on the matches.
- Screenshots: Automatically detect screenshots mixed into a folder and move them out of your photos in one click — now using content-based detection for better accuracy.
- Presets remember folders: Presets now store their source and destination, so reusing a workflow is a single click.
- Profiles always visible: The PROFILES picker is no longer hidden behind Advanced on the Organize page.
- Merge flags screenshots: Merge review now points out screenshots and suggests skipping them.
- Polish: Fixed-size processing dialog (no more sub-second size jitter) and a clearer free-tier notice. AI Search is free to try with a lifetime allowance; Pro unlocks the rest.
Merge: one-click "Keep All"
A faster way through the Merge Review step when you just want to keep everything.
- "Keep All" in Review: A new button beside Accept All Suggestions rejects every suggestion and merges all files — including duplicates and blurry photos — in one click. Nothing is ever deleted.
Windows dialogs fixed
Two display bugs that made the Windows app feel broken after an operation are resolved.
- Dialogs no longer break the app: The "Operation Complete" screen (and other dialogs) rendered raw and full-window, leaving the app unusable. They now appear as proper centered, modal cards.
- No more washed-out UI: The dialog host was permanently dimming the window; it now only dims while a dialog is actually open. Affects Organize, Events, Duplicates, Blurry and Merge.
Sticky Rename-with-Date & polish
Small but persistent fixes across the Organizer, Google Photos and duplicate flows — the kind that quietly make daily use smoother.
- Sticky "Rename with date": The Organizer toggle now persists across sessions instead of resetting to off on every launch.
- Google Photos header: The toolbar now shows a title, so the bar isn't empty before a scan.
- Smarter folder pickers: They now open at the field's current folder rather than the last-used path.
- Skip-All sticks: Choosing Skip-All in the duplicate dialog now persists correctly through the whole batch.
- Analytics: Organizer module rename and a first-launch event.
NAS scan — much faster & more responsive
Organizing photos straight off a NAS or SMB share is dramatically faster on both platforms — and on macOS the app no longer freezes while it scans.
- No more beachball (macOS): Folder listing and metadata reads now run off the main thread, so the window stays responsive throughout the scan.
- Much faster NAS scans: The metadata scan was rewritten around a single header read plus one file open per photo with real concurrency — roughly 0.2 → 15.3 files/s on a 10 MB/s NAS, matching the link's ceiling.
- iCloud accuracy: Online-only files are now downloaded before their metadata is read, so photos sort by capture date instead of sync date.
- Clearer feedback: A "Connecting to NAS…" message, a more accurate ETA, and a fixed exit after Pro activation.
- Windows: A single self-contained
FolioSort.exe, a network-wait hint while connecting to the source, and the same higher NAS scan concurrency.
RAW previews, unified icons & Google Photos lightbox
A polish release across all four modules — RAW and HEIC files finally show real thumbnails everywhere, icons are consistent, and you can send feedback without leaving the app.
- RAW & HEIC thumbnails everywhere: CR2/CR3/NEF and some JPEGs that showed a generic document icon in Blurry, Duplicates, Merge and the source grids now render real, higher-resolution previews.
- Consistent folder icons: Every source picker uses a blue filled-folder icon and every destination a green one, matching the Blurry/Duplicates look.
- Google Photos lightbox: Click any preview filename to view it larger — the same enlarge experience already in Duplicates and Blurry.
- Send feedback: A new sidebar button sends feedback straight to the team, with an email fallback when you're offline. Available on macOS and Windows.
Windows UX overhaul
A major usability rework of the Windows app — clearer page layouts, fewer duplicated controls, and two important persistence fixes — plus a telemetry parity fix on both platforms.
- Organize button restored (Windows): The primary action on the Organizer page is back — it had been unreachable outside the Wizard since the 2.19 visual refactor.
- Unified page headers: Organizer, Events, Rename and Google Photos now share one layout — utilities left, stats centre, search and primary action right. Duplicated source pickers and Scan buttons removed.
- Progressive disclosure: Destination options stay dormant until a scan loads files; filters, search and stat tiles appear only when they mean something. Move mode now warns that originals are removed from the source.
- Settings persistence fix (Windows): Theme and wizard/onboarding completion were silently reset on every launch — fixed. Pages also keep their scan results when you switch sections.
- Cleaner navigation (Windows): Grouped sidebar (Wizard / tools / Activity), consistent modal scan progress with a working Cancel, thumbnails toggle on Events and Rename, and Check for updates moved to Settings → About.
Privacy-first analytics overhaul
A cleaner, more private telemetry schema — less data leaves your computer, and what remains is anonymous and consistent across all four modules.
- Unified event schema: Organizer, Events, Rename and Google Photos Takeout now share the same anonymous lifecycle events (scan, operation, cancel, duplicate, file limit, undo), tagged by module.
- Less data collected: The masked license key was removed from launch telemetry.
- Upgrade-sheet fix: Choosing SHA-256 or a Pro duplicate strategy as a Free user now correctly opens the upgrade sheet (previously nothing happened).
- Accurate stats: Undo actions are now reflected in usage statistics, and upgrade prompts are counted once per presentation.
Cross-platform QA hardening
A unified macOS and Windows release that rolls up the quality-audit fixes from the 2.18.x line, with extra safety around overwrites and folder naming.
- Overwrite safety: If a copy or move fails, the original file is now restored in place instead of being orphaned in the Trash.
- Folder-name sanitizer fix: Invisible and zero-width Unicode characters are now stripped from generated folder names instead of being turned into
_.
- Windows QA hardening: All P0 and P1 issues plus the first P2 batch resolved, including a license-activation fix.
- macOS distribution: Signed with Developer ID, notarized by Apple, with Sparkle auto-update.
- Windows distribution: Portable self-contained x64 build — unzip and run
FolioSort.exe (see the included Install First guide).
FolioSort comes to Windows
FolioSort is now available natively on Windows 10 (1809) and Windows 11, alongside the existing macOS build. Same engine, same features, same Pro license unlocks both platforms.
- Native Windows build: 64-bit (x64), Windows 10 build 17763 (1809) or later. Distributed as a portable ZIP — no installer required.
- Feature parity: Organizer, Rename, Events, Google Photos Takeout import, smart folder templates, regex rename, and checksum verification all work identically on Windows.
- Auto-update on both platforms: Sparkle (macOS) and a matching update channel for Windows keep both builds current from a single appcast feed.
- Same Pro license: Your €14.99 Pro license now activates on both macOS and Windows.
- Pro features on Windows: RAW, cinema RAW (BRAW, R3D, ARRI), SHA-256, regex rename, persistent undo history. GPS reverse geocoding on Windows uses an equivalent provider to Apple's CLGeocoder.
Security & Stability — 14 issues resolved
A focused security hardening and stability patch covering license protection, data safety, and a wide range of edge-case fixes.
- License protection: ProManager no longer grants Pro status before server validation — Keychain injection no longer bypasses activation. Keychain items now use
WhenUnlocked accessibility and are non-synchronizable via iCloud.
- Data safety: Files overwritten in Organizer and Events now go to Trash, so they can be recovered if a copy or move fails. Pre-move size check prevents corrupted staging files from reaching the final destination.
- Undo reliability: Actor reentrancy in
undoLastBatch fixed — batch removed by ID, not by position. EventViewModel project save/load errors now surface to the UI.
- Events fixes: 3 simultaneous sheet modifiers consolidated into 1; drop-onto-source now triggers a file scan; directory creation for undo tracking is now atomic.
- Rename: Progress bar shows indeterminate animation during scan phase. Preview regex match count no longer updates on cancelled tasks.
- Accessibility: VoiceOver labels added to icon-only toolbar buttons (Undo, Thumbnails, Advanced Options) and file checkboxes.
Expanded Takeout Format Support
Significantly broader format coverage for Google Photos Takeout and general use, with smarter detection that goes beyond file extensions.
- New free photo formats: JFIF and JPEG XL (JXL) now supported.
- New free video formats: ASF, RealMedia (RM/RMVB), DivX, and XviD.
- New Pro RAW format: Leaf/Creo MOS.
- Magic-byte sniffing: Format detection now identifies JPEG XL, TIFF, WebP, and AVIF by file content, regardless of extension.
- CR2/CR3 masquerade detection: Google Photos stores Canon RAW uploads as JPEGs with the original extension — FolioSort now detects and processes them correctly.
Undo Button, Stats Bars & Sidebar Reorder
Three quality-of-life improvements that make batch organizing faster and more transparent across all modules.
- Undo button in toolbar: All main views (Organizer, Events, Rename) now show an undo button (↩) that activates after any organize or rename operation, letting you reverse the last batch instantly.
- Stats bar in Events and Rename: After scanning, Events and Rename now show the same stats strip as Organizer — Files, Photos, Videos, RAW, and Total Size at a glance.
- Stats bar in Google Photos: A new stats strip shows Files, Photos, Videos, Matched (with JSON sidecar), and files with No date after scanning.
- Sidebar reordered: The sidebar now follows a more natural workflow order: Wizard → Organizer → Events → Rename → Google Photos → Activity → Settings.
- Rename undo support: Rename operations are now tracked in the undo history, just like Organizer and Events.
Expanded Format Support — 20+ new file types
FolioSort now recognises significantly more photo, video, and RAW formats across all screens — Organizer, Rename, and Events.
- New free photo formats: WebP, AVIF, BMP, GIF, JPEG 2000 (jp2, j2k, jpf, jpx), and JPEG XR (jxr, wdp, hdp).
- New free video formats: 3G2, DV, VOB, MP2, F4V, OGV, OGG, M2T.
- New Pro RAW formats: PTX (Pentax), RAW (Leica), CAP (Phase One), K25 (Kodak), MEF (Mamiya), BAY (Casio), STI (Sinar).
- New Pro video formats: ARX (ARRI), CINE (Phantom), INSV (Insta360), LRV (GoPro proxy), OP1/OP2 (Panasonic P2), DNxHD (Avid), FCPVID (Final Cut Pro).
QA Audit — 30 bugs resolved
The most thorough quality audit since launch. 30 issues fixed across security, data integrity, UX, and correctness.
- Security: License validation now rejects HTTP 4xx responses, closing a potential MITM/proxy spoofing vector. Deactivation is blocked if the server can't confirm — your activation slot is never lost on a failed network call.
- Data integrity: Undo directory cleanup now skips old batches, preventing accidental deletion of user folders. Geocoding cache writes are atomic to prevent file truncation on crash.
- Template engine: Invalid patterns like
{Counter:-5} now show a clear error. Templates that evaluate to only dots fall back to "Unknown" instead of creating broken folders.
- UI fixes: Source folder picker is locked during operations. Start button disabled when folder template is invalid. Sidebar tab selection is now persisted across launches.
- Performance: iCloud downloads abort after 30 s without progress.
recentBytesLog capped to prevent memory growth on fast storage.
Stability hardening — ReDoS protection & safety fixes
A focused stability release addressing edge cases that could cause freezes, data loss, or incorrect behavior on large libraries.
- ReDoS protection: Regex preview now runs on a background thread with per-file cancellation. Pathological patterns like
(a+)+b can no longer freeze the UI.
- Back-reference validation: Regex replacement shows an error if
$N references a non-existent capture group, preventing silent rename failures.
- 255-byte path limit: Template engine validates and truncates folder/file components to the macOS filesystem limit, with a clear warning.
- Null Island GPS rejected: Coordinates
(0.0, 0.0) from cameras with no satellite fix are no longer geocoded or cached.
- License grace period survives cache cleaners:
lastValidated now stored in Keychain — third-party cache cleaners can no longer reset the offline grace period.
- Duplicate overwrite safety: "Replace if larger" fails explicitly if the existing file's size can't be read, instead of silently treating it as 0.
Auto-update — FolioSort now keeps itself up to date
FolioSort now checks for updates automatically (once daily) and notifies you when a new version is ready. No more manually visiting the website to stay current.
- Update notifications use the industry-standard Sparkle framework, signed with ed25519 — safe and verified.
- New menu item: Help → Check for Updates… for on-demand checks.
- No functional changes to Organizer, Rename, Events, or Google Photos in this release.
Maintenance update & site synchronization
Routine sync update accompanying the massive FolioSort website overhaul.
Google Photos Takeout Organizer
FolioSort Pro now features a dedicated tool to completely fix Google Photos Takeout metadata loss prior to organizing.
- JSON Sidecar Parsing: Automatically reads
.json sidecar files and restores the precise photoTakenTime.timestamp into the actual EXIF data of the image.
- GPS Restoration: Extracts GPS data from Takeout sidecars and writes them as standard EXIF tags.
- Duplicate Removal: Deduplicates photos that Google exported multiple times across different album folders.
- Truncated Filename Matching: Intelligently matches 47-character truncated filenames to their sidecars.
Events layout redesign & Wizard flow overhaul
The Events tab has been completely redesigned and the Wizard now guides you through every step without leaving the flow.
- Events tab — new layout: Left panel handles event creation (groups & sub-events with time ranges); middle panel combines source folder, destination, Copy/Move toggle, Unmatched option and scan settings in one place. Panels are resizable by dragging the dividers.
- Wizard — Events flow reworked: Step 1 defines event groups and sub-events; Step 2 sets source & destination, mode and scan; Step 3 shows a full preview of which files go where before you start.
- Wizard — Organizer & Rename review step: After the file integrity message, a FILE PREVIEW now shows a sample of files with their before → after transformation.
Events Wizard step-by-step flow & bug fixes
The Events mode in the Wizard now walks you through all steps inline, plus a round of targeted fixes:
- Events Wizard: Step 1 — select source (auto-scan); Step 2 — configure event groups, time ranges and destination; Step 3 — review summary before starting. Kicks off the operation and takes you straight to the Events tab with live progress.
- Fix: Event undo and duplicate actions were incorrectly tracked as Organizer analytics events — fixed.
- Fix: Organize analytics now only fires after all validation passes.
- Fix: Events organizer now correctly counts verified files (was always showing 0).
- Fix: Organizer duplicate resolver now has Esc (Skip) and Enter (Replace if Larger) keyboard shortcuts, matching the Events duplicate sheet.
- Fix: Events tab in the sidebar is now disabled for Free users instead of showing the full UI before hitting the paywall.
Setup wizard is easier to navigate
Small but important tweaks to the new step-by-step setup flow introduced in the previous version:
- The "Next" and "Start" buttons no longer disappear behind the status bar at the bottom of the screen.
- Choosing "Events" mode now takes you straight to the Events tab — no extra steps.
- The Organizer and Rename tabs now show a direct link to advanced options like folder templates and regex rename (Pro).
Step-by-step setup wizard for new users
Getting started with FolioSort just got much simpler. A new Wizard tab walks you through organizing your files in four clear steps — choose what you want to do, pick your files, configure the settings, and press Start. No manual needed. Also: FolioSort has a fresh new icon designed to match its identity.
Faster, more reliable transfers — especially on external drives
Under-the-hood stability improvements that matter when moving large batches of files:
- Moving multiple files in parallel is now more stable and no longer stalls unexpectedly.
- Large operations complete noticeably faster.
- Files stored on ExFAT drives (common on external hard drives and SD cards) are handled correctly.
Pro license activation now works reliably
Some users were entering their license key and seeing an error even when the purchase was valid. This is now fixed — activating your Pro license works correctly every time.
Installation is simpler — guide included in the download
The FolioSort download file (DMG) now includes a built-in "How to Install" guide so you always know what to do — even if you don't have an internet connection. The installer also has a drag-to-Applications shortcut right inside, making setup faster.
New app icon and a cleaner installer
FolioSort now has a distinctive icon — a navy background with layered photo cards and an orange folder accent — so it's easy to spot in your dock and Applications folder. The installer has also been refreshed with a cleaner layout.
Fixed "App is damaged" error on first launch
Some Macs were showing a "the application is damaged" error from macOS Gatekeeper when launching FolioSort for the first time. This is now resolved. Also fixed: Pro features were incorrectly appearing as active for free users.
FolioSort Pro is now available — one-time purchase, no subscription
You can now unlock FolioSort Pro directly from within the app. It's a one-time payment (no recurring fees) and your license is stored securely in your Mac's Keychain.
- Works on multiple Macs — transfer your license anytime.
- 7-day grace period if you're temporarily offline.
- License is re-validated automatically every 24 hours in the background.
86 bug fixes — the most thorough QA pass yet
A comprehensive round of quality assurance addressing 86 issues found during testing. The most important fixes:
- Prevented rare cases where an operation could keep running after being cancelled.
- Fixed a crash that could occur when processing certain files.
- Eliminated a potential data race that could cause unexpected behavior during large transfers.
- Improved accuracy of the time-remaining estimate shown during operations.
- Fixed several edge cases with duplicate file handling and folder scanning.
Organize directly from NAS drives, Synology, and iCloud (Pro)
FolioSort Pro can now read from and write to network locations — Synology, QNAP, SMB/AFP network shares, and even iCloud Drive. No need to copy files to your Mac first.
- Your network volumes are detected automatically and shown with a clear badge.
- iCloud-only files are downloaded on demand before processing.
- Transfer speed is shown in real time, and retries happen automatically if the connection drops briefly.
- A warning appears if you're running low on disk space before starting a large operation.
FolioSort 2.0 — Free tier and Pro unlock
FolioSort now has two tiers: a free version for everyday use, and a Pro upgrade for power users who need unlimited operations and advanced features.
- Free includes: up to 100 files per operation, 3 saved presets, standard photo and video formats, file integrity verification, and undo.
- Pro unlocks: unlimited files, all 7+ folder and rename presets, custom template builder, saved profiles, RAW formats, SHA-256 verification, 50 undo batches, GPS reverse geocoding, and regex rename.
Custom folder patterns, GPS location sorting, and regex rename
A major feature update that brings professional-grade organization tools to FolioSort:
- Custom folder templates: build your own folder structure using tokens like year, month, camera model, ISO, aperture, and more.
- GPS reverse geocoding: automatically sort photos into folders named after the city or country where they were taken — powered by Apple Maps.
- Regex rename: use Find & Replace with regular expressions for advanced file renaming.
- Presets & profiles: save your favourite configurations and switch between them instantly.
- Onboarding wizard: a 3-step guide that appears when you first launch FolioSort.
Cleaner folder settings and faster scanning
The folder structure panel is now simpler by default, with a dropdown to pick common patterns — and an "Advanced" toggle that reveals the full template builder when you need it. You can also now skip thumbnail generation to scan large folders significantly faster.
Drag & drop support and real-time progress with ETA
The first major usability update — making FolioSort feel like a native macOS app:
- Drag a folder directly from Finder into FolioSort to add it instantly.
- A progress bar now shows you how far along an operation is, with a live estimate of time remaining.
- Operations can be cancelled at any point.
- File thumbnails are shown next to each file after scanning, so you know exactly what FolioSort found.
- Operations can now run on multiple files at the same time for faster throughput.