***********
version 1.0
***********

* fixed crashing bugs handling errors and handle scope in the SFTPClient class
* added the SftpPoller user module
* force socket disconnect in case of a timeout error when trying to close a
  file descriptor
* socket performance instrumentation supported in the SFTPClient class
* user modules moved to top-level qore module directory from version-specific
  module directory since they are valid for multiple versions of qore
* fixed a bug where a crash would result when attempting a connection and
  libssh2 would not return any user authentication methods
* implemented an automatic disconnection when timeouts occur to avoid dead
  connections
* fixed crashing bugs in the SFTPClient class handling disconnect events when
  an sftp handle was open; the handle must be closed before the socket
  connection is closed or a crash will result
* implemented the SFTPClient::retrieveFile() and SFTPClient::transferFile()
  methods
* ported the SFTPClient class tests to QUnit and added tests for the new
  methods
* ported test/sftp-poller.q to QUnit
* requires Qore 0.8.12+ to build (uses the new QoreValue API)
* fixed a bug in socket handling related to asyncronous socket event
  polling and select(2) and lack of socket descriptor bounds checking
  (https://github.com/qorelanguage/qore/issues/714)


*************
version 0.9.9
*************

* closed some gaps in the non-blocking I/O solution introduced in the last
  release
* implemented implicit connections for the SFTPClient class
* implemented the SFTPClient::listFull() method
* implemented the SSH2Base::connected() method
* when errors occur in the SFTPClient class, mark the connection as closed if
  possible
* made cwd persistent in the SFTPClient class across connections to better deal
  with implicit disconnections and reconnections
* use keepalive by default to try and maintain persistent connections


*************
version 0.9.8
*************

* default connect timeout values are set to 60 seconds
* non-blocking I/O implemented for all SFTPClient methods, default timeout set
  to 60s
* send the file mode when opening files read-only in case broken servers will
  erroneously set the remote file's mode to 0 and then the file will not be
  readable


*************
version 0.9.7
*************

* an exception will be thrown if a key file is set and either the public or
  private key is not available or readable; previously such errors would
  cause hard-to-debug connection problems
* fixed another deadlock in the SFTPClient::disconnect() method (oops)
* minor doc updates


*************
version 0.9.6
*************

major documentation updates; now using doxygen
fixed a deadlock in the SFTPClient::disconnect() method
requires qore 0.8.1+ to build and run


*************
version 0.9.5
*************

Initial release of the ssh2 module
Requires qore 0.8.0+ to build and run
see README and docs for more information
