Ghost FTP 0.95.26 — FTP command-path control validation (development preview)
Published predecessor: v0.95.25. Do not rewrite or retarget the published release.
Changes
- For Windows/Linux FTP and explicit FTPS, reject empty paths and ASCII control characters before FTP LIST, existence checks, rename, delete, create-directory, SITE CHMOD, SIZE, RETR, STOR and APPE commands, including resumable transfer paths.
- Preserve support for Unicode and ordinary spaces in remote filenames.
- Add Rust regressions in the remote filesystem and central FTP stream layers covering CR, LF, NUL, TAB, DEL, blank targets and safe Unicode paths.
- Synchronize version metadata for Rust, Tauri, npm, Go and Android build identifiers. Android and macOS behavior is not otherwise changed.
Limits and acceptance
- Latest-head Rust formatting, Clippy and workspace tests.
- Real FTP/FTPS/SFTP protocol E2E and desktop Windows/Linux build acceptance.
- macOS, Android and product tooling workflows.
- Wider third-party daemon interoperability and native device/screen acceptance.
- Native macOS FTPS/SFTP, signing/notarization and full FileZilla parity remain separate work (P0 issue #157).
This is unreleased Preview source documentation, not a stable or production-readiness certification.