Skip to content

mftp v0.1.130

Choose a tag to compare

@OmarHermannsson OmarHermannsson released this 02 Jun 20:58
· 30 commits to master since this release

First release since v0.1.101. Headline: a new in-band repair protocol, a supply-chain security fix, confirmed high-latency performance wins, and macOS/Windows support.

⚠️ Protocol

  • Wire protocol bumped to v6. Sender and receiver must both be on v0.1.130+ for the QUIC/TCP direct path. (SFTP fallback is unaffected.)

✨ Features

  • In-band incremental repair (protocol v5+). Missing/corrupt chunks are now re-requested over the control stream at the completion checkpoint (ReceiverMessage::Retransmit, single-file), instead of aborting and resuming.

🔒 Security

  • Verify cross-platform binary downloads before remote exec. When mftp pipes a downloaded binary to a remote host, it's now checksum-verified first — closes a supply-chain exec risk.

🚀 Performance

  • 1-RTT QUIC startup (was 2 control round-trips) — measured −850 ms per connection at 400 ms RTT.
  • Larger BBR initial congestion window (tunable) for faster ramp on high-BDP links.
  • Socket-buffer default raised to 64 MiB + opt-in ACK frequency.
  • Dropped redundant chunk copies in the FEC sender path.

🛡️ Reliability

  • Hardened FEC wire/manifest validation; overflow checks enabled.
  • Attributable errors for unreconstructable FEC stripes.
  • Resume now surfaces resume/discard status; durability model documented.

💅 UX

  • Tolerate common --trust fingerprint formats (colons, whitespace, case).
  • Hard-fail invalid --fec specs; clearer CLI examples and download prompt.

🖥️ Platforms

  • macOS (x86_64 + aarch64) and Windows now built and tested in CI.