Ghost FTP 0.95.17 — Transfer correctness, SAF recovery and UI interaction QA
User-visible improvements
- An interrupted Android cloud download with damaged recovery details can no longer silently disappear from the recovery workflow. The app shows a visible warning, disables another cloud upload/download and requires an explicit user decision.
- The Android recovery action buttons have accessibility descriptions so they remain discoverable to assistive technology and automated click-through QA.
- Windows/Linux and Android/macOS packaging and security regression checks remain release blockers.
Verified only after exact-head CI
- The protocol E2E job performs real FTP, explicit FTPS and SFTP upload, listing, rename, download, exact-byte comparison and cleanup of 1, 65,535, 65,536, 65,537 and 262,147 byte deterministic binary files.
- Existing large-file resume/cancel, TLS certificate and SSH fingerprint scenarios remain required.
- Android instrumentation must click the recovery/Keep actions after activity recreation, validating clean and tampered journal states.
- Native screenshot QA may promote only real installed Windows application images from the exact build. The supplied 75 visual concepts are not screenshots and are not used as functional UI backgrounds.
Not yet accepted
Neither full 75-screen pixel-exact Windows/Linux/Android fidelity nor every visible control on every OS is proven by this incremental test matrix. Android SAF #127 still requires physical devices Android 8–15, real DocumentsProvider behavior, app kill, revoked permissions, disk full, 0-byte and 1 GiB test evidence. Cloud OAuth #128 still requires registered accounts, system-browser wiring, protected refresh-token storage, listing/paging/upload/download and live third-party testing on Android/macOS. Neither issue should close without those criteria.
Previous published release: v0.95.16.