Ghost FTP v0.95.32 — SFTP recursive deletion safety (development preview)
Published predecessor: v0.95.31.
Changes
- Use LSTAT to remove symlinks without walking into their directory targets.
- Preflight all recursive SFTP deletion targets before issuing destructive commands.
- Limit inventory to 25,000 entries, 64 levels and 8 MiB cumulative path bytes.
- Reject unsafe/duplicate entries, unsupported node kinds and type changes before removal.
- Add safety unit tests and live OpenSSH SFTP symlink-preservation coverage.
Verification
- Rustfmt, Cargo check, Clippy and unit tests on exact final commit
- Real FTP/FTPS/SFTP protocol E2E (including symlink regression)
- Windows/Linux native installers and compatibility CI
- Manual desktop installation and destructive-action QA
Preview source only; SFTP does not offer a transactional multi-file delete and concurrent server mutations may still cause a partially completed operation. Previously published tags are immutable.