Repository navigation
About 50 bug fixes and small improvements, lots of them for phones, ejecting, and the drive index. Ukrainian lang added.
Thanks for the reports and requests, keep them coming!
Added
- Show images, HEIC, and PDFs in F3 on every server and phone, with progress and Cancel on slow ones (6c3baa9)
- Add Ukrainian: the whole app and its native menus (26eeec7, d33353c, 449904b, 739edf0, b5b4f05)
- Browse DFS links inside an SMB share: listings, copies, moves, and live updates follow the link, a dead link only
blocks what's behind it, and Cmdr asks before signing in to a different server (6cade25, 8469bd0, 3aa9583,
1b1d5b1, 5af4634, df64fac, afb5381, f238475, 45d49a7) - Ask Skip or Skip all when the destination refuses a name, for a file or a whole folder (de5c6bf, 7d6f7b3,
f92d6a9, 3378965) - Copy symlinks as symlinks between volumes where the destination can hold them, and count them as skips where nothing
can land (0893e5e) - Switch the filter badge between Filter and Jump with ⌃S (fc087e0)
- Jump by typing in the Servers view and a server's share list (b475192)
- Add "Eject all", which refuses before unmounting anything while an app holds one of the drive's volumes (3c16245,
6a2abe6) - Show a phone Cmdr is waiting on in the volume switcher, with what to do next (10eddb3, 9c48105)
- Add other group IDs to saved NFS places, so files readable only through one of them open (b5856b1)
Changed
- Keep browsing an SMB share responsive while a copy runs on it (c88ec30)
- Copy compressible files to and from Android phones faster (up to 2.3× pushing, 30% pulling) (0e9eb37)
- Eject only that volume while its drive keeps others mounted, like Finder (3c16245)
- Make ⌃M with nothing selected rename only the file under the cursor, and wait for a changing folder to settle
(f94671f, 203d9ef) - Bring back F2 cycling the rename selection, stop ⌥← / ⌥→ at the extension's dot, and show
tar.gzas one extension
(45ea6a5) - Say so in a calm note when items you delete are already gone, with no error dialog or report (3117322, df69055,
208f7cc, dd8d560) - Give every click target a 24-by-24 square, including one-letter folders and the foot of the pane divider (1ed5ae0)
- Show packages macOS knows about, like
Logo.sketchbundle, with their icon, and warn when renaming them (9fc8101,
10f9bed) - Let Ask Cmdr's rename check run as long as a slow NAS needs, with progress and Stop, and say why nothing happened
(73903a6) - Make Ask Cmdr cheaper on GPT-5.6+ and OpenRouter-to-Claude with prompt caching, and price cached tokens right in the
cost meter (6d57d5e) - Keep thinking on in Ask Cmdr: the Effort picker has no "Off" anymore (40dd813)
- Offer local AI only on macOS 14 or later, where its server can start (83b5a02, 4103a95, 9047e50)
- Explain in your language why only one Cmdr can run when you open a second (b71b3b3, 592f2bc, d1994fb)
- Allow no outside host at all in the app's content security policy (971549b)
Fixed
- Fix right-click Services showing only a few items on macOS 27 (6554cc8)
- Fix a crash from toggling a drive's indexing off, forgetting it, and turning it back on during its first index
(8d1f97c) - Fix forgetting a drive while its indexing was stopping leaving the index on disk (3bddd5f)
- Fix a relaunch after a long compile re-walking the whole drive (b6e0892, aff7e0d, d13df19)
- Fix the index trusting old rows after a drive's change journal was wiped (ebbbd3d)
- Fix an interrupted folder read dropping real files from the index (2a2792f)
- Fix a pane keeping a stale row for minutes when macOS lost its change history (53d9d37)
- Fix Rescan doing nothing on a drive whose index wasn't running (60f6513)
- Fix a phone's index walk freezing or marking healthy folders unreadable while you browse (09b3447, 85f646b)
- Fix a replugged phone staying missing after you tap Allow (47fb022)
- Fix a USB cable pulled mid-copy reading as a failed copy with a report button (6873c9c)
- Fix one broken file name failing a whole phone folder (f5317ff)
- Fix folders an Android phone won't open showing as empty (dcef1a3, d87973e)
- Fix Android phones showing no free space until opened, and appearing twice while waiting for Allow (8fded62)
- Fix refusals from phones and servers giving macOS privacy advice instead of saying who refused (8d44690, 3ea2fb8,
c08f1c9) - Fix ejecting a drive with an open disk image on it saying to wait, when the image has to go first (5edfe3f)
- Fix two Cmdrs sharing one drive index or splitting each other's logs (6b9176b, eae610e, 0d4be5e, e2e86b5)
- Fix a retried copy leaving its temp file behind until the next launch (d9ac950)
- Fix canceled Nextcloud uploads sometimes leaving chunks on the server for a day (ea6b2cc)
- Fix "file already exists" prompts showing two identical-looking sizes: now exact bytes, or "(same size)" (fb4db79)
- Fix the extension-change dialog reading "Use ." and its "Keep" button sometimes doing nothing (c997aa3, 45ea6a5)
- Fix AI search showing the previous query's steps, and a slow old answer overwriting newer filters (d213045,
9206b85) - Fix Stop on an Ask Cmdr turn picked up after a reload (ba4fb9b)
- Fix folders with a Finder symbol or emoji missing Cmdr gold (75e1244, 36f69b2)
- Fix a window-sized focus ring when switching a Markdown file to formatted view (64b8c09)
- Fix the mouse wheel and file drops doing nothing on the right pane's first 8 px (85eef9d, 1ed5ae0)
- Fix keyboards not being able to remove a shortcut, and VoiceOver missing controls nested in Settings and Search
(4059d3d) - Fix VoiceOver not reading the Servers view's hosts and shares as lists (96ebeec)
- Fix error reports dropping the log lines right before the failure (726a7bf)
- Fix a harmless browser notice sending automatic error reports (e18bac7, 40dd627)
- Fix MCP reporting failure for a copy that went ahead when the UI answered slowly (aa9f6f6)
- Fix Linux boot indexing crawling network shares under the home folder, and counting reserved space as used (f38059e,
2cab6c1)
Security
- Stop a malicious SFTP server from exhausting memory or stalling uploads:
russhGHSA-4p9f-7p9m-5vfg (medium) and
GHSA-fw5c-8223-6h42 (medium), Cmdr 0.40.0–0.57.0 (5d53602)
Non-app
- Sign every commit
pnpm landputs onmain, and require signed commits there (1d05324, 5b3100f) - Re-verify getcmdr.com/trust on every release, and re-evaluate the accessibility report (1cf3010, 069538e,
d05f02c) - Gate every release tag on the pre-release checks and on complete Security lines (b8e59e4, 94974cc, 4b4df6b)
- Copy the whole Homebrew cask into the tap on each release (791180f)
- Drop the last
zip4.6.1 from the dependency graph (9eb5857, e935c66) - Speed up local checks and Playwright builds (2cbde14, 91fef89, d22357d, 485d4d9)