Released on 02/03/2023
- Implemented new connection method
connect_timeout
with the possibility to specify a timeout on connect
Released on 26/02/2023
- Exposed publicly
DataStream
andAsyncDataStream
Released on 24/02/2023
- Issue 33
‼️ BREAKING CHANGES‼️ - Features are now additive. This means that you can successfully build suppaftp with all the features enabled at the same time.
- Ftp stream has now been split into different types:
FtpStream
: sync no-tls streamNativeTlsFtpStream
: ftp stream with TLS with native-tlsRustlsFtpStream
: ftp stream with TLS with rustlsAsyncFtpStream
: async no-tls streamAsyncNativeTlsFtpStream
: async ftp stream with TLS with async-native-tlsAsyncRustlsFtpStream
: async ftp stream with TLS with async-rustls
Released on 01/02/2023
- RFC 2428 implementation
- Updated suppaftp-cli to suppaftp 4.7.0
Released on 26/01/2023
suppaftp::list::File
now derives thecore::hash::Hash
trait
Released on 09/01/2023
MDTM
now returnsNaiveDateTime
since the command won't provide timezone
Released on 27/12/2022
- Don't use read to string from stream, but read line
- Response body is now bytes
- Fixed issue 24
Released on 10/10/2022
- Fixed missing export of tls stream
Released on 08/10/2022
- Export
TlsStream
when async secure
Released on 08/10/2022
- Added
native-tls-vendored
andasync-native-tls-vendored
features to link OpenSSL statically - suppaftp-cli as a separate package.
- Rustls support
‼️ BREAKING CHANGE: refactored secure features:- REMOVED
secure
/async-secure
feature - Use
native-tls
to enable TLS support with native-tls crate - Use
async-native-tls
to enable async TLS support with async-native-tls crate - Use
rustls
to enable TLS support with rustls crate - Use
async-rustls
to enable TLS support with async-tls crate
- REMOVED
Released on 02/08/2022
- Added
set_passive_nat_workaround()
method to allow PASV with server behind NAT/proxy
Released on 27/06/2022
- Added implicit FTPS support
- Added
connect_secure_implicit()
method - Added
deprecated
feature to enable deprecated methods (required for implicit FTPS)
- Added
Released on 07/12/2021
- Active mode
- suppaftp now supports Active-mode (credit @devbydav)
- You can change mode with
set_mode(Mode::Passive) or set_mode(Mode::Active)
whenever you want
- New commands
- Abort command: implemented the
ABOR
FTP command - Append command: implemented the
APPE
FTP command - Resume transfer command: implemented the
REST
FTP command
- Abort command: implemented the
- Logging:
log
crate has been implemented for debugging. You can disable logging withno-log
feature - Security
- ❗ Breaking changes:
Response.code
renamed tostatus
.- status is no more a
u32
: from now on it will be an enum namedStatus
.- The status enum implements the
code()
method which will return theu32
representation - The status enum can be displayed and converted to string: this will return the description of the error code
- The status enum implements the
- Changed
into_insecure()
toclear_command_channel()
: the implementation of into_insecure was wrong and inconsistent. What it actually does is to make the server not to encrypt the communication on the command channel. - Removed
File::from_line
; useFile::try_from()
orFile::from_str()
Released on 01/12/2021
- UNIX file parser:
- Fixed file parsing, which didn't allow any other characters than alphanumerics for groups, users and dates
put_file()
will now return the amount of bytes written- Updated dependencies
Released on 23/08/2021
- Renamed
InvalidResponse
toUnexpectedResponse
, which makes more sense - Renamed
File::from_unix_line
toFile::from_posix_line
- Renamed
UnixPexQuery
toPosixPexQuery
- Made
parse_dostime
private
Released on 22/08/2021
- Fixed missing
cli/
directory on Cargo registry.
Released on 22/08/2021
- Added
Response
struct, which will be returned in case ofInvalidResponse
error.- This adds the possibility to get the exact error code and the message
- Added async support
- API changes
- renamed
simple_retr
toretr_as_buffer
- renamed
get
toretr_as_stream
- renamed
finalize_get_stream
tofinalize_retr_stream
- renamed
- LIST command output parser
- Read more on docs.rs
- Optimized code to reuse stream functions as much as possible
size()
andmdtm()
methods will return an option no more.- Improved code with linter
- Added CI tests
Released on 09/01/2020
- Fixed
finalize_get
andfinalize_put_stream
. Stream must be dropped before waiting for response.
Released on 10/12/2020
- Added
finalize_get
method to terminate reader andRETR
command
Released on 06/12/2020
- Removed deprecated statements
- Replaced openssl with native-tls
- Added
put_with_stream
method - Added
get_welcome_msg
method