SmartFTP FTP Library Changelog

What's new in SmartFTP FTP Library 4.0.663.0

Apr 11, 2024
  • New x64 setup
  • SSH: Added support for ed448 keys

New in SmartFTP FTP Library 4.0.662.0 (Dec 23, 2023)

  • Added timeout for connections through proxies (SOCKS, HTTP)
  • SSH: Added support for strict kex extension

New in SmartFTP FTP Library 4.0.661.0 (Sep 15, 2023)

  • Updated C++/VB.NET/C# samples
  • Added Utils::MessageFromHRESULT helper
  • SSH: Removed non-standardized sntrup761

New in SmartFTP FTP Library 4.0.659.0 (Jun 9, 2023)

  • SFTP: Added support for [email protected]
  • Use argon2 implementation from openssl
  • Enabled security feature eXtended Flow Guard (XFG)
  • Requires Windows 10 / Windows Server 2016 or newer

New in SmartFTP FTP Library 4.0.658.0 (Apr 11, 2022)

New in SmartFTP FTP Library 4.0.655.0 (Oct 5, 2021)

  • SSH: Added support for proprietary OpenSSH certificates

New in SmartFTP FTP Library 4.0.654.0 (Sep 23, 2021)

  • Support for Windows 10 Version 21H2
  • Internal: Simplified regular expressions in order to use CTRE version 3.x
  • Support for Windows Server 2022

New in SmartFTP FTP Library 4.0.653.0 (Mar 24, 2021)

  • Added Delphi SFTP sample
  • Support for Windows 10 Version 21H1

New in SmartFTP FTP Library 4.0.650.0 (Nov 2, 2020)

  • Support for Windows 10 Version 20H2

New in SmartFTP FTP Library 4.0.646.0 (Aug 22, 2020)

  • FTP: TLS 1.3 is now supported on Windows 10 Insider builds, starting with Build 20170

New in SmartFTP FTP Library 4.0.645.0 (Jul 26, 2020)

  • SSH: Added support for SSH authentication agent (OpenSSH for Windows, KeeAgent)

New in SmartFTP FTP Library 4.0.641.0 (Apr 24, 2020)

  • Support for Windows 10 Version 2004
  • Removed proprietary cruve25519 and ed25519 implementation

New in SmartFTP FTP Library 4.0.639.0 (Feb 28, 2020)

  • Support for Windows 10 Version 1909

New in SmartFTP FTP Library 4.0.631.0 (Jul 30, 2019)

  • Added method to load private key from certificate store. See IKeyManager::LoadFromCertificateStore

New in SmartFTP FTP Library 4.0.629.0 (Jun 25, 2019)

  • SSH: Restored support for insecure DSA keys.

New in SmartFTP FTP Library 4.0.627.0 (Mar 27, 2019)

  • Removed dependency to shlwapi.dll

New in SmartFTP FTP Library 4.0.625.0 (Feb 9, 2019)

  • SSH: removed support for deprecated DSA client and host keys.

New in SmartFTP FTP Library 4.0.624.0 (Feb 4, 2019)

  • Maintenance release

New in SmartFTP FTP Library 4.0.623.0 (Nov 5, 2018)

  • FTP directory listing parser now use compile time regular expressions
  • Support for Windows 10 Version 1809

New in SmartFTP FTP Library 4.0.622.0 (Jul 22, 2018)

  • Adds support to read Ed25519 private keys from openssl .pem files
  • CNG (instead of CryptoAPI) is used to read private keys from .pfx (PKCS#12) files

New in SmartFTP FTP Library 4.0.621.0 (Jul 5, 2018)

  • Important: Include the api-ms-win-core-libraryloader-l1-2-0.dll in the deployment on Windows 7 and Windows Server 2008 R2

New in SmartFTP FTP Library 4.0.603.0 (Dec 14, 2017)

  • Built with Visual Studio 2017 15.5. Updated CRT.

New in SmartFTP FTP Library 4.0.588.0 (Sep 16, 2017)

  • FTP: Added workaround for broken CCC implementation in IBM Connect:Enterprise FTP server.

New in SmartFTP FTP Library 4.0.581.00 (Jun 5, 2017)

  • UTF-8 is the default fallback character encoding now.

New in SmartFTP FTP Library 4.0.570.0 (Apr 18, 2017)

  • FTP: SITE UTIME is no longer used to set the file time

New in SmartFTP FTP Library 4.0.566.0 (Apr 18, 2017)

  • FTP: Improved support for IBM z/OS FTP server

New in SmartFTP FTP Library 4.0.561.0 (Mar 20, 2017)

  • Built with Visual Studio 2017

New in SmartFTP FTP Library 4.0.551.0 (Dec 13, 2016)

  • SSH: Added diffie-hellman-group16-sha512 kex

New in SmartFTP FTP Library 4.0.550.0 (Dec 13, 2016)

  • SSH: Removed support for pre-authentication compression (zlib)
  • SSH: Removed diffie-hellman-group1-sha1 kex
  • SSH: Added diffie-hellman-group14-sha256 kex (draft-ietf-curdle-ssh-kex-sha2)
  • SSH: Added curve25519-sha256 kex (draft-ietf-curdle-ssh-kex-sha2)

New in SmartFTP FTP Library 4.0.546.0 (Dec 13, 2016)

  • The .NET interop assembly is now included in the setup
  • FTP: Added support for new unix.ownername and unix.groupname facts
  • Samples: Updated Powershell samples

New in SmartFTP FTP Library 4.0.524.0 (Nov 6, 2016)

  • API: Removed OnTransferStart, OnTransferEnd, OnTransferProgress events. Pass a ITransferProgressEvents interface to the transfer methods instead.
  • API: Removed TransferProgressEventInterval property
  • API: Added HRESULT error descriptions to message file. Get the error description with the FormatMessage win32 API.
  • API: Replaced LogFile property with new FileLogger. Refer to the samples for details.
  • API: Removed OnStatus event from connection event interfaces. Use the ILogger interface instead.

New in SmartFTP FTP Library 4.0.524.0 (May 31, 2016)

  • API: Removed OnTransferStart, OnTransferEnd, OnTransferProgress events. Pass a ITransferProgressEvents interface to the transfer methods instead.
  • API: Removed TransferProgressEventInterval property
  • API: Added HRESULT error descriptions to message file. Get the error description with the FormatMessage win32 API.
  • API: Replaced LogFile property with new FileLogger. See the samples for details.
  • API: Removed OnStatus event from connection event interfaces. Use the ILogger interface instead.

New in SmartFTP FTP Library 4.0.508.0 (Mar 14, 2016)

New in SmartFTP FTP Library 4.0.505.0 (Mar 5, 2016)

  • Important: libeay32.dll renamed to libcrypto32.dll

New in SmartFTP FTP Library 4.0.504.0 (Mar 3, 2016)

  • SSH: Added support for ssh-ext-info (server-sig-algs, no-flow-control)

New in SmartFTP FTP Library 4.0.503.0 (Mar 2, 2016)

  • SSH: Added support for rsa-sha2-256 and rsa-sha2-512 (draft-rsa-dsa-sha2-256)
  • SSH: diffie-hellman-group1-sha1 is scheduled for removal

New in SmartFTP FTP Library 4.0.486.0 (Nov 2, 2015)

  • SSH: Refusing all RSA keys smaller than 1024 bits

New in SmartFTP FTP Library 4.0.477.0 (Sep 14, 2015)

  • FTPS: RC4 is now disabled regardless of the schannel registry settings

New in SmartFTP FTP Library 4.0.475.0 (Sep 6, 2015)

  • SSH: Removed deprecated RC4 (arcfour*) ciphers

New in SmartFTP FTP Library 4.0.471.0 (Jul 28, 2015)

  • Support for Windows 10

New in SmartFTP FTP Library 4.0.465.0 (May 26, 2015)

  • SSH: FIPS mode: Disabled diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1 to comply with NIST Special Publication 800-131A

New in SmartFTP FTP Library 4.0.462.0 (May 9, 2015)

  • New CRT is required. See documentation.

New in SmartFTP FTP Library 4.0.458.0 (Apr 24, 2015)

  • SSH: Removed umac-64
  • SSH: hmac-md5 is disabled by default

New in SmartFTP FTP Library 4.0.448.0 (Mar 18, 2015)

  • SSH: Removed deprecated hmacs (hmac-ripemd160, hmac-sha1-96, hmac-md5-96)

New in SmartFTP FTP Library 4.0.447.0 (Jan 9, 2015)

  • SSH: 3DES, RC4 ciphers are disabled by default
  • SSH: Removed RSA key exchange
  • SSH: Added support for ed25519 host and user keys

New in SmartFTP FTP Library 4.0.444.0 (Nov 25, 2014)

  • SSH: Deprecated old and weak ciphers: cast128-cbc, blowfish
  • SSH: Deprecated HMACs: hmac-md5-96, hmac-sha1-96
  • SSH: Removed workarounds for OpenSSH versions older than 14 years

New in SmartFTP FTP Library 4.0.442.0 (Nov 12, 2014)

  • SSH: Deprecated old and weak ciphers: cast128-cbc, blowfish
  • SSH: Deprecated HMACs: hmac-md5-96, hmac-sha1-96
  • SSH: Removed workarounds for OpenSSH versions older than 14 years

New in SmartFTP FTP Library 4.0.435.0 (Sep 10, 2014)

  • Internal: Refactored all string operations

New in SmartFTP FTP Library 4.0.433.0 (Sep 3, 2014)

  • SSH: Added support for x509v3-ecdsa-sha2- public keys

New in SmartFTP FTP Library 4.0.431.0 (Aug 25, 2014)

  • Removed MSXML dependency
  • Replaced "Active Help" log messages with dedicated error codes
  • Updated samples

New in SmartFTP FTP Library 4.0.423.0 (Jul 18, 2014)

  • Removed MSXML dependency

New in SmartFTP FTP Library 4.0.416.0 (Jun 11, 2014)

  • curve25519: high bit masked to zero

New in SmartFTP FTP Library 4.0.415.0 (Jun 10, 2014)

  • FTP Parser: Added support for dates prior to 1970
  • Improved parser performance

New in SmartFTP FTP Library 4.0.403.0 (Apr 15, 2014)

  • Maintenance release

New in SmartFTP FTP Library 4.0.402.0 (Apr 15, 2014)

  • Performance improvements

New in SmartFTP FTP Library 3.0.236.0 (Jan 18, 2014)

New in SmartFTP FTP Library 3.0.235.0 (Nov 20, 2013)

  • Maintenance release

New in SmartFTP FTP Library 3.0.229.0 (Aug 21, 2013)

  • FTP: Added support for Meditech FTP Server

New in SmartFTP FTP Library 3.0.226.0 (Jul 31, 2013)

  • SSH: Added support for hmac-sha2-256 and hmac-sha2-512 hmacs

New in SmartFTP FTP Library 3.0.224.0 (Jul 20, 2013)

  • SFTP: Reduced number of memory allocations
  • FTP: CertificateThumbprint expects a VARIANT containing a SAFEARRAY (VT_UI1 | VT_ARRAY)

New in SmartFTP FTP Library 3.0.220.0 (Jul 10, 2013)

New in SmartFTP FTP Library 3.0.215.0 (Jun 26, 2013)

  • Fix: FTP: Crash when downloading 0 byte files with MODE Z (zlib) enabled
  • Support for Windows 8.1 Preview
  • Windows 8+: Custom auto tuning for send buffer size is disabled as CTCP is already provided (and enabled by default) by the OS

New in SmartFTP FTP Library 3.0.208.0 (Feb 20, 2013)

  • The license is now saved into the common application data folder (CSIDL_COMMON_APPDATA). E.g. C:\ProgramData\SmartFTP\FTP Library

New in SmartFTP FTP Library 3.0.201.0 (Feb 1, 2013)

  • Maintenance release

New in SmartFTP FTP Library 3.0.193.0 (Jan 3, 2013)

  • Renames: ¦enumProtocol to Protocol
  • enumProtocolFamily to ProtocolFamily
  • enumEncryption to Encryption
  • enumPassiveMode to PassiveMode
  • The following methods take or return a SAFEARRAY(BYTE) instead of a "binary" BSTR now: ¦IAES128CTRWriteStream::SetKey
  • IAES128CTRReadStream::SetKey
  • IAsyncSSLSocketLayer::ClientCertThumbprint property
  • IKey::get_Certificate
  • ICryptoHash::GetValue

New in SmartFTP FTP Library 3.0.192.0 (Dec 3, 2012)

  • Compiled with VS C++ 11

New in SmartFTP FTP Library 3.0.191.0 (Nov 16, 2012)

  • SFTP: Improved transfer performance. Especially for highly compressible data.

New in SmartFTP FTP Library 3.0.188.0 (Nov 10, 2012)

  • FTP: VMS file version is automatically stripped from file name

New in SmartFTP FTP Library 3.0.187.0 (Nov 10, 2012)

  • Added support for multi ip name resolution. By default ipv6 is preferred over ipv4. To change the behavior set the ProtocolFamilyPreference property.

New in SmartFTP FTP Library 3.0.180.0 (Aug 29, 2012)

  • Removed wininet dependency (for IP Repeater)
  • API Change: LoadLicenseKeyFile/LoadLicenseKeyData deprecated. Use LoadLicense(serial) instead

New in SmartFTP FTP Library 3.0.177.0 (Aug 13, 2012)

  • Support for Windows 8 RTM

New in SmartFTP FTP Library 3.0.176.0 (Aug 2, 2012)

  • AS/400: the SITE NAMEFMT 1 command is automatically sent
  • Important: Dynamically linked to zlib1.dll (Do not forget to include the zlib1.dll when deploying your application)

New in SmartFTP FTP Library 3.0.175.0 (Jul 30, 2012)

  • AS/400: the SITE NAMEFMT 1 command is automatically sent

New in SmartFTP FTP Library 3.0.167.0 (Jun 7, 2012)

  • SSH: Support for DSA keys > 1024 bits (FIPS 186-3)

New in SmartFTP FTP Library 3.0.164.0 (Jun 7, 2012)

  • FTP: Improved AS/400 parser.
  • SSHConnection: Added ECDH Key Exchange implementation using OpenSSL

New in SmartFTP FTP Library 3.0.162.0 (Jun 7, 2012)

  • IFTPServerState: Added HomeDirectory property.

New in SmartFTP FTP Library 3.0.160.0 (Jun 7, 2012)

  • IGlobal: Changed signatures of LoadLicenseKeyFile and LoadLicenseKeyData

New in SmartFTP FTP Library 3.0.157.0 (Jan 12, 2012)

  • New License Key is required. Request the new license key by email: http://www.smartftp.com/customer/lost/

New in SmartFTP FTP Library 3.0.156.0 (Dec 20, 2011)

  • FTP: MVS parser updated
  • FTPConnection: Some functions are trying to map FTP errors to Windows error codes (e.g. E_ACCESSDENIED, HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), HRESULT_FROM_WIN32(ERROR_DIR_NOT_EMPTY))

New in SmartFTP FTP Library 3.0.155.0 (Dec 20, 2011)

  • Added properties files (FTPLib.propdesc and FTPLibProperties.h) to setup

New in SmartFTP FTP Library 3.0.152.0 (Dec 20, 2011)

  • API Change:
  • Function errors are now returned in HRESULT instead of extra out variable (enumError).e.g.
  • OLD: enumError = ftpConnection.Connect();
  • NEW: ftpConnection.Connect(); // If there is an error an exception is usually thrown by the COM client
  • Error Handling - .NET (C#, VB.NET etc)
  • Catch COMException exception:
  • try { ftp.Connect(); }
  • catch(COMException e)
  • { e.Hresult; }
  • Error Handling - VBScript:
  • On Error Resume Next
  • objFTP.Connect()
  • hr = Err.Number
  • On Error GoTo 0
  • If hr = 0 Then
  • FTPFXP: Completely rewrote class
  • IFTPConnection:
  • ReadDirectory, ReadDirectoryFromCommand, Stat returning items in retval
  • GetMLST returning item in retval
  • GetFileSize returns file size in retval
  • GetModifyTime returns time in retval
  • Removed LastFileSize, LastPath, LastFileTime, LastItem, Items properties
  • ISFTPConnection:
  • ReadDirectory returning items in retval
  • Stat, LStat, StatEx returning item in retval
  • ReadLink returning path in retval
  • RealPath, RealPathEx returning path in retval
  • Unified ISFTPItem and IFTPItem interface. Use IFTPItem instead of ISFTPItem. And FTPItem class instead of SFTPItem class respectively

New in SmartFTP FTP Library 2.0.128.0 (Jun 30, 2011)

  • SSHConnection: Windows Vista+: Uses DH Key Exchange implementation from BCrypt instead of OpenSSL

New in SmartFTP FTP Library 2.0.127.0 (Jun 30, 2011)

  • SFTPConnection: Better reporting of invalid and unexpected messages.
  • SSH: If "none" was missing from the requested authentication methods, and the first authentication method failed, the same authentication method has been tried again. Now all authentication methods are only tried once.
  • SFTPConnection: Changed signature of DownloadFile, UploadFile methods
  • SFTPConnection: Added file buffering for Upload
  • FTPConnection: Changed signature of Download method
  • SSHConnection: Using AES, DES, 3DES, RC4 for Encryption from CryptoAPI (XP/2003) and BCrypt (Vista+) instead of openssl.
  • SSHConnection: Using SHA1, MD5 for HMAC from CryptoAPI (XP/2003), BCrypt (Vista+) instead of openssl
  • Using SHA1, SHA2, MD5, MD4 from CryptoAPI (XP/2003), BCrypt (Vista+) instead of openssl
  • SSHConnection: Windows Vista+: Added Elliptic Curve Key Exchange (ECDH) (RFC 5656)
  • SSHConnection: Windows Vista+: Added support for Elliptic Curve Host Keys (ECDSA) (RFC 5656)
  • Minimum system requirement: Windows XP SP3 / Windows 2003 SP2

New in SmartFTP FTP Library 2.0.121.0 (Jun 16, 2011)

  • Fix: SFTPClient: There was a theoretical chance that ranged (with end position) downloads may have succeeded without actually reading all data.

New in SmartFTP FTP Library 2.0.118.0 (May 27, 2011)

  • IAsyncSSLSocketLayer: Removed ClientCertName property. Added ClientCertThumbprint property (pass a BSTR with the certificate thumbprint in binary).
  • ICryptoAPIKey: Initialize method takes now a certificate thumbprint (BSTR binary) instead of a certificate common name.

New in SmartFTP FTP Library 2.0.115.0 (Apr 18, 2011)

  • Compiled with Visual Studio 2010 SP1. Updated CRT dlls.

New in SmartFTP FTP Library 2.0.114.0 (Mar 8, 2011)

  • Fix: Windows 7 SP1: Fix for Microsoft's Schannel "hotfix".

New in SmartFTP FTP Library 2.0.113.0 (Mar 8, 2011)

  • Fix: Regression: IFTPConnection: File handles are now guaranteed to be closed before the DownloadFile/UploadFile methods return.

New in SmartFTP FTP Library 2.0.112.0 (Mar 5, 2011)

  • Fix: Regression: IFTPConnection: File handles are now guaranteed to be closed before the DownloadFile/UploadFile methods return.

New in SmartFTP FTP Library 2.0.107.0 (Jan 12, 2011)

  • IFTPItem, ISFTPItem: Removed methods with AsUnixTime suffix. Use the IUtils::FileTimeToUnixTime method to convert the date/time

New in SmartFTP FTP Library 2.0.104.0 (Jan 3, 2011)

  • SFTPConnection: Added fallback if sftp subsystem is not enabled
  • FTPConnection: Changed signature of DownloadFileEx and UploadFileEx method. Removed DownloadFileEx2 method.
  • SFTPConnection: Changed signature of DownloadFileEx method.
  • FTPConnection: Added support for RANG

New in SmartFTP FTP Library 2.0.101.0 (Dec 8, 2010)

  • Dynamically linked to CRT and Standard C++ library. Do not forget to deploy the msvcr100.dll and msvcp100.dll files if you are not already using the Microsoft_VC100_ATL_x86.msm merge module from Microsoft.

New in SmartFTP FTP Library 2.0.99.0 (Nov 19, 2010)

  • FTP: Disabled STAT for old versions of SurgeFTP
  • FTP: HASH support is now compliant with draft-bryan-ftp-hash-08
  • Updated Samples

New in SmartFTP FTP Library 2.0.97.0 (Nov 11, 2010)

  • Changed sfFTPLib version in manifest from 1.5.0.0 to 2.0.0.0. Update the dependency in your manifest if you are using SxS.

New in SmartFTP FTP Library 2.0.96.0 (Nov 11, 2010)

  • IAsynBaseSocketLayer: Added TotalBytesSent and TotalBytesReceived properties.
  • IGlobal: Added TotalBytesSent and TotalBytesReceived properties.
  • FTP: UNIX.Mode for MLST/MLSD is now requested by default

New in SmartFTP FTP Library 2.0.94.2 (Nov 11, 2010)

  • Fix: Global->LogFile failed if called more than once

New in SmartFTP FTP Library 2.0.94.0 (Nov 11, 2010)

  • FTP: PASV fail-over for EPSV
  • FTP/SFTP: Hard coded sanitization of filenames (max len = 255), paths (max len = 64 * 1024) and other data fields coming from the server (max len = 512)
  • FTP: Better error reporting for TLS authentication with a client cert.

New in SmartFTP FTP Library 2.0.92.0 (Oct 8, 2010)

  • SSH: Added client side keep alive feature (KeepAliveInterval property).

New in SmartFTP FTP Library 2.0.91.0 (Oct 4, 2010)

  • Fix: If an IOException (unable to read/write file) is thrown during a transfer the Upload/Download functions now return an error.

New in SmartFTP FTP Library 2.0.90.0 (Oct 4, 2010)

  • Updated documentation.
  • Unspecified changes.

New in SmartFTP FTP Library 2.0.88.0 (Aug 18, 2010)

  • DownloadFile/UploadFile methods no longer call Seek on the provided IStream.

New in SmartFTP FTP Library 2.0.86.0 (Jul 29, 2010)

  • FTP: Workaround for Windows_CE's FTP server

New in SmartFTP FTP Library 2.0.81.0 (Jun 3, 2010)

  • Fix: Regression: Type library not correctly registered on Windows XP/2003

New in SmartFTP FTP Library 2.0.80.0 (May 29, 2010)

  • SFTPClient: Compatibility fix for SSH-2.0-SSHD
  • SFTPClient: Compatibility fix for ReflectionForSecureIT

New in SmartFTP FTP Library 2.0.77.0 (May 25, 2010)

  • FTPItem: Changed enumItemType. ftpItemTypeFile -> ftpItemTypeRegular, ftpItemTypeFolder -> ftpItemTypeDirectory, ftpItemTypeLink -> ftpItemTypeSymLink
  • SFTPItem: Renamed enumSFTPItemType to enumItemType
  • SFTPItem: Supports IPropertyStore interface
  • FTPItem: Supports IPropertyStore interface
  • FTPItem: Renamed UnixAttributes property to UnixPermissions
  • FTPConnection: Renamed SetUnixAttributes method to SetUnixPermissions
  • FTPItem: Removed SizeUnit property. All sizes are in bytes now.
  • FTPConnection: Removed LastTransferStartPosition.

New in SmartFTP FTP Library 2.0.69.0 (May 12, 2010)

  • Various fixes.

New in SmartFTP FTP Library 2.0.67.0 (May 3, 2010)

  • FTP: Added (better) support for virtual hosts. Use the FEAT property to send the FEAT command before and after the login

New in SmartFTP FTP Library 2.0.62.0 (Apr 13, 2010)

  • Internal Refactoring: Replaced CAutoPtr, CAutoVectorPtr with std::unique_ptr, boost::scoped_ptr, boost::scoped_array
  • Added file buffering to improve write performance to UNC share
  • TLS: Rewrote SSL/TLS layer
  • Various small changes

New in SmartFTP FTP Library 2.0.59.0 (Mar 26, 2010)

  • Added ISimpleConnection. For example for Telnet or Telnet over SSL
  • SSH: Added support for openssh keep alive requests
  • FTP: Added support for CleverComponents Inet Suite
  • FTP: Improved detection of FTP servers

New in SmartFTP FTP Library 2.0.54.0 (Mar 16, 2010)

  • FTP: Added support for SITE COPY extension for copying files on the same server.
  • FTP: Changed FEAT parser
  • Added IAsyncSSLSocketLayer interface
  • FTPConnection: Moved all SSL/TLS related properties to their own interface
  • FTPConnection: Added SSLSocketLayer property
  • FTPServerState: Moved RemoteCert property to SSL interface.
  • IConnectionInfo: Renamed to ISecurityConnectionInfo
  • Added IAsyncBaseSocketLayer interface
  • Added IAsyncLimitSocketLayer interface
  • Moved socket buffer sizes members into BaseSocketLayer
  • SSHConnection: Moved TransferLimitUpload/TransferLimitDownload to LimitSocketLayer
  • Added ILogFile interface
  • FTPConnection/SFTPConnetion/SSHConnection: Moved LogFile, LogFormat properties to new ILogFile interface

New in SmartFTP FTP Library 2.0.51.0 (Mar 4, 2010)

  • Added strings for TLS 1.1 and TLS 1.2

New in SmartFTP FTP Library 2.0.49.0 (Feb 15, 2010)

  • Unspecified fixes
  • Compiled with VS 2010 RC

New in SmartFTP FTP Library 2.0.44.0 (Jan 14, 2010)

  • Using worker thread pool for better scalability. Meaning constant number of threads for n connections.
  • SFTPConnection: Split up SFTPConnection into SFTP and SSH part. Results in major API changes.
  • SFTPConnection: Added VendorId property
  • SFTPConnection: Added ConnectionInfo property
  • SFTPConnection: Added GetSpaceAvailable() extended method.
  • SFTPConnection: Added CopyFile() extended method.
  • Fix: SFTPConnection: GetFileHash().
  • FTPConnection: Added detection and parser for SecurePortal2000
  • FTPConnection: Reduced request/reply delay.
  • FTPConnection: No longer sends MFTM if not advertised
  • FTPConnection: No longer automatically adds -T to LIST if server=servu

New in SmartFTP FTP Library 1.5.34.0 (Nov 2, 2009)

  • Fix: Transfer limit

New in SmartFTP FTP Library 1.5.33.0 (Oct 27, 2009)

  • New transfer limit implementation

New in SmartFTP FTP Library 1.5.32.0 (Oct 22, 2009)

  • Added PowerShell samples
  • Added listing decoder for GXS Information Exchange FTP Gateway
  • Added listing decoder for GXS Enterprise
  • Added support for GXS Enterprise path handling
  • Added manifest to openssl (libeay32.dll) for SxS.

New in SmartFTP FTP Library 1.5.30.0 (Oct 1, 2009)

  • Code cleanup (COM functions won't throw memory exceptions, memory leak protection in case of exceptions).
  • lbeay32.dll got a version resource

New in SmartFTP FTP Library 1.5.28.0 (Oct 1, 2009)

  • Fix: Regression: FTP: Transfer limit was broken since 1.5.25.0

New in SmartFTP FTP Library 1.5.27.0 (Oct 1, 2009)

  • FTP: Added ftpProxyTypeProxyUserAtUserAtHost FTP proxy type. e.g. for McAfee Web Gateway (formerly Webwasher)

New in SmartFTP FTP Library 1.5.26.0 (Sep 2, 2009)

  • Fix: Pre-Windows Vista: MUI resources were not loaded

New in SmartFTP FTP Library 1.5.25.0 (Aug 31, 2009)

  • Removed MFC dependency
  • Merged proxy into dll

New in SmartFTP FTP Library 1.5.23.0 (Aug 28, 2009)

  • Dynamically linked to openssl (libeay32.dll). If you use a custom libeay32.dll make sure it exports the FIPS-140 functions

New in SmartFTP FTP Library 1.5.21.0 (Aug 28, 2009)

  • Fix: Windows 7: Unknown was displayed for the algo name if the TLS session was using AES128-256
  • Dropped support for Windows 2000. Removed all legacy code.
  • New setup (Windows 7 compatible)

New in SmartFTP FTP Library 1.5.19.1 (Jul 17, 2009)

  • Fix: FIPS with AES CTR

New in SmartFTP FTP Library 1.5.18.1 (Jun 17, 2009)

  • Fully MUI aware. Don't forget to deploy the en-USsfFTPLib.dll.mui file
  • Fix: RSAKey/DSAKey: Key generation failed.
  • Fix: SSHConnection: Public key authentication with DSA key file failed.

New in SmartFTP FTP Library 1.5.17.47 (May 26, 2009)

  • SSHConnection: Added support for x509 client and host certificates

New in SmartFTP FTP Library 1.5.17.46 (May 26, 2009)

  • SSHConnection: Added support for GSSAPI Microsoft Kerberos. Use the GSSAPIMethod property to select the GSSAPI method

New in SmartFTP FTP Library 1.5.17.45 (May 20, 2009)

  • SSHConnection: Added support for gssapi-mic (Kerberos v5) authentication
  • Fix: FTPConnection: StreamFilter (e.g. File Encryption) was broken if compression was enabled
  • FTPParser: Tweak for UNIX listing decoder

New in SmartFTP FTP Library 1.5.17.42 (May 15, 2009)

  • SSHConnection: Added support for arcfour128, arcfour256
  • SSHConnection: Changed order of default ciphers

New in SmartFTP FTP Library 1.5.17.41 (May 14, 2009)

  • Updated documentation
  • SSHConnection: Added support for certificates (e.g. Smart Card) from Windows certificate store. See ICryptoAPIKey

New in SmartFTP FTP Library 1.5.17.39 (May 4, 2009)

  • FIPS 180-2 compliant. Set IGlobal::FIPS property to true to enable FIPS mode.
  • Updated openssl.

New in SmartFTP FTP Library 1.5.17.32 (Apr 8, 2009)

  • Change: SFTPConnection: Changed all SAFEARRAY(VARIANT) function arguments to VARIANT* to support VB6

New in SmartFTP FTP Library 1.5.17.31 (Apr 7, 2009)

  • Fix: SFTPConnection: ReadDirectory() failed for protocol version 6 if the server did not include the end-of-list flag in the packet

New in SmartFTP FTP Library 1.5.17.28 (Mar 31, 2009)

  • Fix: SFTPConnection: SetStat was not setting correct last modified time for protocol version

New in SmartFTP FTP Library 1.5.17.26 (Mar 23, 2009)

  • SFTPConnection: Added ServerHostKeyAlgorithms to specify supported host key algos (rsa, dss)
  • ISFTPItems: Added support for IEnumSFTPItem
  • IFTPItems: Added support for IEnumFTPItem

New in SmartFTP FTP Library 1.5.17.24 (Mar 18, 2009)

  • FTPConnection: Data transfers protected by SSL/TLS reuses the control connection SSL session

New in SmartFTP FTP Library 1.5.17.23 (Mar 17, 2009)

  • SFTPConnection: Fix for SetStat if SFTP version >= 4.
  • SFTPConnection: Language support (Languages property)

New in SmartFTP FTP Library 1.5.17.19 (Mar 2, 2009)

  • SFTPConnection: Added support for RSA Key Exchange (rsa1024-sha1).
  • Dropped support for Windows 98 and Windows Me

New in SmartFTP FTP Library 1.5.17.17 (Mar 2, 2009)

  • KeyManager: Fixed bug when importing putty AES encrypted private keys.
  • FTP: Fixed C++ and VB.NET samples

New in SmartFTP FTP Library 1.5.17.15 (Feb 11, 2009)

  • FTPItems, FTPItem: Implemented IPersistStreamInit and IPersistStream interface

New in SmartFTP FTP Library 1.5.17.12 (Jan 12, 2009)

  • SFTP: Workaround for GXS SSHD.
  • SFTP: Fix for SSH servers sending additional lines before the remote id

New in SmartFTP FTP Library 1.5.17.8 (Dec 30, 2008)

  • FTP Samples: Fixed C++ and C# sample.

New in SmartFTP FTP Library 1.5.17.7 (Dec 22, 2008)

  • IFTPParser: Improved parser performance.
  • IFTPConnection: Moved LookupFeature method to IFTPServerState interface.
  • IFTPConnection: Removed deprecated methods: IsServerFeature, IsServerSoftWindows. (They are available in the IFTPServerState interface).
  • _IFTPConnectionEvents: Removed most of the events.
  • IFTPItems: Rewrote class. Added thread safety.
  • IFTPConnection: Added detection for z/OS. ftpFTPServerSoftzOS (enumFTPServerSoft)
  • IFTPItems: Added Load/Save method to serialize items to XML. Added FTP/Scripts/SerializeXML.wsf sample
  • IFTPConnection: Renamed SetFileTime to SetModifyTime and GetFileTime to GetModifyTime.
  • IFTPConnection: Added SetCreateTime.
  • IFTPConnection: GetFileHash failed to return the value if the server did not include leading 0s

New in SmartFTP FTP Library 1.5.16.0 (Dec 3, 2008)

  • Internal refactoring.
  • IFTPConnection: Added SendHOST property to control the behavior of the HOST command

New in SmartFTP FTP Library 1.5.15.10 (Dec 3, 2008)

  • New regexp engine.

New in SmartFTP FTP Library 1.5.15.8 (Dec 3, 2008)

  • SFTPConnection: Resolve host name did not return if host name could not be resolved.
  • FTPConnection: Fixed bug with CSID reply parser.

New in SmartFTP FTP Library 1.5.15.4 (Nov 22, 2008)

  • FTPItem: Changed property Date to ModifyTimeAsDate.
  • FTPItem: Changed property UnixTime to ModifyTimeAsUnixTime.
  • FTPItem: Changed property FileTime to ModifyTimeAsFileTime.
  • FTPItem: Added CreateTimeAsUnixTime, CreateTimeAsFileTime properties.

New in SmartFTP FTP Library 1.5.15.1 (Nov 6, 2008)

  • SFTPConnection: Added support for "check-file" extension. Use the GetFileHash method
  • FTPConnection: Changed signature of GetFileHash method
  • FTPConnectionEvents: Removed OnGetFileHash event
  • SFTPConnection: ACSII conversation is skipped if the server's EOL equals the local EOL (
  • SFTPConnection: Added ServerState (ISFTPServerState) property
  • FTPConnection: Moved SYSTReply, FEATReply, WelcomeMessage, ServerType, ServerSoft properties to FTPServerState
  • FTPConnection: Removed RemoteCertContext property
  • FTPConnection: Added RemoteCert property to FTPServerState. The function returns the encoded cert in a variant which contains a safearray of bytes (VT_I1).
  • SFTPConnection: Changed the way the RTT is calculated
  • SFTPConnection: Corrected server change password request behavior

New in SmartFTP FTP Library 1.5.14.18 (Oct 21, 2008)

  • SFTPConnection/FTPConnection: Fixed bug with timeout
  • SFTPConnection: Bug fixes for protocol version 5 and 6

New in SmartFTP FTP Library 1.5.14.13 (Oct 15, 2008)

  • SFTPConnection: Added new MAC [email protected]
  • FTPConnection: Added support for CKSM command
  • Auto Tuning of Socket Buffers
  • SFTPConnection: Fix for key re-exchange
  • SFTPConnection: Added support to switch to None encryption after authentication
  • SFTPConnection: Massively improved download performance over high BDP connections

New in SmartFTP FTP Library 1.5.13.49 (Sep 17, 2008)

  • SFTP: Added support for SFTP protocol version 1 and 2.
  • SFTP: Added support for delayed compression

New in SmartFTP FTP Library 1.5.13.45 (Sep 8, 2008)

  • SFTP: Added VB6 sample.

New in SmartFTP FTP Library 1.5.13.43 (Aug 25, 2008)

  • SFTP: Added client side Ascii conversation.
  • Fix: On the fly file encryption

New in SmartFTP FTP Library 1.5.13.35 (Jul 17, 2008)

  • SFTP: Fixed bug with resume and protocol version 5.
  • FTP: Workaround for Novell Netware's PWD bug.

New in SmartFTP FTP Library 1.5.13.32 (Jun 25, 2008)

  • SFTP: Updated C# sample.
  • FTP: Better detection of hash values from XCRC, XMD5 and XSHA replies.

New in SmartFTP FTP Library 1.5.13.30 (Jun 4, 2008)

  • IKeyManager: Fixed loading of PEM encoded encryted private keys.

New in SmartFTP FTP Library 1.5.13.25 (May 18, 2008)

  • Added IStreamFilter
  • Added IAES128CTRWriteStream and IAES128CTRReadStream

New in SmartFTP FTP Library 1.5.13.10 (Apr 25, 2008)

  • Added CryptoHash class to generate hash values (CRC32, MD4, MD5, SHA1, SHA256) from a file, blob or IStream
  • IFTPItem: Added Fact property to read the MLST facts
  • IFTPConnection: Automatically requests Win32.ea, Win32.dl and Win32.dt facts if server supports them

New in SmartFTP FTP Library 1.5.13.0 (Apr 15, 2008)

  • FTPConnectionEvents: OnTransferListStart / OnTransferListEnd events are no longer used/fired.
  • FTPConnectionEvents: OnTransferStart is now fired as soon as the data connection is connected/accepted. OnTransferEnd when the data connection is closed. If the function (DownloadFile/UploadFile/ReadDirectory) does not open a data connection the events are not fired. It's important to note that it is not necessary a sign that the data transfer was unsuccessful since some servers do not open a data connection to transfer an empty file.

New in SmartFTP FTP Library 1.5.12.44 (Apr 11, 2008)

  • FTPConnection: Added HOST support (The command is only sent for Serv-U right now)
  • FTPConnection: Added Download method which can be used for new THMB command
  • General: Files that have been opened (MSDN: CreateFile) with other applications with the FILE_SHARE_WRITE flag can now be uploaded.
  • FTPConnection: Added LastBytesWritten property to get the number of bytes that have been written to a file after the Download() call

New in SmartFTP FTP Library 1.5.12.36 (Mar 31, 2008)

  • Added IConnectionPool
  • ISFTPItem: Type is automatically set if the Permissions attribute is available (Protocol Version 3)
  • IFTPConnection: Changed detection for WS_FTP Server because it had too many false positives

New in SmartFTP FTP Library 1.5.12.23 (Feb 11, 2008)

  • SSH: Added aes128-ctr, aes256-ctr and aes192-ctr ciphers as defined in RFC 4344

New in SmartFTP FTP Library 1.5.12.6 (Dec 27, 2007)

  • Workaround for WS_FTP Server 6.0's wrong REST reply
  • zlib uses assembler. 40% decompression speed improvement with 64-bit version.

New in SmartFTP FTP Library 1.5.12.2 (Dec 21, 2007)

  • Added SFTP (over SSH2) support - BETA - See the samples in the SamplesSFTP folder.
  • Fixed: Disconnect didn't wait for the QUIT server reply.
  • Updated documentation.

New in SmartFTP FTP Library 1.5.11.20 (Dec 17, 2007)

  • The destructor of the operation is now called before the waiting threads are released. This fixes possible race conditions.

New in SmartFTP FTP Library 1.5.11.6 (Nov 11, 2007)

  • Fixed Connect/Disconnect/Reconnect issued

New in SmartFTP FTP Library 1.5.10.3 (Oct 2, 2007)

  • Added "native" support for file names > MAX_PATH characters. A prefix (?) is now automatically added to local file names for the DownloadFile and UploadFile methods.

New in SmartFTP FTP Library 1.5.9.31 (Aug 24, 2007)

  • Added IFTPServerState class. You can access it through the ServerState property of the IFTPConnection interface. No documentation yet.

New in SmartFTP FTP Library 1.5.9.30 (Aug 23, 2007)

  • Fixed: FTPConnection: Directory property returned object from previous ReadDirectory() call if no bytes have been transferred.
  • Changed ordinal of ftpItemLink from 3 to 4.

New in SmartFTP FTP Library 1.5.9.26 (Jul 7, 2007)

  • Improved support for Connect:Enterprise server.