FluentFTP 35.0.4
Prefix ReservedSee the version list below for details.
dotnet add package FluentFTP --version 35.0.4
NuGet\Install-Package FluentFTP -Version 35.0.4
<PackageReference Include="FluentFTP" Version="35.0.4" />
<PackageVersion Include="FluentFTP" Version="35.0.4" />
<PackageReference Include="FluentFTP" />
paket add FluentFTP --version 35.0.4
#r "nuget: FluentFTP, 35.0.4"
#:package FluentFTP@35.0.4
#addin nuget:?package=FluentFTP&version=35.0.4
#tool nuget:?package=FluentFTP&version=35.0.4
35.0.4
- Fix:
AutoConnectloads the newly detectedFtpProfileto update properties & encryption - Fix: Passive connections work in
FtpEncryptionMode.Automode and FTPS connection fails
35.0.3
- Fix:
AutoDetectcorrectly recommendsFtpEncryptionMode.Noneif FTPS connection failed - Fix:
AutoDetectcrashes because attempting to read socket type after disconnected
35.0.2
- Major:
AutoDetectdoes not cycle through data connection types during connection as it is irrelevant - Major:
AutoDetectcalculates a data connection type after connection succeeds (EPSV or PASV)
35.0.1
- Fix:
ConnectAsyncnow correctly creates a FTP server-specific handler to matchConnectbehaviour
35.0.0
Automatic connection
- Major:
AutoConnecttakes far fewer connection attempts due to improvements in connection handling - Major:
AutoConnectandAutoDetectare much faster and smarter and only try each setting once if possible - Major:
AutoDetectonly tries Explicit and Implicit FTPS once and then falls back to plaintext FTP - Major:
AutoDetectonly tries UTF-8 and never ASCII because most UTF-8 servers don't advertise it - New:
AutoDetectverifies if the server supports UTF-8 and updates theFtpProfileaccordingly - New:
FtpProfilecode generation adds a warning message if the encoding mode is unverified - New:
AutoConnectAsyncnow uses true asynchronous connection backed by newAutoDetectAsync - New:
AutoConnectnow auto computes an FTP port unless a non-standard port is already set - New:
AutoConnectuses the mainFtpClientconnection rather than creating one clone per attempt - Fix:
AutoConnectremains connected to the first working profile rather than connecting twice on success - Fix:
AutoConnectreuses the same connection for FTPS and FTP rather than connecting again - Fix: Ensure FTP server capabilities are loaded during
AutoDetectif original connection is blank - Fix:
AutoConnectandAutoDetectwill now throw exceptions for permanent failures (bad host/credentials) - Fix:
ConnectAsyncnow correctly resets the state flags to matchConnectbehaviour - Fix:
Portnow correctly calculates the default port 21 when usingFtpEncryptionMode.Auto
- Major:
Appending and resuming uploads
- Major: The setting
FtpLocalExists.Appendis now renamed toFtpLocalExists.Resume - Major: The setting
FtpRemoteExists.Appendis now renamed toFtpRemoteExists.Resume - Major: Split
FtpRemoteExists.Appendinto two properties with distinct behaviour (ResumeandAddToEnd) - Major: Improvements to
UploadFileandUploadFileAsyncto support appending and resuming of uploads - Major:
UploadFilealways sets the length of the remote file stream before uploading, appending or resuming - Major:
UploadFileskips uploading inResumemode if local and remote file are equal length - Fix: Implementation for resuming uploads using
UploadFilebased on fixes inUploadFileAsync
- Major: The setting
Machine listings
- Major:
GetListingprefers using Machine Listings over LIST command, unless a custom list parser is set - Fix:
ListingParserproperty is updated according to auto-detected parser duringConnectandConnectAsync - Fix:
DeleteDirectoryandDereferenceLinkmethods no longer useForceListand so prefer using Machine Listings
- Major:
File hashing
- Major: All low-level hash methods are now inaccessible and
GetChecksumis the only recommended approach - Fix:
GetChecksumnow prints function call logs and sanitizes the input path - New:
GetChecksumswitches to the first preferred hash algorithm forHASHcommand if no algorithm is specified - New:
GetChecksumvalidates if the required algorithm is unsupported and throwsFtpHashUnsupportedException - New:
GetChecksumvalidates if hashing is unsupported by the server and throwsFtpHashUnsupportedException - Fix:
GetChecksumAsyncnow 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:
SetHashAlgorithmnow only modifies the hash algorithm if it has changed
- Major: All low-level hash methods are now inaccessible and
Path sanitization
- Fix: All high level API methods sanitize input paths to improve robustness
- Fix:
GetWorkingDirectoryalways 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:
GetWorkingDirectoryis now extremely fast and caches the working dir path for subsequent calls - Fix:
FileExistssupports checking name listings for Windows NT servers which use invalid slashes - Fix: Root directory FTP paths no longer return
./and instead return/
- Major:
Other improvements
- Major: All legacy asynchronous methods using
IAsyncResultpattern 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
UploadFileandDownloadFile - New:
GetNameListingto print results of name listing as verbose logs, similar toGetListing - New:
GetFileSizeandGetFileSizeAsyncto support a configurable return value if the file does not exist - New:
FtpFolderNameRulenow supportsstartSegmentto skip checking root directory folder names - New:
FtpFolderNameRegexRulenow supportsstartSegmentto skip checking root directory folder names
- Major: All legacy asynchronous methods using
| Product | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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. |
-
.NETFramework 2.0
- No dependencies.
-
.NETFramework 3.5
- No dependencies.
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETStandard 1.4
- NETStandard.Library (>= 1.6.1)
- System.Console (>= 4.3.0)
- System.IO (>= 4.3.0)
- System.Net.NameResolution (>= 4.3.0)
- System.Net.Sockets (>= 4.3.0)
- System.Runtime (>= 4.3.0)
- System.Threading.Tasks (>= 4.3.0)
-
.NETStandard 1.6
- NETStandard.Library (>= 1.6.1)
- System.Console (>= 4.3.0)
- System.IO (>= 4.3.0)
- System.Net.NameResolution (>= 4.3.0)
- System.Net.Security (>= 4.3.2)
- System.Net.Sockets (>= 4.3.0)
- System.Runtime (>= 4.3.0)
- System.Threading.Tasks (>= 4.3.0)
- System.Threading.Thread (>= 4.3.0)
-
.NETStandard 2.0
- System.Console (>= 4.3.0)
- System.IO (>= 4.3.0)
- System.Net.NameResolution (>= 4.3.0)
- System.Net.Security (>= 4.3.2)
- System.Net.Sockets (>= 4.3.0)
- System.Runtime (>= 4.3.0)
- System.Threading.Tasks (>= 4.3.0)
- System.Threading.Thread (>= 4.3.0)
-
.NETStandard 2.1
- System.Console (>= 4.3.0)
- System.IO (>= 4.3.0)
- System.Net.NameResolution (>= 4.3.0)
- System.Net.Security (>= 4.3.2)
- System.Net.Sockets (>= 4.3.0)
- System.Runtime (>= 4.3.0)
- System.Threading.Tasks (>= 4.3.0)
- System.Threading.Thread (>= 4.3.0)
-
net5.0
- System.Console (>= 4.3.0)
- System.IO (>= 4.3.0)
- System.Net.NameResolution (>= 4.3.0)
- System.Net.Sockets (>= 4.3.0)
- System.Runtime (>= 4.3.0)
- System.Threading.Tasks (>= 4.3.0)
NuGet packages (188)
Showing the top 5 NuGet packages that depend on FluentFTP:
| Package | Downloads |
|---|---|
|
Peachpie.Library
Peachpie PHP language library functions. |
|
|
Zebra.Printer.SDK
The Zebra Link-OS SDK provides a powerful set of APIs enabling creation of desktop and mobile apps that take full advantage of the printer's operating system features including connectivity, printing and management tasks. |
|
|
FluentFTP.Logging
Small connector library to integrate FluentFTP with MELA Loggers (Microsoft.Extensions.Logging.Abstractions). |
|
|
HIC.RDMP.Plugin
Core package for plugin development |
|
|
mmx.utils
Package Description |
GitHub repositories (46)
Showing the top 20 popular GitHub repositories that depend on FluentFTP:
| Repository | Stars |
|---|---|
|
files-community/Files
A modern file manager that helps users organize their files and folders.
|
|
|
ShareX/ShareX
ShareX is a free and open-source application that enables users to capture or record any area of their screen with a single keystroke. It also supports uploading images, text, and various file types to a wide range of destinations.
|
|
|
duplicati/duplicati
Store securely encrypted backups in the cloud!
|
|
|
PhilippC/keepass2android
Password manager app for Android
|
|
|
1Remote/1Remote
One Remote Access Manager to Rule Them All
|
|
|
win-acme/win-acme
Automate SSL/TLS certificates on Windows with ease
|
|
|
ravendb/ravendb
ACID Document Database
|
|
|
slskd/slskd
A modern client-server application for the Soulseek file sharing network.
|
|
|
peachpiecompiler/peachpie
PeachPie - the PHP compiler and runtime for .NET and .NET Core
|
|
|
openbullet/OpenBullet2
OpenBullet reinvented
|
|
|
ariacom/Seal-Report
Database Reporting Tool and Tasks (.Net)
|
|
|
smartstore/Smartstore
A modular, scalable and ultra-fast open-source all-in-one eCommerce platform built on ASP.NET Core 10
|
|
|
KoalaBear84/OpenDirectoryDownloader
Indexes open directories
|
|
|
fiddyschmitt/File-Tunnel
Tunnel TCP connections through a file
|
|
|
wabbajack-tools/wabbajack
An automated Modlist installer for various games.
|
|
|
zhuxb711/RX-Explorer
一款优雅的UWP文件管理器 | An elegant UWP Explorer
|
|
|
paillave/Etl.Net
Mass processing data with a complete ETL for .net developers
|
|
|
aelassas/wexflow
Workflow Automation Engine
|
|
|
SnapXL/SnapX
SnapX is a free, open-source, cross-platform tool that lets you capture or record any area of your screen and instantly share it with a single keypress. Upload images, videos, text, and more to multiple supported destinations—all with ease. ShareX fork
|
|
|
reactiveui/Camelotia
Cross-platform sample .NET GUI for cloud file management.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 53.0.2 | 758,122 | 10/3/2025 |
| 53.0.1 | 817,207 | 7/17/2025 |
| 53.0.0 | 7,819 | 7/17/2025 |
| 52.1.0 | 1,518,375 | 3/9/2025 |
| 52.0.0 | 1,533,235 | 11/30/2024 |
| 51.2.0 | 35,916 | 11/30/2024 |
| 51.1.0 | 1,666,414 | 9/13/2024 |
| 51.0.0 | 701,813 | 8/5/2024 |
| 50.1.0 | 701,307 | 6/21/2024 |
| 50.0.1 | 1,074,951 | 4/16/2024 |
| 50.0.0 | 37,236 | 4/13/2024 |
| 49.0.2 | 1,789,968 | 1/27/2024 |
| 49.0.1 | 329,411 | 12/27/2023 |
| 49.0.0 | 26,083 | 12/25/2023 |
| 48.0.3 | 1,286,514 | 10/28/2023 |
| 48.0.2 | 5,308 | 10/28/2023 |
| 48.0.1 | 208,063 | 10/11/2023 |
| 48.0.0 | 266,696 | 9/19/2023 |
| 47.1.0 | 894,561 | 7/26/2023 |
| 35.0.4 | 448,313 | 9/5/2021 |