github bren-wp/Ghost-FTP v0.99.4
Ghost FTP 0.99.4

5 hours ago

Ghost FTP 0.99.4

Distribution: Preview development. This release may only publish after every required exact-SHA workflow passes and all assets, checksums and archive extraction checks succeed.

Implementation

  • Add a native macOS build of the same React + Tauri + Rust desktop application used on Windows/Linux. It shares authenticated FTP, explicit FTPS and SFTP implementation, SSH host-key verification, saved-site management, transfers, sync, search and security controls instead of attempting to label the still-limited SwiftUI client as equivalent.
  • Enable the native Apple Keychain backend of the Rust credential vault. Do not store passwords in plain-text preferences or use a mock vault; preserve the stable service identity com.ghostftp.credentials.
  • Add dedicated macOS Tauri application configuration, branded .icns generation from the repository SVG and two native macOS CI matrix builds (Apple Silicon ARM64 and Intel x86_64): locked dependency verification, frontend build, shared Rust tests, signed-as-development native .app, extracted archive integrity, bundle identity and version checks.
  • Harden macOS local file operations with Darwin's atomic renamex_np(RENAME_EXCL) instead of a check-then-rename race that could overwrite a competing file or symlink. Add an actual macOS directory-collision regression and enforce the API contract in frontend security checks.
  • The Tauri candidate is packaged as Ghost FTP Desktop.app, deliberately distinct from the existing SwiftUI Ghost FTP.app so a Finder copy into Applications cannot overwrite the old application by filename.
  • Keep the preexisting dedicated SwiftUI macOS Preview build and its test coverage intact. The new full desktop engine is introduced as a separate, explicitly labeled macOS Shared Preview until upgrade migration and real-device GUI interaction acceptance establish that it can replace the existing package.
  • Require successful macOS shared desktop CI alongside all existing platform, security, dead-code and protocol gates before publishing the new preview, and include separate ARM64 and Intel ZIPs and SHA-256 digests in the release assets if accepted.

Remaining release limitations

  • An ad-hoc signed macOS app is not a Developer ID signed and Apple-notarized consumer installation. Gatekeeper and target-device installation/upgrade acceptance are separate checks.
  • Native macOS integration must be validated with interactive file operations and target-device Apple Keychain permissions; CI compilation and command-line protocol E2E do not prove the complete macOS GUI has parity.
  • The older SwiftUI app does not yet support native FTPS or SFTP and must continue failing closed.
  • Existing SwiftUI and Tauri bundles have different bundle identifiers and application-storage locations; do not silently overwrite or delete legacy saved profiles, credentials or user data without an independently tested migration.
  • Physical >4 GiB content-hash roundtrips, interruption tests, macOS battery benchmarks and pixel-by-pixel comparison against all reference screens remain unverified.

See all versions and downloads. Existing published releases and tags must remain immutable.

Don't miss a new Ghost-FTP release

NewReleases is sending notifications on new releases.