PowerTCP SSH and SFTP for .NET

from $349.00
Available Platforms

Product Release History for PowerTCP SSH and SFTP for .NET

The following is a list of public releases for all components shipped with PowerTCP SSH and SFTP for .NET (Latest Release 2023-11-30)


PowerTCP SSH and SFTP for .NET

   Current Version:   Released: 2023-11-30


Changes in this release:

  • To more accurately reflect property functionality; Optimizations.ReadAheadBuffers has been marked obsolete and Optomizations.ReadBuffers added to replace it.
  • Both Optimizations.ReadAheadBuffers and Optimizations.ReadBuffers have been clamped to a minimum value of 1.
  • An ArgumentOutOfRangeException will be thrown if a value less than 1 is provided to Optimizations.ReadBuffers.

    Fixes in this release:

    • Resolved an issue where a file downloaded would be 0 bytes long if Sftp.Optimizations.ReadAheadBuffers was set to 0.


    Released: 2023-10-18


    Changes in this release:

    • Licensing has been refactored. Please review documentation here.
    • .NET Framework 4.5+ is now required as support for .NET Framework 3.5 has been deprecated. (Please contact sales@dart.com an assembly for a previous version of .NET Framework is needed.)
    • Improved Visual Studio Integration.
    • Full support for .NET 6 and .NET 7.
    • (COM) The License object has been renamed to ComLicense.
    • (COM) Licensing for COM has changed. Please review documentation here.
    • Refactored internal packet queueing resulting in a modest performance increase and less network traffic.
    • Dart.Ssh.Standard.dll has been renamed to Dart.Ssh.dll.


    New Features in this release:

    • Support for RSA-SHA2-256, RSA-SHA2-384, and RSA-SHA2-512 host key algorithms has been added.
    • Support for the ssh-ed25519 host key algorithm has been added.


    Fixes in this release:

    • An issue where some KEX and Host Key algorithms were not available under some .NET Frameworks has been resolved.
    • An issue where re-keying would fail if compression was being used has been fixed. (1134)
    • An issue where the StateChanged event did not fire directly after TCP connect has been fixed. (1135)
    • An issue where an incorrect timeout exception would be thrown during KEX negotiation has been fixed and the correct exception will now be thrown. (1136)


    Released: 2020-12-03


    • Fixed a minor compatibility issue so that Dart.Ssh.Standard.dll can be used with .NET 5.0.


    Released: 2018-09-04


    • The following hash algorithms have been added: hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com


    Released: 2018-07-11


    Product fixes in this release:

    • Files will now be truncated at their current size when a transfer completes regardless of the file size reported by the server. (1047)


    Released: 2018-06-21


    • Added support for .NET Standard 2.0 and .NET Core 2.0
    • New .NET Core 2.0 sample projects, referencing the Dart.Ssh.Standard.dll
    • Updated trial license operation for use on .NET Standard-compatible platforms
    • Details regarding trial operation for Dart.Ssh.Standard.dll can be found in the Licensing and Trial Operation topic in the included help documentation


    Product fixes in this release:

    • Resolved an issue where the component would wait until a timeout expired before returning data. Data is now returned as soon as it is available. (1037)
    • SessionStream.CanTimeout now returns the correct value. (1038)
    • An issue where the component could crash VB6 if no license was present has been resolved. (1039)

    Released: 2017-04-20


    • Added support for the Elliptic Curve Diffie Hellman key exchange algorithms NIST P-256, NIST P-384, and NIST P-521.
    • Added support for the Elliptic Curve digital signature server hostkey algorithms NIST P-256, NIST P-384, and NIST P-521.
    • Added support to public key authentication for SSH.com/SSH2-formatted private keys.
    • Unified and normalized *nix path manipulation and *nix <> Windows path conversion with the new static UnixPath class.


    Released: 2017-03-08


    • Visual Studio 2017 compatibility.


    Product fixes in this release:

    • A race condition that could result in multi-factor authentication failing has been addressed. (985)


    Released: 2016-11-16


    • Reduced the number of threads required for multiple asynchronous transfers resulting in increased transfer rates and better performance.
    • All cryptography classes are now chosen using reflection so the most secure .NET Framework cryptography classes will be used for the targeted .NET Framework.
    • The KexExchangeAlgorithms property has been added to the Connection class to allow for the modification of kex algorithms to be presented during connection negotiation.
    • Enhanced FIPs support; cryptographic handshake lists now list the strongest available cryptography algorithms as determined by the targeted .NET Framework.


    Developer Note: The Optimizations.WriteAheadBuffers property has been deprecated as refinements to our SFTP packet handling algorithms have rendered it obsolete.


    Released: 2016-09-07


    • Support for multiple concurrent file transfers over a single SFTP connection when supported by the server. OpenSsh and BitVise support multiple concurrent uploads, multiple concurrent downloads, and concurrent uploads and downloads at the same time; other servers may be less robust.
    • Up to a 50% increase in transfer speed.
    • Introduced support for standard SSH compression and OpenSsh's "zlib@openssh.com" compression implementation.
    • Improved handling of invalid filename characters when transferring files from a non-Windows server to a windows client.
    • Introduced support for the diffie-hellman-group-exchange-sha256 key exchange algorithm.


    Released: 2016-04-08


    Product fixes in this release:

    • A compatibility issue with some servers which results in the key exchange failing when using hmac-sha2-512 as the MAC algorithm and diffie-helman-group-exchange-sha1 as the KEX algorithm has been resolved. (865)


    Released: 2015-12-18


    • Support for hmac-sha2-256 and hmac-sha2-512 MAC algorithms was added.


    Product fixes in this release:

    • An IsSocket property was added to the SftpFileAttributes class to indicate when a file name corresponds to a network socket. (591)
    • Symbolic permissions will now be parsed and displayed correctly. (603)
    • Local file handles will always be closed first when a transfer ends or is aborted. (618)
    • The Sftp.Progress event will now fire after local file handles are closed when a transfer is aborted. (619)
    • The NegotiateException class has been made public. (631)
    • Exceptions will no longer be thrown from Sftp.Dispose(). (657)
    • An "Unexpected end of sftp stream" exception will no longer be thrown when a transfer is aborted. (664)
    • Exceptions now preserve their full callstack when thrown. (681)
    • Dart.Ssh.EventArgs has been renamed to Dart.Ssh.BaseEventArgs to avoid a conflict with System.EventArgs. The Ssh.StateChanged and Sftp.StateChanged events will need to be modified to reflect this change. (724)
    • Resuming a file transfer now works as expected. (733)
    • RemoveResult.RemotePath is now absolute as documented. (735)


    Released: 2014-09-16


    • The Sftp.Optimizations property has been added in order to provide a more cohesive interface and greater control over transfer speed optimizations.


    Interface Changes:

    • The Sftp.WritePipelining property has been marked obsolete and replaced by the Optimizations.WriteAheadBuffers property and will be removed in the next release.
    • The Sftp.ReadAheadBuffers and Sftp.BlockSize properties have been marked obsolete and relocated to the Sftp.Optimizations property.
    • IsAuthenticationComplete and IsAuthenticationPartialSuccess methods have been marked obsolete and replaced by the AuthenticationComplete and AuthenticationPartialSuccess properties.


    Product fixes in this release:

    • Using a wild card to retrieve multiple files from the root directory will no longer result in the first character of every file name to be removed. (423)
    • Some server configurations do not allow SSH_FX_APPEND flag to be used when opening a file on the server. The Sftp.Optimizations.UseAppend property was added to control whether the SSH_FX_APPEND flag is used or not. (544)
    • AcceptAllHostKeys was added to the COM interface for the Ssh.Connection and Sftp.Connection properties. (564)


    Released: 2014-03-05


    • The SFTP Pipelining implementation has been further refined resulting in faster file transfer performance.
    • An automated authentication method has been added that attempts to discern which login method(s) should be used based on server supported authentication methods and credentials available in the LoginData object. Developers should review the documentation for the SshConnection.Authenticate(SshLoginData loginData) method for details.
    • The Sftp.WritePipelining property has been added so that SFTP pipelining during write operations can be disabled for high latency situations where write pipelining may saturate the socket resulting in data loss.


    Product fixes in this release:

    • Previously, the banner event only fired when using the "None" authentication method, it now fires when using any authentication method. Note: Changes in banner event functionality were necessary in order to provide support for all authentication methods. Developers should review the Banner event documentation for new implementation details. (TFS312)
    • When downloading multiple files using the wildcard get overload, all invalid filename and path characters are now replaced with a '_' on the local machine. (TFS421)
    • An issue where downloading multiple files using the wildcard get overload could result in the first character to be truncated from local file names has been corrected when downloading from the root directory. (TFS423)


    Released: 2013-09-24


    • Improved the default authentication mechanism so that if Login authentication fails Keyboard-Interactive login will be automatically be tried.
    • Improved file transfer rate by implementing SFTP Pipelining. The number of buffers to use per transfer is controlled by the Sftp.ReadAheadBuffers property.


    Released: 2012-10-24


    • Updated for Visual Studio 2012 integration and Windows 8 compatibility.
    • Trial licensing operation updated.


    Product fixes in this release:

    • Addressed a globalization issue that prevented correct operation for systems using the following language cultures: Azeri (az), Azeri-Latin (az-Latn), Azeri-Latin-Azerbaijan (az-Latn-AZ), Turkish (tr), Turkish-Turkey (tr-TR) (TFS31)


    Released: 2012-07-12


    Product fixes in this release:

    • Fixed a licensing issue with web service applications.
    • Updated the title bar of licensing messages to not indicate a product is in trial when it is licensed.


    Released: 2012-06-27


    • Updated trial operation behavior and removed obstacle to using product in .NET Framework 4.5.


    Released: 2012-04-11


    • It is now possible to set the LocalEndPoint when using the Ssh or Sftp components.
    • Added an AutoSetTime property to control whether the file's timestamp is updated after a file is uploaded to a server.
    • The product is now FIPS-compliant. Only cryprography algorithms that are FIPS-certified are used when a system's security policy requires FIPS algorithms only.
    • The Progress event now provides more data, including completion percentage of a file or multi-copy operation.
    • This release includes several new samples, including a WCF service sample, a web-based file upload sample (utilizing the PowerWEB File Upload for ASP.NET component), and a VT Emulation sample (utilizing the PowerTCP Emulation for .NET component).


    Product fixes in this release:

    • Fixed problem connecting to ipSwitch WS_FTP Server with SSH version 7.5. (5367)
    • An invalid operation exception is not thrown at the time an invalid working directory is specified. (5369)
    • Progress now fires when status is Completed. Progress now fires for folders, not just files. (5463)
    • Renamed the Move method to "Rename" to better indicate its use. (5484)
    • Progress event is no longer raised twice at the end of a transfer. (5500)
    • Addressed null reference exception when no response was provided in the Challenge event handler. (5540)
    • Overhauled Connect timeouts. There is now a single parameter for timeout, which covers the connection and key exchange. (5547, 5423)
    • Fixed threading synchronization issues that would manifest when multiple components were used in parallel. (5584, 5200)
    • VB6 will no longer crash when Sftp.AutoSetTime is true and the server does not permit attributes to be set (issue present in hotfix release only). (5605)
    • Fixed issue where occasionally list responses would be missing or have extra data. (5616)


    Released: 2010-10-13


    • PowerTCP SSH and SFTP for .NET 4.x leverages a .NET 2.0+ re-design, filling a gap in the .NET Framework and providing an ease of use for developing a broad spectrum of SSH-2 file transfer and online applications.
    • Improved Asynchronous Support uses fewer resources, is more flexible, and produces code that is easier to maintain
    • Improved Use of .NET Features including generics and IPv6
    • Secure SSH Session and SFTP (SSH File Transfer Protocol) Components
    • Username/password and PEM public key authentication
    • Encryption/decryption using Triple DES and AES
    • Upload, download and delete files; create and remove directories
    • Parse listings automatically
    • Wildcard support for multi-file transfers (mput and mget)
    • Cancel and restart transfers
    • Multiple sessions over a single connection
    • COM interface for use in COM environments such as VB6


    Released: 2010-02-12


    • A new ReadTimeout property has been added to SessionStream. (4941)


    Product fixes in this release:

    • Local port forwarding is now supported. (4976)
    • The IsActive property is now correctly updated to false when a connection is lost. (4990)
    • Transferring a zero byte file no longer results in a divide by zero exception. (5020)
    • File size can now be retrieved even when the server does not support file attribute requests. (5032)
    • Fixed a PEM certificate parsing error. (5096)
    • Fixed a key negotiation issue with Cisco servers. (5135)
    • Fixed an issue with overwriting existing during uploading. (5150)


    Released: 2008-12-24


    • An EnableMultipleSessions boolean has been added to the interface. Multiple SFTP sessions can now be disabled for servers that do not support them.


    Product fixes in this release:
    • Addressed null reference problem with SshSession.Read call. (4910)
    • ATime and MTime values are no longer 5 hours off. (4919)
    • Exceptions are now available in XXXCompleted event handlers. (4932)
    • Addressed a compatibility issue with Globalscape. Connecting no longer produces a "the subsystem request failed" error message. (4966)


    Released: 2008-09-15


    • PowerTCP SSH and SFTP for .NET Released PowerTCP SSH and SFTP for .NET allows .NET developers to add powerful SSH-2 file transfer and online session capabilities to their applications. With all the features our customers have come to expect, this new product is a perfect companion to our FTP for .NET, Telnet for .NET and Emulation for .NET products.


    Released: 2008-08-18


    • PowerTCP SSH and SFTP for .NET will be released in September, 2008.

      Interested in trying the beta release or being added to the release notification list?

      For information, please contact Jamie Powell at jamie.powell@dart.com, or give us a call at 315-339-8040, Monday through Friday, 8:30 a.m. - 5:30 p.m. EST.