github bren-wp/Ghost-FTP v0.95.39
Ghost FTP 0.95.39

2 hours ago

Ghost FTP v0.95.39 — Fail-closed WebDAV/HTTP directory listing (development preview)

Published predecessor: v0.95.38.

Changes in this pull request

  • Reject truncated, malformed or incomplete WebDAV PROPFIND multistatus XML. A partial remote directory cannot silently become a successful inventory used for destructive synchronization.
  • Require HTTP 207 Multi-Status for depth-one WebDAV listings and reject missing response hrefs, invalid XML roots and invalid response bodies.
  • Propagate nginx HTTP JSON autoindex parse failures instead of interpreting malformed JSON as an empty directory. A valid empty array remains supported.
  • Add regression tests for malformed input and preserve valid Nextcloud, Apache and nginx listing fixtures.
  • Advance preview build metadata from the published immutable v0.95.38 tag without changing existing release assets or tags.

Acceptance before merge / release

  • Exact-head version and documentation alignment, Rustfmt, workspace tests, Clippy, frontend checks.
  • Real FTP, explicit FTPS and SFTP test-server E2E.
  • Windows/Linux native packaging and installation lifecycle tests.
  • Android build/emulator acceptance, Windows hardening, macOS Preview compatibility.
  • Manual WebDAV failure-injection E2E (truncated multistatus and invalid nginx autoindex).

This remains a preview source candidate. It is not proof of production Android signing, macOS notarization, live cloud vendor-account E2E, or 75-screen pixel-parity certification.

Don't miss a new Ghost-FTP release

NewReleases is sending notifications on new releases.