Things TODO
===========

* make sure the windowing code adapts better to slow situations so that it
  doesn't then use as much memory as today

* Introduce a 'libssh2_socket_t' type for sockets in internal code

* Provide a libssh2_scp_send() API for files larger than 4GB (32bit size)

* Add more info to the man pages.

* Decrease the number of mallocs. Everywhere.

* Use SO_NOSIGPIPE for Mac OS/BSD systems where MSG_NOSIGNAL doesn't exist/work

* Extend the test suite to actually test lots of aspects of libssh2

* Fix all compiler warnings (some can't be done without API changes)

At next SONAME bump
===================

* stop using #defined macros as part of the official API. The macros should
  either be turned into real functions or discarded from the API.

* fix the parts of the API where object pointers and function pointers are
  mixed like libssh2_session_callback_set()

* remove the following functions from the API/ABI

  libssh2_base64_decode()
  libssh2_session_flag()
  libssh2_channel_handle_extended_data()
  libssh2_channel_receive_window_adjust()
  libssh2_poll()
  libssh2_poll_channel_read()

* Rename a few function:

  libssh2_hostkey_hash => libssh2_session_hostkey_hash
  libssh2_banner_set => libssh2_session_banner_set