Dual-Pane File Manager
Changelog
Release history and notes for EmpiricCommander.
v1.5.8
LatestJune 2, 2026
Fixes a sign-in issue where a Mac that had been offline for a few days could get bounced to a re-login prompt even though the Pro license was still valid. Being offline no longer signs you out - your license stays active and the app reconnects on its own when the network is back. Also cleaned up the sign-in dialog layout and made offline sign-in attempts fail fast instead of hanging.
v1.5.7
May 27, 2026
Clicking files in a remote SFTP folder no longer freezes the UI. The file list, the preview side panel, and the right-click context menu were all running local filesystem checks (git status, permissions, symlinks) on paths that look local but aren't - on macOS this triggered the system auto-mount handler under `/home` and blocked the main thread for hundreds of milliseconds per click.
- **Snappier remote browsing.** Selecting files in SFTP / FTP / S3 / WebDAV / Dropbox / OneDrive / GDrive folders is instant again. Right-click also opens immediately instead of stuttering.
v1.5.6
May 27, 2026
Polished the transfer overlay so a single copy no longer shows the same progress in three places at once.
- **Cleaner transfer feedback.** When the full-detail progress modal is open the queue summary above the shelf and the bottom-right status pill both step out of the way. Minimise the modal and the ambient indicators come back so you can click to re-expand.
v1.5.5
May 27, 2026
SFTP downloads now stream chunk-by-chunk instead of buffering the entire remote file in RAM before writing to disk. The "0% for minutes then jump to 100%" symptom on multi-gigabyte downloads is gone — progress now reflects real download speed from the first chunk.
- **SFTP streaming downloads.** Memory footprint bounded to one 1 MB chunk regardless of file size. Multi-GB downloads no longer OOM on iPhone/iPad and the progress bar starts moving immediately.
- **Clearer transfer overlay.** The bytes line ("0 B / 200 MB") now shows as soon as the total is known, instead of staying blank until the first chunk arrives. Speed (MB/s) and ETA populate per chunk.
v1.5.4
May 27, 2026
**Transfer progress now reflects real upload speed.** The progress bar previously pegged at 100% the moment your local file was read and then sat there for minutes while the upload finished — now bytes are counted as they actually land on the remote. Affects FTP, SFTP, Azure, Dropbox, WebDAV, Google Drive, OneDrive, and SMB transfers.
**Multi-gigabyte SFTP and SMB uploads no longer load the whole file into memory.** Chunks are pulled from the source one at a time and pushed straight to the wire, so memory footprint stays bounded regardless of file size. Fixes out-of-memory crashes on iPhone / iPad when sending large videos or disk images.
**Duplicate scan filter now remembers what you set per folder.** First time on `~/Downloads` you tune the exclude globs and minimum size; the next visit reuses them. New **Skip this dialog next time** toggle starts the scan immediately on reopen — click **Edit Filter** in the results header to come back.
v1.5.3
May 24, 2026
**Archive (ZIP) creation no longer freezes when the destination already exists.** Picking "Zip" on a folder whose `.zip` already sits alongside it now asks Replace / Keep Both / Skip instead of hanging on a stuck progress dialog.
**Update dialog renders release notes as Markdown.** Inline emphasis, code spans, and bullets format properly; users on 1.5.3+ will see this nicely from 1.5.4 onwards.
**Telemetry endpoint sanitization.** Defense-in-depth: the diagnostic telemetry uploader strips query strings and fragments before recording, matching the server-side `stripQuery()` already in place.
v1.5.2
May 20, 2026
### What's new in 1.5.2
- **Transfer panel: honest progress UX.** Scan phase now shows an indeterminate spinner with a live "Scanning <folder>: N file(s) / M folder(s)" label instead of a stuck 0% bar over a misleading "Zero KB / X KB" line.
- **Large remote copies driven by real wire bytes.** SFTP transfers > 10 MB drive the progress bar from `TransferManager` byte counts; previously the bar jumped from 0% to 100% at the end. Speed (MB/s) and ETA now populate live.
- **Cancel feedback.** Clicking the X on an active transfer flips the label to "Cancelling…" and dims the button. In-flight remote calls (FTP LIST, SFTP recursive walk) can take a few seconds to honor `Task.cancel()`; the new state removes the silent-freeze feel.
- **Transfers panel auto-sizes to content height.** Single active transfer no longer reserves a giant empty pane below the row.
v1.5.1
May 19, 2026
v1.5.1 — stability + Dupes upgrade
SFTP cross-provider copy: scan + copy now run in a parallel pipeline, eliminating the multi-minute "Analysing" stall on multi-thousand-file folders and the Citadel.SFTPMessage.Status error 1 (EOF) some long batches hit.
Theme picker: Light/Dark/System now correctly disables itself when the selected Color Theme has a fixed scheme (no more invisible icons when forcing Light mode with Midnight / Rosé Pine / Dracula).
Duplicate Finder: scans run in the background. Close the window or tap "Run in Background" and the scan continues — progress shown in the bottom status footer. Reopen Dupes on the same folder and the view re-attaches to the running job.
Duplicate Finder: scan options before starting. Include only selected file categories (Images / Video / Audio / Documents / Code / Archives / Other), set min/max size, and exclude glob patterns. Eight sensible default excludes ship out of the box (node_modules, .git, build, .next, dist, .cache, Pods, DerivedData).
v1.5.0
May 14, 2026
Git Projects (macOS). When the active pane is inside a Git repository, EmpiricCommander now shows a branch chip, a Git toolbar menu (Status, Commit with Stage All, Discard All, Stash, Switch Branch, Pull/Push/Fetch), a Log master-detail view with a branch/merge topology graph, a per-file context menu (Stage / Unstage / Discard / Show Diff), and SF Symbol status badges on file rows. Built on AsyncSwiftGit and a forked static-libgit2 with libgit2 1.9.1.
Docker / Lima / Colima containers (macOS). A new toolbar menu auto-discovers every Docker, Colima, and Lima socket on the machine and lists their containers. Click any container to open a new tab at its root and browse its filesystem read-only.
Locked Shelf. A new encrypted compartment inside the Shelf for credentials, recovery codes, and anything you don't want sitting in plaintext. AES-GCM at rest with a key derived from your passphrase via PBKDF2. Available on macOS, iPad, and iPhone.
iOS Files app integration (iPad, iPhone). EmpiricCommander connections now appear under Locations in the system Files app. All six remote providers (WebDAV, SFTP, S3, Google Drive, Azure, FTP) enumerate against the live backend through the new File Provider extension, so other apps can share, import, and export through EmpiricCommander without leaving Files.
Disk Usage drill-down + Top-10 (macOS, iPad). The treemap now supports drilling into subfolders with a path stack, breadcrumb, and Up button. A Top-10 sidebar lists the largest items in the current scan. Right-click → Delete with confirmation works in both bar-list and treemap modes.
Faster launch. The "Checking license..." screen is gone for users with a cached license or active trial. Verification runs in the background and the app opens instantly.
Google Drive integration redesigned. EmpiricCommander now uses Google's privacy-first drive.file scope: you pick the specific files or folders you want EmpiricCommander to access through Google's native Picker. The app never sees your full Drive. See the new docs page at /empiric-commander/docs/google-drive for the walkthrough. Existing Google Drive connections from v1.4 show an orange "Update Access" button on first launch; click it once to re-authorize under the new scope.
Localized paywall pricing. The in-app paywall now shows the correct price for your region, read from StoreKit. The hardcoded $29.99 USD string is gone.
Security & dependencies. Rebuilt the git stack on libgit2 1.9.1, libssh2 1.11.1, and OpenSSL 3.0.16, closing CVE-2023-48795 (Terrapin) and the libgit2 ≤ 1.6 heap-corruption advisory. Forked static-libgit2 to mburlac/static-libgit2 with explicit MIT licensing. Citadel upgraded 0.9.2 → 0.12.1. Every dependency is MIT, Apache, or BSD; no GPL/AGPL/LGPL anywhere, and every pinned version is CVE-free at release time.
v1.4.1
May 12, 2026
First iOS and iPadOS release. Now available on the App Store: https://apps.apple.com/app/empiriccommander/id6763745217. Dual-pane on iPad, single-pane on iPhone with Browse / Shelf / Cloud / Settings tabs. 8 storage backends out of the box: Local, iCloud Drive, SFTP, FTP, WebDAV, Amazon S3 and S3-compatible, Azure Blob, and Google Drive.
macOS 1.4.1 changes
- macOS Help menu now opens documentation on empiricapps.com instead of macOS's built-in "Help isn't available" dialog. Cmd+? launches the docs landing page; Keyboard Shortcuts and Release Notes have dedicated items; Send Feedback opens mail to support@empiricapps.com.
- Dragging a file out of a ZIP, 7z, or RAR archive into Terminal or Finder now pastes the real extracted file path. Previous builds pasted either the in-archive path or SwiftUI's empty drag-preview cache directory.
- Multi-device session isolation: signing in on Mac no longer kicks your iPhone, and vice versa. The same fix applies to email-login flows, which now bind to hardware identity from the start.
- Google Drive resumable upload for reliable large-file transfers. The transfer panel auto-dismisses when the queue is empty.
7-day free trial. $29.99 one-time purchase covers all v1.x updates and runs on up to 3 devices (1 Mac + 1 iPad + 1 iPhone).
v1.1.0
April 8, 2026
Bug fixes and improvements.
v1.0.0
April 6, 2026
Professional dual-pane file manager for macOS, iPad, and iPhone.