Skip to content

Releases: veeso/suppaftp

suppaftp 8.0.2

12 Feb 20:07
cd12e3c

Choose a tag to compare

8.0.2

Released on 12/02/2026

  • PR 135: Fixed unsafe undefined behavior in tokio AsyncNativeTlsStream::tcp_stream() which could cause use-after-free / double-free.
  • PR 136: Fixed data_connection_open flag being set before the data stream was actually created, which could incorrectly report DataConnectionAlreadyOpen on failure.
  • PR 137: Fixed infinite loop in async feat() when the server disconnects mid-response.
  • PR 138: Fixed infinite loop in read_response_in() on multiline responses when the server disconnects.
  • PR 139: Fixed MLSX parser to accept cdir and pdir entry types as directories (per RFC 3659).
  • PR 140: Fixed MLSX unix.mode parser to accept 4-digit octal modes (e.g. 0755).
  • PR 141: Fixed abort() hanging when server sends 226 directly instead of 426+226.
  • PR 142: Fixed DOS LIST parser to handle comma-separated file sizes (e.g. 1,234,567).
  • PR 143: Fixed parse_lstime to adjust year for future dates (matches GNU ls behavior).
  • PR 144: Fixed DOS time parser to handle space before AM/PM (e.g. 01:30 PM).
  • PR 145: Fixed active mode to use EPRT command for IPv6 connections.
  • PR 146: Replaced unwrap() panics on server-controlled data (EPSV, SIZE, MDTM) with proper error handling.
  • PR 147: Removed redundant feature = "async-std" in cfg gate.
  • PR 148: Fixed doc(cfg) attribute on SecureError variant to show both secure and async-secure features.
  • PR 133: Moved crates to crates/ folder.
  • PR 134: Changed test container image to delfer/alpine-ftp-server.

suppaftp 8.0.1

18 Jan 14:05
a89247c

Choose a tag to compare

8.0.1

Released on 18/01/2026

  • Fixed docs.rs build

suppaftp 8.0.0

18 Jan 13:52
ad5a313

Choose a tag to compare

8.0.0

Released on 18/01/2026

  • Issue 131: Added new features to choose the backend for rustls:
    • rustls-ring: use ring as crypto backend (default)
    • rustls-aws-lc-rs: use aws-lc-rs as crypto backend
    • Removed rustls feature. Use either rustls-ring or rustls-aws-lc-rs instead.
    • Removed async-rustls feature. Use either async-std-rustls-ring or async-std-rustls-aws-lc-rs instead.
    • Removed tokio-rustls feature. Use either tokio-rustls-ring or tokio-rustls-aws-lc-rs instead.

Caution

In case you're using rustls, tokio-rustls, or async-rustls features, you need to update your Cargo.toml
accordingly.

suppaftp 7.1.0

07 Jan 17:55
597462a

Choose a tag to compare

7.1.0

Released on 07/01/2026

  • Issue 128
    • Made FileType enum public
    • Added File::file_type() method to retrieve the file type
    • Deprecated File::from_dos_line, File::from_mlsx_line, and File::from_posix_line methods in favor of
      ListParser::parse_dos, ListParser::parse_mlst, ListParser::parse_mlsd, and ListParser::parse_posix
      respectively.
  • Issue 127: Prevent commands which require a data connection to be executed if there is already a data connection open.

suppaftp 7.0.7

05 Nov 16:20
d1bc2e7

Choose a tag to compare

7.0.7

Released on 05/11/2025

  • Issue 126: re-export tls streams when using tokio

suppaftp 7.0.6

07 Oct 15:23
a87b2a5

Choose a tag to compare

7.0.6

Released on 07/10/2025

  • Issue 125: Allow to access async_native_tls when using tokio

suppaftp 7.0.5

03 Oct 07:56
edab188

Choose a tag to compare

7.0.5

Released on 03/10/2025

  • Update chrono version to 0.4.25 to guarantee compatibility with and_utc method.

suppaftp 7.0.4

22 Sep 08:58
da26a67

Choose a tag to compare

7.0.4

Released on 22/09/2025

  • Exported TlsStream types for implementing functions that use the retrieved stream.
    • TlsStream for sync ftp.
    • AsyncStdTlsStream for async-std ftp.
    • TokioTlsStream for tokio ftp.

suppaftp 7.0.0

31 Aug 14:45

Choose a tag to compare

7.0.0

Released on 31/08/2025

  • Breaking changes:
    • Removed async feature; use either async-std or tokio.
    • Removed async-native-tls; use either async-std-async-native-tls (for async-std) or tokio-async-native-tls (for tokio) instead.
    • Renamed async-native-tls-vendored to async-std-async-native-tls-vendored.
    • Removed async-default-tls.
    • Removed default-tls
    • Renamed async-rustls to async-std-rustls.
  • Tokio support:
    • Added tokio support along with async-std.
    • Use tokio feature to use tokio
    • Use tokio-rustls feature to use tokio with rustls
    • Use tokio-async-native-tls feature to use async-native-tls with tokio
  • Custom Data commands:
    • Added custom_data_command to perform the execution of custom data commands.
    • Added close_data_connection to close the DataStream once consumed after executing custom data commands.
    • Made get_lines_from_stream public to easily read String lines from the DataStream.

suppaftp 6.3.0

05 Jun 08:24
96cb464

Choose a tag to compare

6.3.0

Released on 05/06/2025

  • Issue 85: Fixed retr method signature on the AsyncFtpStream to allow passing a closure taking the stream reader.

    stream
      .retr("test.txt", |mut reader| {
            Box::pin(async move {
                let mut buf = Vec::new();
                reader.read_to_end(&mut buf).await.expect("failed to read stream");
                Ok((buf, reader))
            })
        })
        .await
  • Issue 108: fixed FEAT command response parser