Ghost FTP 0.95.8 — Android cloud stage recovery (development candidate)
Not yet published. Canonical public predecessor: v0.95.7 on immutable source a91f00a886eceb1d0b0c4a3f40702710a6261632 (21 release assets). Source version 0.95.8 declares previousVersion=0.95.7 and previousPublishedVersion=0.95.7.
Changes
- Android's first Activity creation in a newly started process cleans up orphaned private download-stage files left if a previous process died before reaching transfer
finally. A once-per-process guard prevents deletion of live transfer stages after later Activity recreation. - The sweep deletes only regular, strictly named
ghostftp-cloud-[token].partfiles in the application's private cache directory. It excludes directories, symbolic links, SAF documents and unrelated files. - JVM regressions cover cleanup of an actual
File.createTempFilestage, preserved unrelated content, excluded lookalikes and directories, repeat cleanup idempotency and absent cache roots. - All shared Android/Go, Windows/Linux desktop and Rust workspace versions, updater metadata, release notes and public-predecessor documentation are aligned to source
0.95.8.
Mandatory verification
Require all six exact-head GitHub workflows (Quality/Rust, Android JVM/lint/emulator/APK/AAB, macOS, Windows/Linux native packages and installer smoke, Windows hardening, FTP/FTPS/SFTP real-protocol E2E), then verify release package contents, checksums, and immutable new tag before claiming a public version.
Explicit limitations
JVM tests do not prove crash recovery for third-party SAF providers or real Android 8–15 process death, revoked permissions, background suspension, rotation, full disk or 1 GiB transfers. This mitigation does not remove remote partial uploads or provider-created destination documents. #127 remains open. DNS/proxy/provider validation (#126), OAuth PKCE account browsing (#128), production-signed Android, notarized macOS, and full installed-application 75-screen pixel parity remain unverified.