Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Twisted Conch 10.1.0 (2010-06-27)
=================================

Features
--------
 - twisted.conch.ssh.transport.SSHTransportBase now allows supported
   ssh protocol versions to be overriden. (#4428)

Bugfixes
--------
 - SSHSessionProcessProtocol now doesn't close the session when stdin
   is closed, but instead when both stdout and stderr are. (#4350)
 - The 'cftp' command-line tool will no longer encounter an
   intermittent error, crashing at startup with a ZeroDivisionError
   while trying to report progress. (#4463)
 - twisted.conch.ssh.connection.SSHConnection now replies to requests
   to open an unknown channel with a OPEN_UNKNOWN_CHANNEL_TYPE message
   instead of closing the connection. (#4490)

Deprecations and Removals
-------------------------
 - twisted.conch.insults.client was deprecated. (#4095)
 - twisted.conch.insults.colors has been deprecated.  Please use
   twisted.conch.insults.helper instead. (#4096)
 - Removed twisted.conch.ssh.asn1, which has been deprecated since
   Twisted 9.0. (#4097)
 - Removed twisted.conch.ssh.common.Entropy, as Entropy.get_bytes has
   been  deprecated since 2007 and Entropy.get_bytes was the only
   attribute of Entropy. (#4098)
 - Removed twisted.conch.ssh.keys.getPublicKeyString, which has been
   deprecated since 2007.  Also updated the conch examples
   sshsimpleserver.py and sshsimpleclient.py to reflect this removal.
   (#4099)
 - Removed twisted.conch.ssh.keys.makePublicKeyString, which has been
   deprecated since 2007. (#4100)
 - Removed twisted.conch.ssh.keys.getPublicKeyObject, which has been
   deprecated since 2007. (#4101)
 - Removed twisted.conch.ssh.keys.getPrivateKeyObject, which has been
   deprecated since 2007.  Also updated the conch examples to reflect
   this removal. (#4102)
 - Removed twisted.conch.ssh.keys.makePrivateKeyString, which has been
   deprecated since 2007. (#4103)
 - Removed twisted.conch.ssh.keys.makePublicKeyBlob, which has been
   deprecated since 2007. (#4104)
 - Removed twisted.conch.ssh.keys.signData,
   twisted.conch.ssh.keys.verifySignature, and
   twisted.conch.ssh.keys.printKey, which have been deprecated since
   2007.   (#4105)

Other
-----
 - #3849, #4408, #4454


Twisted Conch 10.0.0 (2010-03-01)
=================================

Bugfixes
--------
 - twisted.conch.checkers.SSHPublicKeyDatabase now looks in the
   correct user directory for authorized_keys files. (#3984)

 - twisted.conch.ssh.SSHUserAuthClient now honors preferredOrder when
   authenticating. (#4266)

Other
-----
 - #2391, #4203, #4265


Twisted Conch 9.0.0 (2009-11-24)
================================

Fixes
-----
 - The SSH key parser has been removed and conch now uses pyASN1 to parse keys.
   This should fix a number of cases where parsing a key would fail, but it now
   requires users to have pyASN1 installed (#3391)
 - The time field on SFTP file listings should now be correct (#3503)
 - The day field on SFTP file listings should now be correct on Windows (#3503)
 - The "cftp" sftp client now truncates files it is uploading over (#2519)
 - The telnet server protocol can now properly respond to subnegotiation
   requests (#3655)
 - Tests and factoring of the SSHv2 server implementation are now much better
   (#2682)
 - The SSHv2 server now sends "exit-signal" messages to the client, instead of
   raising an exception, when a process dies due to a signal (#2687)
 - cftp's client-side "exec" command now uses /bin/sh if the current user has
   no shell (#3914)

Deprecations and Removals
-------------------------
 - The buggy SSH connection sharing feature of the SSHv2 client was removed
   (#3498)
 - Use of strings and PyCrypto objects to represent keys is deprecated in favor
   of using Conch Key objects (#2682)

Other
-----
 - #3548, #3537, #3551, #3220, #3568, #3689, #3709, #3809, #2763, #3540, #3750,
   #3897, #3813, #3871, #3916, #4047, #3940, #4050


Conch 8.2.0 (2008-12-16)
========================

Features
--------
 - The type of the protocols instantiated by SSHFactory is now parameterized
   (#3443)

Fixes
-----
 - A file descriptor leak has been fixed (#3213, #1789)
 - "File Already Exists" errors are now handled more correctly (#3033)
 - Handling of CR IAC in TelnetClient is now improved (#3305)
 - SSHAgent is no longer completely unusable (#3332)
 - The performance of insults.ClientProtocol is now greatly increased by
   delivering more than one byte at a time to application code (#3386)
 - Manhole and the conch server no longer need to be run as root when not
   necessary (#2607)
 - The value of FILEXFER_ATTR_ACMODTIME has been corrected (#2902)
 - The management of known_hosts and host key verification has been overhauled
   (#1376, #1301, #3494, #3496, #1292, #3499)

Other
-----
 - #3193, #1633


8.1.0 (2008-05-18)
==================

Fixes
-----
 - A regression was fixed whereby the publicKeys and privateKeys attributes of
   SSHFactory would not be interpreted as strings (#3141)
 - The sshsimpleserver.py example had a minor bug fix (#3135)
 - The deprecated mktap API is no longer used (#3127)
 - An infelicity was fixed whereby a NameError would be raised in certain
   circumstances during authentication when a ConchError should have been
   (#3154)
 - A workaround was added to conch.insults for a bug in gnome-terminal whereby
   it would not scroll correctly (#3189)


8.0.0 (2008-03-17)
==================

Features
--------
 - Add DEC private mode manipulation methods to ITerminalTransport. (#2403)

Fixes
-----
 - Parameterize the scheduler function used by the insults TopWindow widget.
   This change breaks backwards compatibility in the TopWindow initializer.
   (#2413)
 - Notify subsystems, like SFTP, of connection close. (#2421)
 - Change the process file descriptor "connection lost" code to reverse the
   setNonBlocking operation done during initialization. (#2371)
 - Change ConsoleManhole to wait for connectionLost notification before
   stopping the reactor. (#2123, #2371)
 - Make SSHUserAuthServer.ssh_USERAUTH_REQUEST return a Deferred. (#2528)
 - Manhole's initializer calls its parent class's initializer with its
   namespace argument. (#2587)
 - Handle ^C during input line continuation in manhole by updating the prompt
   and line buffer correctly. (#2663)
 - Make twisted.conch.telnet.Telnet by default reject all attempts to enable
   options. (#1967)
 - Reduce the number of calls into application code to deliver application-level
   data in twisted.conch.telnet.Telnet.dataReceived (#2107)
 - Fix definition and management of extended attributes in conch file transfer.
   (#3010)
 - Fix parsing of OpenSSH-generated RSA keys with differing ASN.1 packing style.
   (#3008)
 - Fix handling of missing $HOME in twisted.conch.client.unix. (#3061)

Misc
----
 - #2267, #2378, #2604, #2707, #2341, #2685, #2679, #2912, #2977, #2678, #2709
   #2063, #2847


0.8.0 (2007-01-06)
==================

Features
--------
 - Manhole now supports Ctrl-l to emulate the same behavior in the
   Python interactive interpreter (#1565)
 - Python 2.5 is now supported (#1867)

Misc
----
 - #1673, #1636, #1892, #1943, #2057, #1180, #1185, #2148, #2159, #2291, 

Deprecations and Removals
-------------------------

 - The old twisted.cred API (Identities, Authorizers, etc) is no
   longer supported (#1440)


0.7.0 (2006-05-21)
==================

Features
--------
  - Timeout support for ExpectableBuffer.expect()

Fixes
-----
  - ~5x speedup for bulk data transfer (#1325)
  - Misc: #1428

0.6.0:

 Bugfixes and improvements in SSH support and Insults:
  - PAM authenticator support factored out into twisted.cred
  - Poorly supported next-line terminal operation replaced with simple \r\n

 New functionality:
  - An ITerminalTransport implementation with expect-like features
  - Support for the "none" SSH cipher
  - Insults support for handling more keystrokes and more methods for
    terminal manipulation
  - New, simple insults-based widget library added

 Better test coverage:
  - Dependence on `localhost' name removed
  - Some timing-sensitive tests changed to be more reliable
  - Process spawning tests initialize environment more robustly

0.5.0:

 Many improvements to SSH support. Here's some in particular:
  - Add --reconnect option to conch binary
  - utmp/wtmp logging
  - Unix login improvements, PAM support
  - Add "cftp" -- Conch SFTP.
  - Deferred retrieval of public keys is supported
  - PAM support for client and server
  - Bugfixes: 
	- fix conch failing to exit, and hangs.
	- Remote->Local forwarding
	- Channel closing
	- Invalid known_host writing
	- Many others

 New functionality:
  - twisted.conch.telnet: new, much improved telnet implementation.
  - twisted.conch.insults: Basic curses-like terminal support (server-side).
  - twisted.conch.manhole: new interactive python interactive interpreter,
    can be used with conch's telnet, ssh, or on the console.
	- Main features: Syntax coloring, line editing, and useful interactive
       handling of Deferreds.
