Change Log
1.1.2
Changes
No code changes.
Packaging
Added Windows Python 3.7 and 3.13 wheel builds.
Removed manylinux 2010 wheels.
Wheel builds now use embedded libssh and zlib.
Dockerfiles and scripts updates.
1.1.1
Changes
Support for Python >=3.12.
Upgraded embedded and wheel
libssh2to1.11.1.Upgraded wheel OpenSSL to 3.4.0.
Removed testing for Python versions <3.8.
Fixes
Calling
ssh2.session.Session.methodswithout a valid connection would cause a segfault - #203.
Packaging
Added binary wheels for Python versions 3.11, 3.12 and 3.13 on support manylinux wheel builds.
Added OSX 12.0, 13.0 and 14.0 wheels, Apple Silicon.
Support OSX brew OpenSSL from source builds.
Top level tests directory is now cross platform and can be run by vendors.
Moved CI specific integration tests to their own space.
1.0.0
Changes
Upgraded embedded and wheel libssh2 to 1.10.0.
Upgraded wheel OpenSSL to 1.1.1q.
Added testing for Python 3.10.
Removed testing for Python 3.7.
Packaging
Added OSX 12.0 wheels.
Removed OSX <= 10.0 wheels.
0.27.0
Changes
Python 3.10 support.
Fixes
Objects depending on
ssh2.Sessionwould sometimes cause segfault on interpreter shutdown.
Packaging
Added manylinux-2014 ARM (aarch64) wheel builds - #156 - Thanks @enaydanov
Added manylinux-2014 x86_64 wheels for all currently available Python 3 versions.
Added Windows 3.10 wheels.
Added OSX 11.6, 11.5 and 11.4 wheels.
0.26.0
Changes
Enabled
ssh2.fileinfo.FileInfoattributes on Windows builds - #131.
0.25.0
Changes
Added new in libssh2 1.9.0 errors as exceptions.
Added
Session.methods,Session.method_prefandSession.supported_algsfunctions.Added supported method types as
ssh2.session.LIBSSH2_METHOD_*.
0.24.0
Changes
Session.forward_listen_exnow returns (Listener,bound_port) tuple.Added new in libssh2 1.9.0 host key and hash type attributes to
ssh2.session.Added new in libssh2 1.9.0 known host key attributes to
ssh2.knownhost.
0.23.0
Changes
Added
ssh2.sftp.LIBSSH2_SFTP_ATTR_*constants for checking and setting SFTP attributes.
Fixes
Session.userauth_keyboardinteractivewould cause segmentation fault.
0.20.0
Changes
Added helper function
ssh2.utils.find_eolfor finding end of line characters in buffer.
0.19.0
Changes
Updated embedded libssh2 version to
1.9.0.Rebuilt sources with Cython
0.29.21.Added support for Python 3.8 and 3.9.
Fixes
Session.userauth_publickey_frommemorywould not work without an empty passphrase provided - #86
Packaging
Added Python 3.8 binary wheels for Linux, OSX and Windows.
Added Python 3.9 binary wheels for Linux.
Added OSX 10.14 and 10.15 wheels.
Removed OSX < 10.14 wheels.
Removed Python 2.7 OSX and Windows wheels.
Removed Python 3.5 OSX and Windows wheels.
Removed Windows 32-bit wheels.
0.18.0
Changes
Session object de-allocation no longer calls session disconnect.
Channel object de-allocation no longer calls channel close.
Rebuilt sources with Cython
0.29.6.Updated Linux and Windows binary wheels to OpenSSL 1.1.
Updated embedded
libssh2to latest master.Added
Ed25519publickey support vialibssh2and OpenSSL upgrades.
Packaging
Source distribution builds would not include embedded libssh2 module in package - #51
Removed OSX 10.10 binary wheel builds - deprecated by Travis-CI.
Updated embedded OpenSSL version for Windows wheel builds.
0.17.0.post2
Packaging
Updated embedded OpenSSL version for Windows wheel builds.
0.17.0.post1
Packaging
Source distribution builds would not include embedded libssh2 module in package - #51
Removed OSX 10.10 binary wheel builds - deprecated by Travis-CI.
0.17.0
Changes
SFTPHandle.writefunction changed to return tuple ofreturn_code, bytes_writtenfor non-blocking applications to be able to handle partial writes within an SFTP write resulting from a blocked socket.Channel.write*functions changed to return tuple ofreturn_code, bytes_writtenas above.
Behaviour in blocking mode has not changed. Non-blocking applications will now need to handle these functions returning a tuple and resume writes from last written offset of given data.
0.16.0
Changes
Added
Session.sockpublic attribute for getting socket used bySession.Source distribution default
libssh2build target updated to upstreamlibssh2master branch.Added bundled libssh2 source code for current master branch to repository and source distribution.
Added automatic build of bundled libssh2 code for source builds and
SYSTEM_LIBSSH2environment variable to control building and linking against system provided libssh2. This will require additional steps for Windows platforms and older libssh2 versions - see documentation.Updated binary wheels for all platforms to latest libssh2.
Added keep alive API implementation - #47.
0.15.0
Changes
Updated
session.userauth_publickey*functions to make providing public key and private key passphrase optional.SFTP write calls write on all parts of buffer before returning.
Fixes
session.last_error()would always return empty string.
0.14.0
Changes
SFTP,SFTPHandle,ListenerandPublicKeySystemfunctions updated to raise specific exceptions for all knownlibssh2errors.Removed exceptions
SFTPHandleError,SFTPBufferTooSmallandSFTPIOErrorthat do not have correspondinglibssh2error codes.Re-generated all C code with latest Cython release.
Fixes
Removed duplicate libssh2 definitions.
Re-enabled system package releases.
System package builds would not work correctly - #25.
0.13.0
Changes
Upgrade embedded
libssh2in binary wheels to latest version plus enhancements.Adds support for ECDSA host and client keys.
Adds support for SHA-256 host key fingerprints.
Added SSH agent forwarding implementation.
Windows wheels switched to OpenSSL back end.
Windows wheels include zlib and have compression enabled.
Windows wheels no MAC and no encryption options enabled, same as posix wheels.
SCP functions now raise appropriate exception for all known libssh2 error codes.
ssh2.session.Session.disconnectnow returns0on success and raises exceptions on errors.All session
userauth_*functions now raise specific exceptions.
Fixes
SCP functions could not be used in non-blocking mode.
Note - libssh2 changes apply to binary wheels only. For building from source see documentation.
0.11.0
Changes
Session functions now raise exceptions.
Channel functions now raise specific exceptions.
SCP errors now raise exceptions.
SFTP open handle errors now raise exceptions.
Added exceptions for all known libssh2 error codes.
Added
ssh2.utils.handle_error_codesfunction for raising appropriate exception from error code.Added file types to
ssh2.sftp.
Fixes
Double de-allocation crash on objects being garbage collected in some rare cases.
0.10.0
Changes
Added
ssh2.channel.Channel.shellfor opening interactive shells.
Fixes
ssh2.channel.Channel.process_startupwould not handle request types with no message correctly.
0.9.1
Fixes
Binary wheels would have bad version info and require git for installation - #17
0.9.0
Changes
Enabled embedded libssh2 library functionality for versions >= 1.6.0.
0.8.0
Changes
Implemented known host API, all functions.
Added hostkey method on Session class for retrieving server host key.
Added server host key verification from known hosts file example.
Added exceptions for all known host API errors.
0.7.0
Changes
Exceptions moved from C-API to Python module
Fixes
PyPy build support
0.6.0
Changes
Implemented last_errno and set_last_error session functions
Agent authentication errors raise exceptions
C-API refactor
SFTP IO errors raise exceptions
Fixes
Crash on de-allocation of channel in certain cases
SFTP
readdir_exdirectory listing (long entry) was not returned correctly
0.5.5
Changes
Accept both bytes and unicode parameters in authentication with public key from memory.
Fixes
Unicode -> bytes parameter conversion would fail in some cases.
0.5.4
Fixes
Agent authentication thread safety.
0.5.3
Changes
Win32 build compatibility.
Binary wheels for Linux, OSX and Windows, all Python versions, with embedded libssh2 and OpenSSL (embedded OpenSSL is Linux and OSX only).
OSX CI builds.
Fixes
Session initialisation thread safety.
Agent thread safety.
0.5.2
No code changes.
0.5.1
Changes
Implemented public key subsystem for public key management on remote servers
Added all libssh2 error codes to
ssh2.error_codes
0.5.0
Changes
Implemented SFTP statvfs and SFTP handle fstatvfs methods.
Implemented SFTPStatVFS extension class for file system statistics.
SFTP read and readdir functions now return size/error code along with data.
SFTP handle fstat now returns attributes.
Implemented SFTP handle readdir* methods as python generators.
Block directions function renamed to match libssh2.
Example scripts.
All session authentication methods now raise
AuthenticationErroron failure.
Fixes
SFTP readdir functions can now be used in non-blocking mode
Use of SFTP openddir via context manager
0.4.0
Changes
Implemented SCP send and recv methods, all versions.
Conditional compilation of features requiring newer versions of libssh2.
Implemented channel receive window adjust, x11_*, poll and handle extended data methods.
Implemented session get/set blocking, get/set timeout.
Updated agent connection error exception name.
Renamed session method name to match libssh2.
Info extension classes for SCP file stat structure.
0.3.1
Changes
Added context manager to SFTP handle
Implemented SFTP write, seek, stat, fstat and last_error methods.
Implemented SFTPAttribute object creation and de-allocation - added unit test.
0.3.0
Changes
Updated API
Updated session, channel, agent and pkey to accept any string type arguments.
Added get_exit_signal implementation for channel.