Releases: bolcom/libunftp
v0.10.0
Changes in this release
- Implemented the Proxy Protocol that allows servers based on libunftp to listen on a single port for control and data connections in passive mode.
- Expanded the GCS example to optionally use TLS (FTPS).
v0.9.0
Changes in this release:
- Now using environment variables to configure the
gcs
example - Added
Server::new_with_authenticator
that allows configuring custom user detail types. - Introduced
auth::UserDetails
trait to capture requirements for instances holding custom user information. - Breaking change: Renamed
auth::AnonymousUser
toauth::DefaultUser
- Added a rudimentary implementation of the FTP REST command for the cloud storage implementation.
v0.8.0
Changes in this release:
- Fixed data channel shutdown issues (#91) (#161)
- Depend only on those features of tokio that are actually used (#174)
- Upgraded a number of dependencies
- Fixed and issue where RETR for the cloud storage back-end did not work
- Breaking changes:
- Renamed the
Server::listener
method toServer::listen
- Renamed the
Server::with_ftps
method toServer::ftps
- Renamed the
Server::with_metrics
method toServer::metrics
- Renamed the
v0.7.0
v0.6.0
This release includes a major refactoring with breaking changes. The main aim of the release was to get rid of deadlocks in libunftp caused by the use of std::sync:Mutex
which did not work correctly with the tokio runtime. std::sync::Mutex
was replaced with tokio 0.2's sync::Mutex
.
The above mentioned changes caused a big upgrade towards tokio 0.2, futures 0.3 and the async/.await syntax. The move is not completely finished so libunftp now requires tokio-compat to run and also depends on both tokio 0.1. and tokio 0.2. If you can afford it then perhaps waiting for a next release where we only depend on tokio 0.2. is worthwhile.
Changes:
- Fixed deadlocks caused by the use of std::sync::Mutex (#109, #112)
- A new JSON file authenticator was added (feature
jsonfile_auth
) - Randomize data port on PASV (#129)
- Authenticators now use
async
functions and async/.await syntax internally. - The
Server::listen
method is now an async function. - libunftp now requires tokio-compat to run.
- Now using tokio-tls which uses native-tls instead of the previous rustls. This may change back to rustls in future.
- GCS backend: Include the directories in the LIST command.
- General improved error handling.
v0.5.1
v0.5.0
Changes in this release:
- Added configurability of idle session timeout.
- Fixed issues with UTF-8 support that were not advertised in FEAT and wrongly implemented for OPT.
v0.4.3
Changes in this release:
- Fix: Do not block the control channel during the size command
- Fix: GCS back-end: Fixed wrong mapping of 'unauthorized' error and FTP response.
v0.4.2
Changes in this release:
- Improved the error handling for the GCS implementation of RETR
v0.4.1
Changes in this release:
- Fix: Improved error handling of FTP commands.