Ghost FTP 0.0.5
Privacy-first FTP, FTPS and SFTP desktop client for Windows and Linux.
Release channel: Current.
GitHub prerelease flag: false.
Highlights
Windows lifecycle and re-entry reliability
- Added explicit profile-mutation ownership so encrypted profile save/delete work cannot be launched concurrently from duplicate or stale commands, and application close cannot terminate the process while that persistence mutation is still in flight.
- Hardened shared Windows modal loops so nested premium dialogs and the built-in Remote Text Editor preserve process-level
WM_QUITrather than swallowing an application shutdown request. - Added local and remote file-mutation guards around create-directory, rename, delete and remote permission changes. Conflicting mutation controls are disabled only for the relevant side while unrelated navigation/transfer work keeps its existing availability policy.
- Preserved code-level guards behind UI enablement so stale command delivery cannot bypass the mutation state.
- Kept Remote Edit session work serialized across open/save/reload/close cycles so one editor session cannot be re-entered into a parallel stale session while asynchronous work is completing.
Android lifecycle stability
- Bound every in-flight FTP/FTPS connection attempt to the owning Activity lifecycle.
- Added a non-blocking pending-session abort path so Activity destruction/recreation can cancel the socket-open/TLS connection race without waiting on UI-thread cleanup.
- Reject stale connection success/error callbacks after the owning Activity is destroyed, preventing a late connection result from restoring a session or mutating an obsolete UI instance.
- Preserved strict explicit FTPS certificate/hostname validation, SAF-only local storage, staged transfer commit/cancellation safeguards and the existing Android development-only publication boundary.
Browser companion source
- Added optional Ghost FTP companion extension source packages under
ekstenzije/for Chrome, Microsoft Edge, Opera, Brave, Vivaldi and Firefox. - Kept the companion scope intentionally narrow: supported
ftp://,ftps://andsftp://links can be handed into the Ghost FTP workflow without application telemetry, remote executable code, credential persistence, tab scraping or broad host permissions. - Kept browser companion packages outside the canonical 17-file Windows/Linux GitHub Release allow-list; they are source companion surfaces, not a hidden web backend or extra release binary family.
Documentation and release engineering
- Advanced root
VERSIONto 0.0.5 while preserving the current GitHub Release channel (prerelease=false) andghostftp-vX.Y.Znamespace. - Rewrote the main README around user value and clear download/security/privacy positioning while keeping every public feature claim bound to implemented and tested behavior.
- Corrected
scripts/release_notes.pyso generated release notes match the actual canonical distribution: two universal Windows executables plus twelve Debian/Ubuntu/Fedora/Portable Linux artifacts, for 14 platform artifacts / 17 public files. - Added a regression contract that rejects the retired architecture-specific Windows filenames, old generic Linux/multiarch release names and obsolete 12/15 release counts from generated current release notes.
- Preserved fresh release builds, exact asset read-back, GHCR distribution-bundle verification and latest-only release/tag/branch/package retention.
Security and privacy
- Preserved strict FTPS certificate/hostname validation, strict desktop SFTP host-key verification/pinning, trusted Linux transport/AskPass provenance, rooted local path/transfer protections, protected-secret lifetime rules and no silent secure-to-plain downgrade.
- Preserved the no-telemetry, no-analytics, no-advertising, no-fingerprinting, no-automatic-crash-upload, no-hidden-backend and no-mandatory-account contract across Windows, Linux, Android and the new browser companion source.
Release tag
ghostftp-v0.0.5
Public platform packages
Windows:
- Ghost-FTP-0.0.5-Setup.exe — self-contained universal Windows Setup launcher with verified native x64/x86 application payloads.
- Ghost-FTP-0.0.5-Portable.exe — self-contained universal Windows Portable launcher with verified native x64/x86 application payloads.
Linux / Debian:
- Ghost-FTP-0.0.5-Linux-Debian-amd64.deb
- Ghost-FTP-0.0.5-Linux-Debian-arm64.deb
- Ghost-FTP-0.0.5-Linux-Debian-i386.deb
Linux / Ubuntu:
- Ghost-FTP-0.0.5-Linux-Ubuntu-amd64.deb
- Ghost-FTP-0.0.5-Linux-Ubuntu-arm64.deb
- Ghost-FTP-0.0.5-Linux-Ubuntu-i386.deb
Linux / Fedora:
- Ghost-FTP-0.0.5-Linux-Fedora-x86_64.rpm
- Ghost-FTP-0.0.5-Linux-Fedora-aarch64.rpm
- Ghost-FTP-0.0.5-Linux-Fedora-i686.rpm
Linux / Portable:
- Ghost-FTP-0.0.5-Linux-Portable-amd64.tar.gz
- Ghost-FTP-0.0.5-Linux-Portable-arm64.tar.gz
- Ghost-FTP-0.0.5-Linux-Portable-i386.tar.gz
GitHub Packages
- Package: ghcr.io/bren-wp/ghost-ftp:0.0.5
- Type: verified OCI distribution bundle, not a runtime container.
- Contents: the same verified release directory under /ghostftp-release/.
- Current aliases: 0, 0.0, latest.
- The workflow verifies the exact-version registry readback before completing publication.
Verification files
- SHA256.txt — SHA-256 checksums for every public release file except SHA256.txt itself.
- RELEASE-NOTES.txt — these notes generated from CHANGELOG.md.
- BUILD-METADATA.txt — version, release tag, exact source commit, signing state and distribution metadata.
Release contract
- Current Ghost FTP releases are not inferred to be prereleases from semantic-version major zero.
- 14 platform artifacts.
- 17 public release files total, including BUILD-METADATA.txt, RELEASE-NOTES.txt and SHA256.txt.
- Public release platforms: Windows and Linux.
- The Android development APK is independently exact-head verified but remains outside the public Windows/Linux release allow-list.
- Local language catalog: 24 selectable desktop languages with English default/fallback.
- Application telemetry: disabled.
- Linux Debian/Ubuntu/Fedora/Portable packages reuse one verified production executable per matching architecture and are byte-parity checked before publication.
- Publication is bound to the exact verified main commit and followed by canonical latest-only retention verification.
Signing and trust
The workflow never fabricates publisher identities. Production Authenticode signing is optional: when a protected trusted certificate is configured, Windows artifacts are signed and verified; when it is not configured, the release remains explicitly unsigned and BUILD-METADATA.txt records WINDOWS_AUTHENTICODE=unsigned. Never treat a locally generated or self-signed certificate as a trusted public publisher identity. Always verify SHA256.txt and the official GitHub release location before installation or deployment.
Privacy
Release bundles contain only the explicit verified artifact allow-list. They do not contain saved profiles, FTP/SFTP passwords, private-key passphrases, signing private keys, local application data or user files.