Ghost FTP 0.95.11 — connection review follow-up
Unpublished development candidate. Last verified public release: v0.95.10, immutable source a74d0515d74501ef99b7dfd4bcca26f92ecf7d8a, 21 artifacts.
Source improvements
- Windows/Linux: Required Username remains accessible on narrow and short Files workspaces; Quick Connect connection status now reports Connecting, Connected, Failed and Disconnected from the actual application store.
- macOS: Opening a saved site from Sites discards the abandoned unsaved New connection draft.
- Android: Restoring a saved site or settings backup preserves its exact custom port. A superseded Spinner event is ignored, and ordinary user protocol changes only replace actual defaults. Added JVM regression cases for same-item callbacks and edit/switch/revert sequences.
- Privacy: Temporary desktop sessions no longer keep passwords or private-key passphrases in the displayed in-memory Site profile after successful transport establishment.
- Android Saved Sites: Add explicit Edit and confirmed Remove actions, alphabetical profile inventory, case-insensitive name collision protection and fail-closed preservation of unreadable pre-existing storage. Kotlin/JUnit tests check that edits or deletions do not modify unrelated entries.
- QA: Strengthen the premium Files contract to catch regressions in compact layout, saved-site navigation and port preservation.
Required independent acceptance
- All six GitHub Actions workflows must pass on the exact final source SHA.
- Validate Windows/Linux compact layouts using installed application captures, macOS navigation with saved and unsaved Sites, and Android custom-port selection on physical devices.
- Revalidate FTP/FTPS/SFTP E2E, safe disconnect and production packages without weakening tests.
- Compare real application screenshots with the 75 registered user-approved concept reference screens; concepts themselves do not prove 1:1 parity.
- Issues #127 (SAF transfer recovery) and #128 (account-level cloud OAuth) remain open until all acceptance conditions are proven.
Release policy: v0.95.10 is immutable. Do not publish v0.95.11 until every required gate is satisfied. The macOS FTPS/SFTP session engines are still unavailable; signed Android store bundles and notarized macOS distribution are not established by a preview build.