Skip to content

Releases: bolcom/libunftp

v0.10.0

25 Apr 06:12
e2a3711
Compare
Choose a tag to compare

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

21 Apr 07:27
Compare
Choose a tag to compare

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 to auth::DefaultUser
  • Added a rudimentary implementation of the FTP REST command for the cloud storage implementation.

v0.8.0

13 Apr 21:36
Compare
Choose a tag to compare

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 to Server::listen
    • Renamed the Server::with_ftps method to Server::ftps
    • Renamed the Server::with_metrics method to Server::metrics

v0.7.0

03 Apr 21:38
Compare
Choose a tag to compare

This release makes libunftp async/.await ready

Changes:

  • Upgraded Futures 0.3, Tokio 0.2 and Hyper 0.13 (#120 )
  • Using async functions in the Storage back-ends (last bit for #70)

v0.6.0

23 Mar 21:22
Compare
Choose a tag to compare

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

30 Dec 16:31
Compare
Choose a tag to compare

Changes in this release:

  • Do not block during MDTM
  • Do not block during STAT
  • Improved error handling
  • Fixes for TLS shutdown issues (#91)
  • Refactoring and cleanup

v0.5.0

15 Nov 20:49
Compare
Choose a tag to compare

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

08 Nov 20:26
Compare
Choose a tag to compare

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

02 Nov 20:18
Compare
Choose a tag to compare

Changes in this release:

  • Improved the error handling for the GCS implementation of RETR

v0.4.1

25 Oct 21:00
Compare
Choose a tag to compare

Changes in this release:

  • Fix: Improved error handling of FTP commands.