FluentFTP 35.0.1

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package FluentFTP --version 35.0.1
NuGet\Install-Package FluentFTP -Version 35.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FluentFTP" Version="35.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FluentFTP --version 35.0.1
#r "nuget: FluentFTP, 35.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FluentFTP as a Cake Addin
#addin nuget:?package=FluentFTP&version=35.0.1

// Install FluentFTP as a Cake Tool
#tool nuget:?package=FluentFTP&version=35.0.1
  • Automatic connection

    • Major: AutoConnect takes far fewer connection attempts due to improvements in connection handling
    • Major: AutoConnect and AutoDetect are much faster and smarter and only try each setting once if possible
    • Major: AutoDetect only tries Explicit and Implicit FTPS once and then falls back to plaintext FTP
    • Major: AutoDetect only tries UTF-8 and never ASCII because most UTF-8 servers don't advertise it
    • New: AutoDetect verifies if the server supports UTF-8 and updates the FtpProfile accordingly
    • New: FtpProfile code generation adds a warning message if the encoding mode is unverified
    • New: AutoConnectAsync now uses true asynchronous connection backed by new AutoDetectAsync
    • New: AutoConnect now auto computes an FTP port unless a non-standard port is already set
    • New: AutoConnect uses the main FtpClient connection rather than creating one clone per attempt
    • Fix: AutoConnect remains connected to the first working profile rather than connecting twice on success
    • Fix: AutoConnect reuses the same connection for FTPS and FTP rather than connecting again
    • Fix: Ensure FTP server capabilities are loaded during AutoDetect if original connection is blank
    • Fix: AutoConnect and AutoDetect will now throw exceptions for permanent failures (bad host/credentials)
    • Fix: ConnectAsync now correctly creates a FTP server-specific handler to match Connect behaviour
    • Fix: ConnectAsync now correctly resets the state flags to match Connect behaviour
    • Fix: Port now correctly calculates the default port 21 when using FtpEncryptionMode.Auto
  • Appending and resuming uploads

    • Major: The setting FtpLocalExists.Append is now renamed to FtpLocalExists.Resume
    • Major: The setting FtpRemoteExists.Append is now renamed to FtpRemoteExists.Resume
    • Major: Split FtpRemoteExists.Append into two properties with distinct behaviour (Resume and AddToEnd)
    • Major: Improvements to UploadFile and UploadFileAsync to support appending and resuming of uploads
    • Major: UploadFile always sets the length of the remote file stream before uploading, appending or resuming
    • Major: UploadFile skips uploading in Resume mode if local and remote file are equal length
    • Fix: Implementation for resuming uploads using UploadFile based on fixes in UploadFileAsync
  • Machine listings

    • Major: GetListing prefers using Machine Listings over LIST command, unless a custom list parser is set
    • Fix: ListingParser property is updated according to auto-detected parser during Connect and ConnectAsync
    • Fix: DeleteDirectory and DereferenceLink methods no longer use ForceList and so prefer using Machine Listings
  • File hashing

    • Major: All low-level hash methods are now inaccessible and GetChecksum is the only recommended approach
    • Fix: GetChecksum now prints function call logs and sanitizes the input path
    • New: GetChecksum switches to the first preferred hash algorithm for HASH command if no algorithm is specified
    • New: GetChecksum validates if the required algorithm is unsupported and throws FtpHashUnsupportedException
    • New: GetChecksum validates if hashing is unsupported by the server and throws FtpHashUnsupportedException
    • Fix: GetChecksumAsync now takes the cancellation token last to follow conventions (argument reorder)
    • Fix: Improved extraction of hash checksum when using the HASH command
    • Fix: Improved extraction of hash checksum when using the MD5, SHA1, SHA256, SHA512 or X-series commands
    • New: SetHashAlgorithm now only modifies the hash algorithm if it has changed
  • Path sanitization

    • Fix: All high level API methods sanitize input paths to improve robustness
    • Fix: GetWorkingDirectory always sanitizes the returned working path directory
    • Fix: Correctly handle server-specific absolute FTP paths for async operations
    • Fix: All function call logs now print the sanitized path rather than raw input path
  • Path improvements

    • Major: GetWorkingDirectory is now extremely fast and caches the working dir path for subsequent calls
    • Fix: FileExists supports checking name listings for Windows NT servers which use invalid slashes
    • Fix: Root directory FTP paths no longer return ./ and instead return /
  • Other improvements

    • Major: All legacy asynchronous methods using IAsyncResult pattern have been removed (outdated since 2012)
    • Fix: FXP file transfers for glFTPd server always try PASV and CPSV commands to get passive port
    • Fix: Add logging for skipped files in UploadFile
    • Fix: Add file path details in skipped files logged by UploadFile and DownloadFile
    • New: GetNameListing to print results of name listing as verbose logs, similar to GetListing
    • New: GetFileSize and GetFileSizeAsync to support a configurable return value if the file does not exist
    • New: FtpFolderNameRule now supports startSegment to skip checking root directory folder names
    • New: FtpFolderNameRegexRule now supports startSegment to skip checking root directory folder names
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.4 is compatible.  netstandard1.5 was computed.  netstandard1.6 is compatible.  netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net20 is compatible.  net35 is compatible.  net40 is compatible.  net403 was computed.  net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (144)

Showing the top 5 NuGet packages that depend on FluentFTP:

Package Downloads
Peachpie.Library

Peachpie PHP language library functions.

HIC.RDMP.Plugin

Core package for plugin development

Zebra.Printer.SDK

The Zebra Link-OS SDK provides a powerful set of APIs enabling creation of apps that take full advantage of the printer's operating system features including, connectivity, printing and management tasks.

Microsoft.Azure.Workflows.WebJobs.Extension The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Extensions for running workflows in Azure Functions

Halforbit.DataStores.FileStores.Ftp

A DataStore FileStore implementation over FTP.

GitHub repositories (32)

Showing the top 5 popular GitHub repositories that depend on FluentFTP:

Repository Stars
files-community/Files
Building the best file manager for Windows
ShareX/ShareX
ShareX is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to many supported destinations you can choose from.
duplicati/duplicati
Store securely encrypted backups in the cloud!
win-acme/win-acme
A simple ACME client for Windows (for use with Let's Encrypt et al.)
ScottPlot/ScottPlot
Interactive plotting library for .NET
Version Downloads Last updated
50.0.1 4,439 4/16/2024
50.0.0 3,128 4/13/2024
49.0.2 288,532 1/27/2024
49.0.1 150,898 12/27/2023
49.0.0 17,089 12/25/2023
48.0.3 409,563 10/28/2023
48.0.2 1,268 10/28/2023
48.0.1 72,864 10/11/2023
48.0.0 135,787 9/19/2023
47.1.0 428,565 7/26/2023
47.0.0 85,067 7/14/2023
46.0.2 954,156 3/13/2023
46.0.1 27,651 3/9/2023
46.0.0 5,372 3/8/2023
45.2.0 88,014 2/24/2023
45.1.0 135,634 2/19/2023
45.0.4 7,725 2/17/2023
45.0.3 8,605 2/16/2023
45.0.2 2,401 2/16/2023
45.0.1 8,095 2/16/2023
45.0.0 2,161 2/16/2023
44.0.1 353,520 1/13/2023
44.0.0 2,262 1/13/2023
43.0.1 159,808 12/25/2022
43.0.0 2,137 12/25/2022
42.2.0 15,584 12/22/2022
42.1.0 195,460 12/1/2022
42.0.2 57,295 11/19/2022
42.0.1 89,674 11/7/2022
42.0.0 154,996 10/23/2022
41.0.0 148,818 10/2/2022
40.0.0 257,631 9/7/2022
40.0.0-beta5 3,751 9/4/2022
40.0.0-beta4 1,653 9/3/2022
40.0.0-beta3 1,696 9/3/2022
40.0.0-beta2 1,833 8/31/2022
40.0.0-beta1 1,702 8/29/2022
39.4.0 296,125 8/23/2022
39.3.0 124,875 8/15/2022
39.2.1 351,137 8/9/2022
39.2.0 6,836 8/9/2022
39.1.0 16,805 8/5/2022
39.0.1 83,615 8/1/2022
39.0.0 14,505 7/28/2022
38.0.0 31,115 7/23/2022
37.1.2 74,282 7/22/2022
37.1.1 40,078 7/17/2022
37.1.0 61,266 7/12/2022
37.0.6 9,147 7/11/2022
37.0.5 56,292 7/2/2022
37.0.4 44,076 6/28/2022
37.0.3 201,729 6/5/2022
37.0.2 2,650,383 2/27/2022
37.0.1 167,768 2/13/2022
37.0.0 84,671 2/6/2022
36.1.0 267,674 1/16/2022
36.0.0 30,850 1/12/2022
35.2.3 225,410 1/1/2022
35.2.2 642,908 12/12/2021
35.2.1 102,577 11/28/2021
35.2.0 237,100 11/21/2021
35.1.0 77,662 11/16/2021
35.0.5 259,569 10/3/2021
35.0.4 237,147 9/5/2021
35.0.3 2,553 9/4/2021
35.0.2 28,669 8/29/2021
35.0.1 2,476 8/29/2021
35.0.0 2,506 8/29/2021
34.0.2 255,342 7/31/2021
34.0.1 137,281 7/16/2021
34.0.0 810,577 5/5/2021
33.2.0 141,804 4/29/2021
33.1.8 35,333 4/27/2021
33.1.7 19,682 4/24/2021
33.1.6 108,622 4/13/2021
33.1.5 57,519 4/7/2021
33.1.4 14,782 3/31/2021
33.1.3 13,686 3/27/2021
33.1.2 4,547 3/26/2021
33.1.1 5,243 3/25/2021
33.1.0 3,735 3/25/2021
33.0.3 1,333,417 11/28/2020
33.0.2 271,895 10/22/2020
33.0.1 18,020 10/20/2020
33.0.0 72,849 10/15/2020
32.4.7 60,624 10/12/2020
32.4.6 5,149 10/9/2020
32.4.5 313,551 9/18/2020
32.4.4 233,995 8/22/2020
32.4.3 1,129,363 5/25/2020
32.4.2 2,532 5/25/2020
32.4.1 95,536 5/14/2020
32.4.0 76,015 4/25/2020
32.3.3 154,239 4/11/2020
32.3.2 23,838 4/8/2020
32.3.1 93,474 4/2/2020
32.3.0 24,457 3/27/2020
32.2.2 193,117 3/17/2020
32.2.1 36,090 3/7/2020
32.2.0 8,537 3/6/2020
32.1.1 26,292 3/5/2020
32.1.0 7,725 3/5/2020
32.0.0 3,147 3/4/2020
31.3.2 37,809 3/3/2020
31.3.1 97,394 2/21/2020
31.3.0 4,556 2/20/2020
31.2.0 33,048 2/18/2020
31.1.0 13,696 2/15/2020
31.0.0 7,245 2/13/2020
30.2.0 29,563 2/10/2020
30.1.1 3,483 2/8/2020
30.1.0 2,550 2/8/2020
30.0.0 113,981 2/1/2020
29.0.4 138,116 1/28/2020
29.0.3 46,669 1/21/2020
29.0.2 14,733 1/17/2020
29.0.1 45,844 1/11/2020
29.0.0 42,503 1/6/2020
28.0.5 188,148 12/11/2019
28.0.4 7,458 12/10/2019
28.0.3 5,948 12/7/2019
28.0.2 172,940 11/22/2019
28.0.1 173,619 10/31/2019
28.0.0 117,318 10/15/2019
27.1.4 28,578 10/8/2019
27.1.3 9,838 10/4/2019
27.1.2 171,242 9/20/2019
27.1.1 45,138 9/13/2019
27.1.0 49,714 9/9/2019
27.0.3 156,334 8/22/2019
27.0.2 69,219 8/6/2019
27.0.1 23,102 7/31/2019
27.0.0 51,292 7/24/2019
26.0.2 30,314 7/18/2019
26.0.1 12,129 7/17/2019
26.0.0 27,816 7/15/2019
25.0.6 51,972 7/11/2019
25.0.5 40,389 7/2/2019
25.0.4 50,063 6/25/2019
25.0.3 29,601 6/17/2019
25.0.2 4,410 6/17/2019
25.0.1 26,072 6/11/2019
25.0.0 11,669 6/8/2019
24.0.0 310,776 4/17/2019
23.1.0 244,377 3/5/2019
23.0.0 15,236 2/27/2019
22.0.0 5,576 2/26/2019
21.0.0 230,657 2/6/2019
20.0.0 95,781 2/4/2019
19.2.4 37,624 1/28/2019
19.2.3 40,741 1/17/2019
19.2.2 1,890,881 5/2/2018
19.2.1 4,364 5/2/2018
19.2.0 4,763 5/2/2018
19.1.4 6,017 5/2/2018
19.1.3 114,969 3/24/2018
19.1.2 681,861 11/9/2017
19.1.1 86,041 10/11/2017
19.1.0 62,568 9/29/2017
19.0.0 38,349 9/27/2017
18.0.2 154,709 8/26/2017
18.0.1 5,657 8/24/2017
18.0.0 9,360 8/11/2017
17.6.1 120,761 7/30/2017
17.6.0 9,404 7/25/2017
17.5.10 4,341 7/25/2017
17.5.9 13,296 7/18/2017
17.5.8 13,654 7/13/2017
17.5.7 4,697 7/12/2017
17.5.6 18,578 6/28/2017
17.5.5 45,821 6/27/2017
17.5.4 4,534 6/26/2017
17.5.2 8,583 6/22/2017
17.5.1 4,637 6/22/2017
17.5.0 5,425 6/17/2017
17.4.4 26,779 6/8/2017
17.4.3 4,139 6/8/2017
17.4.2 8,752 5/26/2017
17.4.1 8,214 5/24/2017
17.4.0 14,608 5/21/2017
17.3.0 4,521 5/19/2017
17.2.0 10,247 5/12/2017
17.1.0 4,282 5/11/2017
17.0.0 4,280 5/11/2017
16.5.0 6,513 5/6/2017
16.4.1 7,619 4/29/2017
16.4.0 25,520 4/9/2017
16.3.0 43,517 3/14/2017
16.2.5 5,995 3/10/2017
16.2.4 12,724 2/25/2017
16.2.3 6,170 2/22/2017
16.2.2 11,898 2/18/2017
16.2.1 49,952 2/1/2017
16.2.0 4,611 1/30/2017
16.1.0 4,379 1/29/2017
16.0.19 4,879 1/26/2017
16.0.18 5,155 1/18/2017
16.0.17 60,134 1/5/2017
16.0.16 5,386 12/16/2016
16.0.15 7,228 12/3/2016
16.0.14 5,167 11/25/2016
16.0.13 17,688 11/2/2016