Ghost FTP 0.20.8
Release cycle: 0.20.8 patch release candidate
Cycle date: 1 October 2026
0.20.8 follows published 0.20.7. Publication is authoritative only when an immutable v0.20.8 GitHub Release exists at the verified source SHA with the required assets.
Changes in this cycle
Cross-app file-action parity
Android gains a real Rename action backed by each supported protocol client:
- FTP:
FTPClient.rename - Explicit FTPS: the same FTP rename operation over the protected TLS session
- SFTP:
ChannelSftp.rename
The Android Delete action now handles either a remote file or an empty remote folder. It never performs recursive folder deletion. Remote root rename/delete remains blocked.
Folder rows keep normal tap-to-open navigation. Long-press selects the folder for rename/delete and moves to the Transfers workspace.
Working Android Settings
The previous informational-only Settings surface is replaced with working controls:
- Clear Activity
- Reset Transfers
- Reset Connection
- Disconnect
These controls mutate real application/session state and are covered by emulator click-through smoke tests.
Lifecycle and state
- Rename target is treated as non-secret UI state and survives Activity recreation.
- Passwords still never survive Activity recreation.
- Active authenticated sessions are not restored after Activity recreation.
- Disconnect/activity destruction still cancels active operations and clears in-memory credentials.
Regression enforcement
The Android production contract now requires:
- Rename toolbar wiring.
- FTP/FTPS/SFTP rename backend calls.
- File + empty-folder delete support.
- Working Settings actions.
- Instrumentation coverage for shared actions and Settings controls.
Publication requirements
The exact source intended for v0.20.8 must pass, on the same head SHA:
- Ghost FTP quality
- Ghost FTP protocol E2E
- Ghost FTP native build
- Ghost FTP Android
- Validate Windows hardening
The canonical release must contain the verified Windows, Linux, Android, source/documentation and checksum assets required by the release workflow.
Version status
0.20.8 remains in the pre-1.0 release train. Passing CI and publication gates does not by itself claim 1.0/FINAL product acceptance.