What's New in Ultimate Ftp

  • v6.8.1 (Sunday, May 21, 2017)

    This release adds support for integration with the new Visual Studio 2017. This version fully supports .NET Framework 4.7 and 4.7.1 coming with the Visual Studio 2017. We are also planning to support .NET Standard 2.0 which is the base framework for .NET Framework, .NET Core, Xamarin iOS, and Xamarin Android.

    Ultimate Ftp

    New

    • Added support for deleting files and directories with long paths in FtpClient & SftpClient examples. Now you can use these examples to delete files and folders with long paths that Windows Explorer and many other programs can't even delete them. CUC-6

    Fixed

    • Improved certificate rejection message CUC-321

    Changed

    • Restored "Controlling file download process" and "Controlling file upload process" topics in help files CUC-359
    • Fixed a bug that causes all multi-file operation to process unexpected files and folders when a relative path is used and path mask is specified in the search condition parameter. CUC-324

    Common

    New

    • Added support for VS2017 and .NET 4.7 CUC-318
  • v6.8 (Monday, March 20, 2017)

    This release adds all missing MVC examples to the SAML component and fixes several security issues and critical bugs in FTP, SFTP, ZIP and FileSystem components. It also brings several updates to all components. From this release, we use a new automated build system and bug tracking system to help us deliver new features and bug fixes faster.

    Ultimate Ftp

    New

    • Added more unit tests for FileExistsAction.OverwriteNewerFiles CUC-32
    • Added the LogSource property to all networking component classes CUC-13
    • Added ILogger interface to all file system and network classes, Imap, Pop3, Smtp, etc. CUC-12
    • Added more cases to test SearchCondition, Download, Upload, Delete with Path Masks ending with '/' and '' CUC-5

    Fixed

    • Fixed a bug that causes the NullReferenceException in the Progress event in some rare cases CUC-308
    • Fixed an issue with loading certificates on UWP CUC-306
    • Fixed a bug that caused VShell server to abort download incorrectly CUC-305
    • Fixed a bug that caused all operations to fail when path length is extractly 260 or 248 CUC-303
    • Fixed a bug that throwed "Invalid key size" exception when connecting to some TLS 1.2 servers CUC-296
    • Fixed a bug in MemoryFileSystem that caused the Move method to fail with long path patterns CUC-66
    • Fixed a Multi-thread File Transfer Issue - SftpMultiThreadFileTransfer example CUC-64
    • Fixed issue with Browse and Resume Upload buttons in FTP | SFTP Resume Transfer example that it is not anchored to the right edge of the form CUC-63
    • Fixed a bug that caused the ListDirectory method to return an item list in an unexpected order in multi-file operations in some cases CUC-19
    • Fixed FtpSftpClient and Archiver examples as they dont have task-based files CUC-8

    Changed

    • [Sample/FtpSftpClient] Made Username Textbox shorter. It's quite long CUC-257
    • Made File System Classes used by ZIP, FTP, SFTP, SCP extensible CUC-164
    • Renamed FileExistsAction to FileOverwriteMode CUC-14
    • Profiled Sftp, Ftp and ZIP component #21 for memory usage and performance, result: Good CUC-4

    Common

    Fixed

    • [Setup] Fixed issue related to locating Visual Studio installed folder CUC-294

    Changed

    • The XTrace class is now an instance class instead of a static class. Use the Default property to access all the logging methods. CUC-307
    • Removed platform icons in API members help topics to make the topics easier to read CUC-162
    • Improved API documentatiion CUC-18
    • Improved the automated build system for all components to allow releasing new features and bug fixes faster CUC-15
  • v6.6 (Wednesday, December 07, 2016)

    Ultimate Ftp

    Fixed

    • [Sample/FtpSftpClient] Corrected username Textbox CUC-413
    • [FileSync] Fixed a bug in file synchronization that caused the destination file not updated when the master item is not specified and the 2nd item's last write time > 1st item's CUC-412
    • Fixed a bug in TransferFiles method that it always gets the current directory of the dest file system before transferring. That might cause "No connected" exception on Remote File Systems in parallel file transfer CUC-411
    • Fixed a bug that throwed "Pending operation" exception CUC-392
    • Added a workaround for DHE_RSA_xx issue CUC-391
    • Enchanced parsing WIN32.EA extended attribute CUC-390
    • [FileSystem] Fixed a bug with that causes a path like "aa***.txt" not match "aa\abc.txt" CUC-386
    • Fixed a bug that causes files in the root directory like '/' or C:\ not to be transferred or deleted CUC-385
    • Fixed a bug related to PathNormalization property: Paths starting with "//" should not be normalized when PathNormalization is false CUC-384
    • Fixed a bug in MemoryFileSystem that caused the Move method to fail with long path patterns CUC-383

    Changed

    • Reduced the unnecessary commands sent to the server when transferring CUC-491
    • Setup package now takes much less time to install extensions to Visual Studio CUC-395
    • Resurrected Medium-trust support CUC-389
    • UploadFiles and DownloadFiles methods are renamed to Upload and Download respectively CUC-388
    • [FileSystem] MoveFiles and DeleteFiles methods were renamed to Move and Delete respectively CUC-387

    Common

    Changed

    • Updated all code snippets' titles CUC-393
  • v6.5 (Monday, November 07, 2016)

    Ultimate Ftp

    Fixed

    • Fixed minor issue conneting to FTP servers using TLS/SSL v1.2 CUC-417
    • Added support for WinPcl CUC-416
    • Added support for UWP CUC-415
    • Added support for Xamarin.Mac CUC-414
  • v6.4 (Sunday, September 18, 2016)

    Ultimate Ftp

    Fixed

    • Improved certificate validation CUC-501
    • Improved some error messages CUC-500
    • Fixed an issue with UNC path CUC-499
    • Better support for long path in Windows CUC-498
    • Fixed some issues with file transfer engine for single file CUC-497
    • Fixed serveral bugs with path resolving in file transfer engine CUC-418

    Changed

    • Added support for TLS1.2 CUC-421
    • Enhanced support for SOCK4, SOCK5 and HTTPCONNECT proxy servers CUC-420
  • v6.1 (Sunday, August 17, 2014)

    Ultimate Ftp

    New

    • Fixed an issue in the assemblies that Xamarin did not recognize the InternalVisible attribute (Xamarin's bug) CUC-663

    Fixed

    • Added support for more encryption algorithms to .NET CF components CUC-670
    • Fixed a bug that might cause the Ftp or Sftp to hang when transferring files with multiple threads CUC-669
    • Added ThreadStateChanged event to the FileSystem class get notified when thread state is changed while in a multi-thread file transfer CUC-668
    • DontGetFileInfoBeforeTransferring property is obsoleted, FileInfoPartsToGetBeforeTransferring property is used instead CUC-667
    • Reduced some unnecessary commands when transferring files for better performance CUC-666
    • Added support for extended long path on Windows OS CUC-665
    • Fixed a bug that caused the Write and Read methods of classes that implement the AbstractFileInfo class to throw the NullReference exception CUC-664
    • Improved performance of some critical parts of the library CUC-610
    • Fixed 3 memory consumption issues. The library now comsumes 54% less memory than the previous versions while transferring multiple files CUC-609
  • v6.0 (Monday, July 21, 2014)

    Ultimate Ftp

    New

    • Introduce new DiskFileSystemSynchronization sample project demonstrating how to synchronize local files and directories CUC-523
    • Added Allow renaming file name with invalid characters CUC-518
    • Added the Clone method to MirrorOptions CUC-513
    • Added path masks to the SearchCondition class CUC-507
    • Added Fluent API to SearchCondition class CUC-504
    • Added an option to allow the client to automatically classify ASCII files during transfer CUC-482
    • Added RestoreFileProperties to the Config object to make it possible to restore file attributes like last write time and creation time after a successful transfer CUC-481

    Fixed

    • Improved performance of multi-file operations CUC-525
    • Fixed a bug that caused wrong progress information reported in some rare cases CUC-524
    • Improved support for HMACSHA256/384/512 algorithms on some FIPS-only systems CUC-517
    • Improved support for files and directories with long path CUC-509
    • Fixed several bugs in the methods to process files and directories with extra long path CUC-508
    • Fixed several bugs in SearchCondition class CUC-506
    • More comments and examples added to make the component API easier to understand CUC-503
    • CreateEmptyDirectories property in TransferOptions is now an OptionValue type instead of Boolean type CUC-502
    • Improved performance of multi-file operations CUC-496
    • Internally changed the way to detect and work with FTP servers for stability and extensibility CUC-495
    • Improved the compatibility of the GetFileInfo method with some servers CUC-494
    • Fixed several bugs in internal path resolving CUC-493
    • Improved TLS connection handling CUC-476
    • [FileSystem] Fixed some issues in Async methods that reports the sender object as null reference in some case. CUC-467
    • [FileSystem] Fixed several bugs in reporting progress information CUC-466

    Changed

    • Fixed a bug in ListName that caused an InvalidCastException CUC-522
    • Added a feature to allow renaming file name with invalid characters CUC-521
    • Some overloads of the DownloadFiles and UploadFiles methods now have includeBaseDirectory parameter to indicate whether to also copy the base directory.  This parameter is used as a replacement for the Download and Upload methods CUC-520
    • Download and Upload methods are obsolete, please use DownloadFiles and UploadFiles methods instead CUC-519
    • Imrpoved support for IPv6 CUC-516
    • Introduce new FtpSynchronization to synchronize (1-way and 2-way synchronization) files and directories CUC-515
    • Documentation improved with more example code CUC-514
    • SyncOptions is replaced by MirrorOptions CUC-512
    • FileSystem.Sycnchronize and SynchronizeAsync methods are replaced by Mirror and MirrorAsync methods respectively CUC-511
    • AbstractFileInfo class is replaced by the FileInfoBase class CUC-510
    • Working with the SearchCondition class is now much easier than before CUC-505
    • Fixed a bug that caused wrong progress information reported in some rare cases CUC-492
    • UploadDirectory and DownloadDirectory methods are replaced by Upload and Download methods CUC-480
    • UploadFiles and DownloadFiles now return list of files and transfer statistics CUC-479
    • Now FtpClient, SftpClient, and FtpSftpClient examples share the same code. It demonstrates how to write single code that can be used for both FTP and SFTP CUC-478
    • Now you can specify more than 1 certificates for the certificate required event. Also you receive a list of server certificate instead of one when validating the server certificates CUC-477
    • Settings properties are moved to FtpConfig class. You can access the settings in the Config property of the Ftp class CUC-475

    Common

    New

    • Added support for IBM437 charset CUC-486

    Changed

    • Online Documentation now has support for .NET, .NET CF, Xamarin Android, iOS and Silverlight CUC-488
    • Improved support for FIPS CUC-487
    • Performance optimization CUC-485
    • Async methods BeginXXX and EndXXX are replaced by XXXAsync methods. SynchronizingObject is obsolete and not used CUC-483
  • v5.0 (Wednesday, March 21, 2012)

    Ultimate Ftp

    Fixed

    • [FileSystem] Fixed a bug that reported incomplete information in Progress event CUC-643
    • Fixed a bug that caused the component to use absolute path when transferring file even when ChangeDirectoryBeforeFileOperation is set to true. This is critical to some FTP servers CUC-642
    • Fixed a bug that can throw an exception when FTP server does not support SIZE and LIST commands when transferring files CUC-641
    • Fixed some bug in the file and directory Synchronization methods CUC-557
    • Now can detect GlobalScape better CUC-556
    • Fixed ToString method of the Ftp class to return correct ThreadId and object Id in the returning string CUC-555
    • Introduces RecursiveMode enum which is used for operation on multiple files like uploading, downloading, deleting, etc CUC-554

    Changed

    • Fixed a bug with the progress bar in FtpClient sample project CUC-562
    • Fixed a bug with ReadResponse method that sometimes caused the infinitive loop CUC-561
    • Added FXP Server to Server file transfer CUC-560
    • Added AppendFile method CUC-559
    • Fixed ToString to report correct ThreadId and object Id CUC-558

    Common

    New

    • Added support for .NET 4.0 and Visual Studio 2010 CUC-540

    Changed

    • Separate DLLs for .NET 2.0, 3.5 and 4.0 CUC-541
  • v5.3 (Sunday, April 03, 2011)

    Ultimate Ftp

    New

    • Added WPF examples CUC-589

    Fixed

    • Enchanced path checking on transferring files CUC-628
    • Enchanced multi-file transfer operations CUC-627
    • Fixed a bug that caused an exception when processing broken symlinks CUC-626
    • Fixed a bug that only fire the Progress twice while transferring large files in some case CUC-625
    • More meaningful Handshake error messages that occur during SSL negotiation CUC-608
    • Fixed file mask problem with NameSearchCondition class CUC-607
    • Properly close on a SSL close request CUC-606
    • Transfer speed increased on fast networks CUC-605
    • Better compatibility with the Certicom SSL CUC-604
    • Corrected some examples in Working with files topics CUC-603

    Common

    New

    • Setup package now lets you choose which VS toolbox to add the components to CUC-579
    • Added support for Visual Studio 2013 and .NET 4.5.1 CUC-578
  • v2.0 (Friday, February 12, 2010)

    Ultimate Ftp

    New

    • Fixed some minor bugs in the Synchronize methods CUC-662
    • Fixed some minor bugs when transfer multiple files using multi-threads CUC-661
    • Added support for file transfer monitoring CUC-660
    • Added some more overloads of the TransferFiles method CUC-659
    • Introduced new DiskFileSystem class and IRemoteFileSystem interface CUC-658
    • Added CertificateReceived event to the Ftp class CUC-657
    • Added CertificateRequired event to the Ftp class CUC-656
    • Added CommandResponse event to the Ftp class CUC-655
    • Added some useful properties to the FtpFileInfo class CUC-654

    Changed

    • Added more topics to illustrate how to use new FileSystem architecture CUC-653
    • Ftp now derives from FileSystem base class CUC-652
    • Separated FileSystem class to UltimateFileSystem assembly CUC-651
  • v1.6 (Wednesday, January 20, 2010)

    Ultimate Ftp

    Fixed

    • Improved Ftp Documentation CUC-681
    • Improved Unix file list parser to support more variants of Unix file listings CUC-680
    • Enhanced asynchronous methods CUC-679
    • Fixed a bug related to not detecting closed connection CUC-678
    • Added support for EPLF file OS CUC-677
    • Added StateChanged event CUC-676
    • Added KeepAlive method CUC-675
    • Added BeginUploadFileStream and EndUploadFileStream methods CUC-674
    • Added FileExists and DirectoryExists methods CUC-673
    • Assemblies now have strong names CUC-672
    • Ftp component now is CLS-Compliant CUC-671
  • v1.2 (Wednesday, September 16, 2009)

    Ultimate Ftp

    Fixed

    • Enhanced GetCurrentDirectory method CUC-434

    Changed

    • Added OnXXXCompleted events for asynchronous methods CUC-433
    • Added support for drag and drop the Ftp component from the Visual Studio Toolbox on to Win Form CUC-432
    • Added support for VMS file OS CUC-431
    • Added some overloads for BeginChangeDirectory method CUC-430
    • Added some overloads for BeginAppendFile method CUC-429
    • Added some overloads for BeginLogin method CUC-428
    • Added some overloads for BeginGetFile method CUC-427