Skip to content

v0.6.0

Choose a tag to compare

@hannesdejager hannesdejager released this 23 Mar 21:22
· 434 commits to master since this release

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.