Releases: ramanbanka/ferry-releases
Release list
Ferry 0.4.0
-
Now you have an option to browse your phone over Wi-Fi. Run
ferry pairin Terminal
once and it appears in Finder whenever it is on the same network as your Mac — no cable,
nothing plugged in.Note: Wi-Fi can be up to 9x slower than a cable. 4K video played straight from the phone
may buffer. -
Plug in using USB and mounts speed up automatically. Unplug and they go back to Wi-Fi.
-
ferry statussays which one you are on. -
Long sessions stay tidier. Connecting and disconnecting repeatedly no longer leaves
anything behind.
Ferry 0.3.0
Browsing is faster.
Changed
-
Photo folders scroll better. Pause for a moment and the rest of the folder is
ready before you reach it — a second screenful that took about 115 ms per photo now
takes about 3 ms. Going back to a folder you were in earlier is immediate. -
Thumbnails load about 25% faster and video plays about 15% faster, throughout.
Fixed
-
Watching a video no longer makes the surrounding folder slow again.
-
Re-reading part of a file no longer costs you previews you had already loaded.
Ferry 0.2.1
Fixes a Homebrew install that left Ferry unable to find adb or post its own
notifications. Anyone who installed 0.2.0 with Homebrew should upgrade.
Fixed
-
Homebrew installs could not find adb or terminal-notifier. Ferry records where its
helpers live when it registers with launchd, since a background agent gets no shell
environment. It looked them up onPATH— but Homebrew does not run a cask's install
step with yourPATH; it substitutes its own. So nothing was found, and the agent
started with only the system directories: no adb server could be started, and
notifications fell back to being branded "Script Editor".Ferry now asks Homebrew where its programs are rather than trusting
PATH, and looks
again at runtime, so a helper installed after Ferry is picked up without reinstalling.Only Homebrew installs were affected.
ferry enablerun by hand from a terminal
worked, which is why this was not caught before release.
Ferry 0.2.0
The commands changed. Ferry now explains itself when a phone will not mount.
Upgrading from 0.1.1
brew upgrade --cask ferry does not work from 0.1.1, because the upgrade runs the
old version's uninstall step and that version does not have the command the cask now
calls. Remove it first:
brew uninstall --cask ferry
brew install --cask ferryChanged
-
New commands.
install,uninstall,devicesandagentare gone.Was Now ferry installferry enable— register with launchd and startferry uninstallferry disable— stop and deregisterferry devicesferry status, which already listed phonesferry agentferry run, and it is no longer advertisedNew:
ferry start,ferry stopandferry restartact on Ferry now without
changing whether it runs at login, andferry logfollows the log. -
ferry stopnow works. The launchd job used to restart the agent on any exit,
so there was no way to stop it. A deliberate stop is now distinguished from a
crash: stopping stays stopped, crashing is still recovered.
Added
- When a phone cannot be mounted, Ferry says why: USB debugging switched off, the
phone not yet allowing this Mac, adb not installed, or the phone not responding.
Each explains what to do, and the message closes itself once the problem is
resolved or the phone is unplugged.
Fixed
- Notifications were attributed to "Script Editor" when
terminal-notifierwas
installed somewhere unexpected. - A phone with a memory card logged every connect and disconnect twice, and named
itself by serial number in some messages and by model in others. - A phone missing for a single moment — a jostled cable — caused both volumes to
unmount and remount, with four notifications. - Browsing a folder wrote a log line for every file in it, because Finder reads each
one to draw a thumbnail. The log records what Ferry did, not which files were
opened. - An unplugged phone was logged as an error. It is expected, and Ferry recovers.
- The log is timestamped. It was not, unless Ferry was run by hand with
-v.
Ferry 0.1.1
Fixes data loss on a common path, and reads are faster.
Fixed
- Renaming a file could lose its contents. Writes are buffered until a file is
closed, and a rename moved the file without flushing them first — so the move
carried an empty file and the buffered data was discarded. This was reachable by
ordinary use: apps save by writing to a temporary name and renaming it into place,
so editing a file on the phone and saving could lose the edit. - Truncating a file did nothing. Shortening a file left it at its original length
and reported success, so anything relying on truncation silently got the wrong
result. Shrinking and growing both work now, and growing zero-fills. - Deleting a file that did not exist reported success instead of "no such file".
- A phone whose internal storage is not at
/storage/emulated/0could not be mounted
at all;/sdcardis now used as a fallback. - A phone that cannot be mounted now says so, once, instead of retrying silently
forever while nothing appears in Finder.
Changed
- Reads are about 17% faster — 21 to 25 MB/s on the phone this was measured against.
Two concurrency limits were set below what the transport sustains. - Mount directories use underscores rather than spaces, so paths can be typed in a
terminal without quoting:~/Ferry/SM_G781B_SD_card. Notifications and Finder's
sidebar are unchanged.
Internal
- The conformance suite covers the write path — WRITE, CREATE, MKDIR, REMOVE, RMDIR,
RENAME and COMMIT had no automated coverage, and the RENAME data loss above was
found by adding it. 31 checks, up from 18. - A read-throughput floor, since the speed regression above went unnoticed for want of
anything measuring it.