2014-01-22 15:48:32 -05:00
|
|
|
|
=========
|
|
|
|
|
Changelog
|
|
|
|
|
=========
|
|
|
|
|
|
2014-05-07 19:13:33 -04:00
|
|
|
|
* :release:`1.14.0 <2014-05-07>`
|
2014-05-07 17:14:05 -04:00
|
|
|
|
* :release:`1.13.1 <2014-05-07>`
|
2014-05-07 16:47:09 -04:00
|
|
|
|
* :release:`1.12.4 <2014-05-07>`
|
2014-05-07 16:39:39 -04:00
|
|
|
|
* :release:`1.11.6 <2014-05-07>`
|
2014-04-24 12:33:38 -04:00
|
|
|
|
* :bug:`-` `paramiko.file.BufferedFile.read` incorrectly returned text strings
|
|
|
|
|
after the Python 3 migration, despite bytes being more appropriate for file
|
|
|
|
|
contents (which may be binary or of an unknown encoding.) This has been
|
|
|
|
|
addressed.
|
|
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
`paramiko.file.BufferedFile.readline` continues to return strings, not
|
|
|
|
|
bytes, as "lines" only make sense for textual data. It assumes UTF-8 by
|
|
|
|
|
default.
|
|
|
|
|
|
|
|
|
|
This should fix `this issue raised on the Obnam mailing list
|
|
|
|
|
<http://comments.gmane.org/gmane.comp.sysutils.backup.obnam/252>`_. Thanks
|
|
|
|
|
to Antoine Brenner for the patch.
|
2014-04-16 15:51:01 -04:00
|
|
|
|
* :bug:`-` Added self.args for exception classes. Used for unpickling. Related
|
|
|
|
|
to (`Fabric #986 <https://github.com/fabric/fabric/issues/986>`_, `Fabric
|
|
|
|
|
#714 <https://github.com/fabric/fabric/issues/714>`_). Thanks to Alex
|
|
|
|
|
Plugaru.
|
2014-04-16 15:07:56 -04:00
|
|
|
|
* :bug:`-` Fix logging error in sftp_client for filenames containing the '%'
|
|
|
|
|
character. Thanks to Antoine Brenner.
|
2014-04-14 17:38:05 -04:00
|
|
|
|
* :bug:`308` Fix regression in dsskey.py that caused sporadic signature
|
|
|
|
|
verification failures. Thanks to Chris Rose.
|
2014-04-14 11:29:41 -04:00
|
|
|
|
* :support:`299` Use deterministic signatures for ECDSA keys for improved
|
|
|
|
|
security. Thanks to Alex Gaynor.
|
2014-04-14 11:05:25 -04:00
|
|
|
|
* :support:`297` Replace PyCrypto's ``Random`` with `os.urandom` for improved
|
|
|
|
|
speed and security. Thanks again to Alex.
|
2014-04-14 10:48:55 -04:00
|
|
|
|
* :support:`295` Swap out a bunch of PyCrypto hash functions with use of
|
2014-04-14 10:50:12 -04:00
|
|
|
|
`hashlib`. Thanks to Alex Gaynor.
|
2014-03-22 21:26:16 -04:00
|
|
|
|
* :support:`290` (also :issue:`292`) Add support for building universal
|
|
|
|
|
(Python 2+3 compatible) wheel files during the release process. Courtesy of
|
|
|
|
|
Alex Gaynor.
|
2014-03-21 14:23:03 -04:00
|
|
|
|
* :support:`284` Add Python language trove identifiers to ``setup.py``. Thanks
|
|
|
|
|
to Alex Gaynor for catch & patch.
|
2014-03-14 00:52:34 -04:00
|
|
|
|
* :bug:`235` Improve string type testing in a handful of spots (e.g. ``s/if
|
|
|
|
|
type(x) is str/if isinstance(x, basestring)/g``.) Thanks to ``@ksamuel`` for
|
|
|
|
|
the report.
|
2014-03-14 00:37:02 -04:00
|
|
|
|
* :release:`1.13.0 <2014-03-13>`
|
2014-03-14 00:36:26 -04:00
|
|
|
|
* :release:`1.12.3 <2014-03-13>`
|
2014-03-14 00:35:48 -04:00
|
|
|
|
* :release:`1.11.5 <2014-03-13>`
|
2014-03-14 00:25:44 -04:00
|
|
|
|
* :release:`1.10.7 <2014-03-13>`
|
2014-03-13 14:15:20 -04:00
|
|
|
|
* :feature:`16` **Python 3 support!** Our test suite passes under Python 3, and
|
2014-03-27 17:02:03 -04:00
|
|
|
|
it (& Fabric's test suite) continues to pass under Python 2. **Python 2.5 is
|
|
|
|
|
no longer supported with this change!**
|
2014-03-13 14:15:20 -04:00
|
|
|
|
|
|
|
|
|
The merged code was built on many contributors' efforts, both code &
|
|
|
|
|
feedback. In no particular order, we thank Daniel Goertzen, Ivan Kolodyazhny,
|
|
|
|
|
Tomi Pieviläinen, Jason R. Coombs, Jan N. Schulze, ``@Lazik``, Dorian Pula,
|
|
|
|
|
Scott Maxwell, Tshepang Lekhonkhobe, Aaron Meurer, and Dave Halter.
|
2014-03-04 19:16:29 -05:00
|
|
|
|
* :support:`256 backported` Convert API documentation to Sphinx, yielding a new
|
|
|
|
|
API docs website to replace the old Epydoc one. Thanks to Olle Lundberg for
|
|
|
|
|
the initial conversion work.
|
2014-02-14 14:53:42 -05:00
|
|
|
|
* :bug:`-` Use constant-time hash comparison operations where possible, to
|
|
|
|
|
protect against `timing-based attacks
|
|
|
|
|
<http://codahale.com/a-lesson-in-timing-attacks/>`_. Thanks to Alex Gaynor
|
|
|
|
|
for the patch.
|
2014-02-14 12:39:11 -05:00
|
|
|
|
* :release:`1.12.2 <2014-02-14>`
|
2014-02-14 12:38:14 -05:00
|
|
|
|
* :release:`1.11.4 <2014-02-14>`
|
2014-02-14 12:36:33 -05:00
|
|
|
|
* :release:`1.10.6 <2014-02-14>`
|
2014-02-11 18:10:39 -05:00
|
|
|
|
* :feature:`58` Allow client code to access the stored SSH server banner via
|
2014-03-04 20:43:30 -05:00
|
|
|
|
`Transport.get_banner <paramiko.transport.Transport.get_banner>`. Thanks to
|
|
|
|
|
``@Jhoanor`` for the patch.
|
2014-02-13 12:48:58 -05:00
|
|
|
|
* :bug:`252` (`Fabric #1020 <https://github.com/fabric/fabric/issues/1020>`_)
|
2014-02-14 12:16:35 -05:00
|
|
|
|
Enhanced the implementation of ``ProxyCommand`` to avoid a deadlock/hang
|
|
|
|
|
condition that frequently occurs at ``Transport`` shutdown time. Thanks to
|
|
|
|
|
Mateusz Kobos, Matthijs van der Vleuten and Guillaume Zitta for the original
|
|
|
|
|
reports and to Marius Gedminas for helping test nontrivial use cases.
|
2014-02-13 12:50:05 -05:00
|
|
|
|
* :bug:`268` Fix some missed renames of ``ProxyCommand`` related error classes.
|
2014-02-13 12:40:53 -05:00
|
|
|
|
Thanks to Marius Gedminas for catch & patch.
|
2014-02-10 20:59:32 -05:00
|
|
|
|
* :bug:`34` (PR :issue:`35`) Fix SFTP prefetching incompatibility with some
|
|
|
|
|
SFTP servers regarding request/response ordering. Thanks to Richard
|
2014-02-14 12:32:05 -05:00
|
|
|
|
Kettlewell.
|
2014-02-10 20:59:25 -05:00
|
|
|
|
* :bug:`193` (and its attentant PRs :issue:`230` & :issue:`253`) Fix SSH agent
|
2014-01-22 15:48:32 -05:00
|
|
|
|
problems present on Windows. Thanks to David Hobbs for initial report and to
|
|
|
|
|
Aarni Koskela & Olle Lundberg for the patches.
|
2014-01-30 13:45:00 -05:00
|
|
|
|
* :release:`1.12.1 <2014-01-08>`
|
2014-01-30 13:40:29 -05:00
|
|
|
|
* :release:`1.11.3 <2014-01-08>`
|
2014-01-22 15:48:32 -05:00
|
|
|
|
* :release:`1.10.5 <2014-01-08>`
|
2014-02-11 17:26:34 -05:00
|
|
|
|
* :bug:`225 (1.12+)` Note ecdsa requirement in README. Thanks to Amaury
|
|
|
|
|
Rodriguez for the catch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`176` Fix AttributeError bugs in known_hosts file (re)loading. Thanks
|
2014-01-22 15:48:32 -05:00
|
|
|
|
to Nathan Scowcroft for the patch & Martin Blumenstingl for the initial test
|
|
|
|
|
case.
|
2014-01-30 13:45:00 -05:00
|
|
|
|
* :release:`1.12.0 <2013-09-27>`
|
2014-01-30 13:40:29 -05:00
|
|
|
|
* :release:`1.11.2 <2013-09-27>`
|
2014-02-11 17:23:15 -05:00
|
|
|
|
* :release:`1.10.4 <2013-09-27>`
|
2014-03-13 14:15:34 -04:00
|
|
|
|
* :feature:`152` Add tentative support for ECDSA keys. **This adds the ecdsa
|
|
|
|
|
module as a new dependency of Paramiko.** The module is available at
|
|
|
|
|
`warner/python-ecdsa on Github <https://github.com/warner/python-ecdsa>`_ and
|
|
|
|
|
`ecdsa on PyPI <https://pypi.python.org/pypi/ecdsa>`_.
|
2014-01-30 13:45:00 -05:00
|
|
|
|
|
|
|
|
|
* Note that you might still run into problems with key negotiation --
|
|
|
|
|
Paramiko picks the first key that the server offers, which might not be
|
|
|
|
|
what you have in your known_hosts file.
|
|
|
|
|
* Mega thanks to Ethan Glasser-Camp for the patch.
|
|
|
|
|
|
2014-01-30 13:55:10 -05:00
|
|
|
|
* :feature:`136` Add server-side support for the SSH protocol's 'env' command.
|
|
|
|
|
Thanks to Benjamin Pollack for the patch.
|
2014-02-11 17:23:50 -05:00
|
|
|
|
* :bug:`156 (1.11+)` Fix potential deadlock condition when using Channel
|
|
|
|
|
objects as sockets (e.g. when using SSH gatewaying). Thanks to Steven Noonan
|
|
|
|
|
and Frank Arnold for catch & patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`179` Fix a missing variable causing errors when an ssh_config file has
|
2014-01-22 15:48:32 -05:00
|
|
|
|
a non-default AddressFamily set. Thanks to Ed Marshall & Tomaz Muraus for
|
|
|
|
|
catch & patch.
|
2014-01-29 18:05:52 -05:00
|
|
|
|
* :bug:`200` Fix an exception-causing typo in ``demo_simple.py``. Thanks to Alex
|
2014-01-22 15:48:32 -05:00
|
|
|
|
Buchanan for catch & Dave Foster for patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`199` Typo fix in the license header cross-project. Thanks to Armin
|
2014-01-22 15:48:32 -05:00
|
|
|
|
Ronacher for catch & patch.
|
2014-01-29 18:20:49 -05:00
|
|
|
|
* :release:`1.11.1 <2013-09-20>`
|
2014-01-22 15:48:32 -05:00
|
|
|
|
* :release:`1.10.3 <2013-09-20>`
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`162` Clean up HMAC module import to avoid deadlocks in certain uses of
|
2014-01-22 15:48:32 -05:00
|
|
|
|
SSHClient. Thanks to Gernot Hillier for the catch & suggested fix.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`36` Fix the port-forwarding demo to avoid file descriptor errors.
|
2014-01-22 15:48:32 -05:00
|
|
|
|
Thanks to Jonathan Halcrow for catch & patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`168` Update config handling to properly handle multiple 'localforward'
|
2014-01-22 15:48:32 -05:00
|
|
|
|
and 'remoteforward' keys. Thanks to Emre Yılmaz for the patch.
|
2014-01-29 18:06:14 -05:00
|
|
|
|
* :release:`1.11.0 <2013-07-26>`
|
2014-01-22 15:48:32 -05:00
|
|
|
|
* :release:`1.10.2 <2013-07-26>`
|
2014-01-29 18:06:14 -05:00
|
|
|
|
* :bug:`98 major` On Windows, when interacting with the PuTTY PAgeant, Paramiko
|
|
|
|
|
now creates the shared memory map with explicit Security Attributes of the
|
|
|
|
|
user, which is the same technique employed by the canonical PuTTY library to
|
|
|
|
|
avoid permissions issues when Paramiko is running under a different UAC
|
|
|
|
|
context than the PuTTY Ageant process. Thanks to Jason R. Coombs for the
|
|
|
|
|
patch.
|
|
|
|
|
* :support:`100` Remove use of PyWin32 in ``win_pageant`` module. Module was
|
|
|
|
|
already dependent on ctypes for constructing appropriate structures and had
|
|
|
|
|
ctypes implementations of all functionality. Thanks to Jason R. Coombs for
|
|
|
|
|
the patch.
|
|
|
|
|
* :bug:`87 major` Ensure updates to ``known_hosts`` files account for any
|
|
|
|
|
updates to said files after Paramiko initially read them. (Includes related
|
|
|
|
|
fix to guard against duplicate entries during subsequent ``known_hosts``
|
|
|
|
|
loads.) Thanks to ``@sunweaver`` for the contribution.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`153` (also :issue:`67`) Warn on parse failure when reading known_hosts
|
2014-01-29 18:05:52 -05:00
|
|
|
|
file. Thanks to ``@glasserc`` for patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`146` Indentation fixes for readability. Thanks to Abhinav Upadhyay for
|
2014-01-22 15:48:32 -05:00
|
|
|
|
catch & patch.
|
|
|
|
|
* :release:`1.10.1 <2013-04-05>`
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`142` (`Fabric #811 <https://github.com/fabric/fabric/issues/811>`_)
|
2014-01-22 15:48:32 -05:00
|
|
|
|
SFTP put of empty file will still return the attributes of the put file.
|
|
|
|
|
Thanks to Jason R. Coombs for the patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`154` (`Fabric #876 <https://github.com/fabric/fabric/issues/876>`_)
|
2014-01-22 15:48:32 -05:00
|
|
|
|
Forwarded SSH agent connections left stale local pipes lying around, which
|
|
|
|
|
could cause local (and sometimes remote or network) resource starvation when
|
|
|
|
|
running many agent-using remote commands. Thanks to Kevin Tegtmeier for catch
|
|
|
|
|
& patch.
|
|
|
|
|
* :release:`1.10.0 <2013-03-01>`
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :feature:`66` Batch SFTP writes to help speed up file transfers. Thanks to
|
2014-01-22 15:48:32 -05:00
|
|
|
|
Olle Lundberg for the patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`133 major` Fix handling of window-change events to be on-spec and not
|
2014-01-22 15:48:32 -05:00
|
|
|
|
attempt to wait for a response from the remote sshd; this fixes problems with
|
|
|
|
|
less common targets such as some Cisco devices. Thanks to Phillip Heller for
|
|
|
|
|
catch & patch.
|
2014-01-29 18:05:52 -05:00
|
|
|
|
* :feature:`93` Overhaul SSH config parsing to be in line with ``man
|
|
|
|
|
ssh_config`` (& the behavior of ``ssh`` itself), including addition of parameter
|
2014-01-22 15:48:32 -05:00
|
|
|
|
expansion within config values. Thanks to Olle Lundberg for the patch.
|
2014-01-29 18:05:52 -05:00
|
|
|
|
* :feature:`110` Honor SSH config ``AddressFamily`` setting when looking up
|
2014-01-22 15:48:32 -05:00
|
|
|
|
local host's FQDN. Thanks to John Hensley for the patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :feature:`128` Defer FQDN resolution until needed, when parsing SSH config
|
2014-01-22 15:48:32 -05:00
|
|
|
|
files. Thanks to Parantapa Bhattacharya for catch & patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :bug:`102 major` Forego random padding for packets when running under
|
2014-01-29 18:16:04 -05:00
|
|
|
|
``*-ctr`` ciphers. This corrects some slowdowns on platforms where random
|
|
|
|
|
byte generation is inefficient (e.g. Windows). Thanks to ``@warthog618`` for
|
|
|
|
|
catch & patch, and Michael van der Kolff for code/technique review.
|
2014-01-29 18:05:52 -05:00
|
|
|
|
* :feature:`127` Turn ``SFTPFile`` into a context manager. Thanks to Michael
|
2014-01-22 15:48:32 -05:00
|
|
|
|
Williamson for the patch.
|
2014-01-29 18:05:52 -05:00
|
|
|
|
* :feature:`116` Limit ``Message.get_bytes`` to an upper bound of 1MB to protect
|
|
|
|
|
against potential DoS vectors. Thanks to ``@mvschaik`` for catch & patch.
|
|
|
|
|
* :feature:`115` Add convenience ``get_pty`` kwarg to ``Client.exec_command`` so
|
2014-01-22 15:48:32 -05:00
|
|
|
|
users not manually controlling a channel object can still toggle PTY
|
|
|
|
|
creation. Thanks to Michael van der Kolff for the patch.
|
2014-01-29 18:05:52 -05:00
|
|
|
|
* :feature:`71` Add ``SFTPClient.putfo`` and ``.getfo`` methods to allow direct
|
2014-01-22 15:48:32 -05:00
|
|
|
|
uploading/downloading of file-like objects. Thanks to Eric Buehl for the
|
|
|
|
|
patch.
|
2014-01-29 18:05:52 -05:00
|
|
|
|
* :feature:`113` Add ``timeout`` parameter to ``SSHClient.exec_command`` for
|
2014-01-22 15:48:32 -05:00
|
|
|
|
easier setting of the command's internal channel object's timeout. Thanks to
|
|
|
|
|
Cernov Vladimir for the patch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :support:`94` Remove duplication of SSH port constant. Thanks to Olle
|
2014-01-22 15:48:32 -05:00
|
|
|
|
Lundberg for the catch.
|
2014-01-22 17:25:08 -05:00
|
|
|
|
* :feature:`80` Expose the internal "is closed" property of the file transfer
|
2014-01-29 18:05:52 -05:00
|
|
|
|
class ``BufferedFile`` as ``.closed``, better conforming to Python's file
|
|
|
|
|
interface. Thanks to ``@smunaut`` and James Hiscock for catch & patch.
|