--------------------------
* This release adds support for the "high-level" ``asyncio`` streams API,
in the form of the :class:`SSHReader` and :class:`SSHWriter` classes
and wrapper methods such as :meth:`open_session()
<SSHClientConnection.open_session>`, :meth:`open_connection()
<SSHClientConnection.open_connection>`, and :meth:`start_server()
<SSHClientConnection.start_server>`. It also allows the callback
methods on :class:`SSHServer` to return either SSH session objects or
handler functions that take :class:`SSHReader` and :class:`SSHWriter`
objects as arguments. See :meth:`session_requested()
<SSHServer.session_requested>`, :meth:`connection_requested()
<SSHServer.connection_requested>`, and :meth:`server_requested()
<SSHServer.server_requested>` for more information.
* Added new exceptions :exc:`BreakReceived`, :exc:`SignalReceived`, and
:exc:`TerminalSizeChanged` to report when these messages are received
while trying to read from an :class:`SSHServerChannel` using the new
streams API.
* Changed :meth:`create_server() <SSHClientConnection.create_server>` to
accept either a callable or a coroutine for its ``session_factory``
argument, to allow asynchronous operations to be used when deciding
whether to accept a forwarded TCP connection.
* Renamed ``accept_connection()`` to :meth:`create_connection()
<SSHServerConnection.create_connection>` in the :class:`SSHServerConnection`
class for consistency with :class:`SSHClientConnection`, and added a
corresponding :meth:`open_connection() <SSHServerConnection.open_connection>`
method as part of the streams API.
* Added :meth:`get_exit_status() <SSHClientChannel.get_exit_status>` and
:meth:`get_exit_signal() <SSHClientChannel.get_exit_signal>` methods
to the :class:`SSHClientChannel` class.
* Added :meth:`get_command() <SSHServerChannel.get_command>` and
:meth:`get_subsystem() <SSHServerChannel.get_subsystem>` methods to
the :class:`SSHServerChannel` class.
* Fixed the name of the :meth:`write_stderr() <SSHServerChannel.write_stderr>`
method and added the missing :meth:`writelines_stderr()
<SSHServerChannel.writelines_stderr>` method to the :class:`SSHServerChannel`
class for outputting data to the stderr channel.
* Added support for a return value in the :meth:`eof_received()
<SSHClientSession.eof_received>` of :class:`SSHClientSession`,
:class:`SSHServerSession`, and :class:`SSHTCPSession` to support
half-open channels. By default, the channel is automatically closed
after :meth:`eof_received() <SSHClientSession.eof_received>` returns,
but returning ``True`` will now keep the channel open, allowing output
to still be sent on the half-open channel. This is done automatically
when the new streams API is used.
* Added values ``'local_peername'`` and ``'remote_peername'`` to the set
of information available from the :meth:`get_extra_info()
<SSHTCPChannel.get_extra_info>` method in the :class:`SSHTCPChannel` class.
* Updated functions returning :exc:`IOError` or :exc:`socket.error` to
return the new :exc:`OSError` exception introduced in Python 3.3.
* Cleaned up some errors in the documentation.
* The :ref:`API`, :ref:`ClientExamples`, and :ref:`ServerExamples` have
all been updated to reflect these changes, and new examples showing the
streams API have been added.