chore(deps): update dependency fluentftp to v50 #179
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
37.1.2
->50.1.0
Release Notes
robinrodricks/FluentFTP (FluentFTP)
v50.1.0
FtpRemoteExists.OverwriteInPlace
mode which overwrites files without deleting them firstFtpConfig.PostConnect
to enable the init sequence performed immediately after connectionBufferedStream
feature and further refactoring of Dispose logicAuthenticateAsClient
API rather than outdated APIConfig.LogHost
is set to falseDateTimes.ParseFtpDate
will consider providedformats
when parsing date/time valuesv50.0.1
GetReply
call inUploadInternal
/DownloadInternal
v50.0.0
DownloadDirectory
,DownloadFile
,DownloadFiles
, support new size/checksum/date comparisonUploadDirectory
,UploadFile
,UploadFiles
support new size/checksum/date comparisonTransferDirectory
,TransferFile
support new size/checksum/date comparisonFtpVerify
has new options:Size/Date/Checksum/OnlyChecksum
DownloadFile
with Progress throwsFtpException
UploadInternal
/DownloadInternal
GetFileSize
provides invalid file length and transfer failsGetListing
does not use the proxy with passive FTPBaseClient
is alsoIAsyncDisposable
in addition toIDisposable
AsyncFtpClient
throws non-fatalInvalidCastException
AsyncFtpClient
throws non-fatalInvalidCastException
AsyncFtpClient
to change allClose
usage toawait CloseAsync
FtpDataStream
now supports an async close methodDisposeAsync
pattern forAsyncFtpClient
Dispose
/DisposeAsync
onBufferedStream
instead ofFlush
/FlushAsync
FtpSslStream
for graceful TLS terminationv49.0.2
Execute
APIGetReply
logging and handling for stale data and NOOP reactionsIsStillConnected
: Clean upConnect
/DisconnectInternal
interface artifactsIsStillConnected
: Add log messagesSITE LISTFMT 1
andSITE NAMEFMT 1
on connectDownloadFile
:FileCount
Progress updated even when files are skipped (thanks J0nathan550)DownloadFile
:stopPosition
not working in some cases (thanks alexgubanow)DownloadFile
: Progress calculation not correct when usingstopPosition
(thanks alexgubanow)v49.0.1
v49.0.0
Noop
to enable NOOP daemonNoopInactiveCommands
andNoopActiveCommands
to set FTP commands usableNoopTestConnectivity
to issue NOOP commands before every FTP commandNoopInterval
now has a default of 3 minutesGetReply
for new NOOP handling logicIsStillConnected()
API to reliably check if FTP connection is still activeAutoDetect
as failed detection instead of aborting (thanks FabBadDog)AutoDetect
is thread unsafe, fixAutoDetectConfig
IncludeImplicit
logicFtpClient
GetListing()
commandOpenRead
retry attempt fails due to typoDisableUTF8
APINET50_OR_LATER
invalid moniker (thanks sean-bloch)OpenAppend
,OpenRead
andOpenWrite
to help in debuggingv48.0.3
FtpResult.ToStatus()
API to easily compare result values ofDownloadFile
/DownloadFiles
andUploadFile
/UploadFiles
CreateDirectory
sometimes needed inAutoNavigate
modeCWD
/PWD
directory navigation inAutoNavigate
mode450
error for empty foldersv48.0.1
GetCheckSum
UploadDirectory
withFtpNavigate.Conditional
does not auto-navigate correctlyDownloadFile
,UploadFile
,GetListing
v48.0.0
Navigate
Config setting to automatically handle FTP directory navigationNavigate
settingGetListing
API honorsNavigate
settingDownloadUriBytes
API method to directly connect and download a URI/URLOpenRead
,OpenWrite
andOpenAppend
quirks to handle their stale dataCheckStaleData
implementationAutoDetect
with object-driven configuration usingFtpAutoDetectConfig
RequireEncryption
andIncludeImplicit
toAutoDetect
to allow for more configurability during auto-connectionAutoDetect
behaviour to support various server use-casesRNFM
/RNTO
FTP commands to critical-sequence list to fix Auto-Reconnect of SSL sessionsAutoDetect
empty config is gracefully handledv47.0.0
LocalFileShareOption
to allow setting file sharing mode for uploadsPASVUSE
akaPassiveAllowUnroutable
AutoActive
andPassiveExtended
FtpSslStream
ShutDownAsync
for .NET 4.7 and laterInnerException
does not get caught during FTPS security exceptionPolicyErrors
not being set correctlyInfoMessages
(thanks jnyrup)GnuTlsStream
integration tests due to invalid stream detectionv46.0.2
InnerException
if it exists within the exceptionExecute
API methodsv46.0.1
DowloadStream
overload that causes compile failurev46.0.0
stopPosition
parameter toDownloadBytes
andDowloadStream
to allow partial downloadsv45.2.0
v45.1.0
DiscoverSslSessionLength
API to auto compute a working value for SSL Session length (thanks FanDjango)v45.0.4
ExecuteGetText
toExecuteDownloadText
AsyncFtpClient.CreateDirectory
fails on freshly created client instance (thanks FanDjango)v45.0.2
ExecuteGetText
API to execute an FTP command and return multiline output (thanks FanDjango)FluentFTP.GnuTLS
NuGet package to allow for GnuTLS TLS 1.3 streamsv44.0.1
UploadFiles
API inAsyncFtpClient
which takes anIEnumerable<FileInfo>
UploadFiles
andDownloadFiles
now support rules which allow filtering of uploaded/downloaded filesUploadFiles
andDownloadFiles
now return aList<FtpResult>
with per-file status rather than just a countFtpMissingObjectException
thrown when trying to download a non-existant objectDownloadDirectory
,DownloadFile
,DownloadBytes
,DownloadStream
will throwFtpMissingObjectException
rather than silently failingDownloadFiles
will mark non-existant files asIsFailed
and add theException
rather than silently failingExecute
logic to handle working directory on automatic reconnection (thanks FanDjango)Info
toWarn
(thanks FanDjango)ConnectAsync
fornet472
platform where required (thanks jnyrup)FluentFTP.Exceptions
namespaceConfig.LogDurations
to configure if durations are to be loggedResponse
log message (thanks FanDjango)when
keyword and new conditional keywords (thanks jnyrup)v43.0.0
FtpClient.Logger
is no longer a MELAILogger
FtpClient.Logger
is now a custom interface calledIFtpLogger
v42.2.0
FEAT
commandValidateCertificate
handler if none is providedSetModifiedTime
falls back toMDTM
ifMFMT
command not availableGetListing
: Catch control connection loss and retry onceGetListing
silently fails and returns empty array if connection lostv42.1.0
Config.SslSessionLength
setting to perform automatic reconnection to bypass SSL issuesReadStaleData
and moved intoExecute
IOException
edge case on FTPS connections after a certain number of FTP commands226 Transfer complete
edge case in FTP file downloadFtpRemoteExists.NoCheck
mode inMoveFile
to prevent checking for existing filesv42.0.2
FtpException
thrown when creating directoriesCWD
command sentAutoConnect
fails with Azure FTP servers due to profile handlingInvalidOperationException
if unable to connectConnect
APIConnectTimeout
is not taking effect forConnectAsync
APICurrentDataType
when re-connected to an FTP serverAggregateException
where requiredResumeUpload
for synchronous APIv42.0.1
AuthenticationException
(thanks FanDjango)GetListing
(thanks FanDjango)GetListing
for SOCKS4 and SOCKS4a proxies (thanks FanDjango)v42.0.0
LastReplies
property to fetch a list of the last 5 server replies (thanks FanDjango)Config.DisconnectWithShutdown
as it was not required (thanks FanDjango)FtpListOption.NoImage
as it was not required (thanks FanDjango)CurrentDataType
and removeForceSetDataType
(thanks FanDjango)Config.DisconnectWithShutdown
(thanks FanDjango)GetReply
redesign: New mode to exhaustively read allNOOP
replies (thanks FanDjango)GetReply
redesign: Verbose logging forNOOP
commands (thanks FanDjango)v41.0.0
EmptyDirectory
API to delete files but leave top-level directory intact (thanks FanDjango)AutoConnect
FtpProtocolUnsupportedException
if the FTP server is forcing TLS 1.3 connectionsNOOP
handling (thanks FanDjango)NOOP
command after uploading files to resolve issues (thanks FanDjango)CancellationToken
withinDownloadFile
,UploadFile
,TransferDirectory
,DeleteFile
,OpenRead
,OpenAppend
(thanks jnyrup)SIZE
command usage forUploadFile
inNoCheck
andOverWrite
modes (thanks FanDjango)ActivePorts
in FTP Active connection mode (thanks FanDjango)LIST
functionality for z/OS JES subsystem (thanks FanDjango)LISTLEVEL 2
inGetListing
for more accurate filesizes (thanks FanDjango)MissingMethodException
if cannot negotiate an authentication method for SOCKS proxies (thanks jnyrup)v40.0.0
FtpClient
andAsyncFtpClient
IFtpClient
andIAsyncFtpClient
BaseFtpClient
Async
suffix for all async FTP methods inAsyncFtpClient
client.Config
objectFtpConfig
to cleanup client APIclient.OnLogEvent
andFtpTrace
systemclient.Logger
using industry-standardILogger
interfaceMicrosoft.Extensions.Logging.Abstractions
v2.1.0OnLogEvent
is now renamed toLegacyLogger
LogIP
renamed toLogHost
LogFunctions
as it is always enabledFtpClient*Proxy
andAsyncFtpClient*Proxy
FluentFTP.Proxy.SyncProxy
andFluentFTP.Proxy.AsyncProxy
NSHandshakeAsync
in async FTP proxies (thanks jnyrup)AsyncFtpClient
IInternalFtpClient
.editorconfig
to prevent using IDE defaults (thanks jnyrup)FtpClient.Connect
andFtpClient.GetPublicIP
DereferenceLink
andDereferenceLinkAsync
QuickTransferLimit
,MaximumDereferenceCount
,EnableThreadSafeDataConnections
,PlainTextEncryption
FtpListOption.DerefLinks
GetHashAlgorithm
,SetHashAlgorithm
,GetHash
, etcIAsyncResult
Authenticate
(thanks FanDjango)FtpListParser
,FtpClientState
,FtpFxpSession
,FtpFxpSessionAsync
,FtpListItem
,FtpProfile
,FtpResult
FtpFileExtensionRule
,FtpFileNameRegexRule
,FtpFileNameRule
,FtpFolderNameRegexRule
,FtpFolderNameRule
,FtpSizeRule
IBMzOSFtpServer
server handler (thanks FanDjango)OpenVmsServer
server handler (thanks FanDjango)GetListing
single line outputs (thanks FanDjango)v39.4.0
SslProtocolActive
property to retrieve the negotiated SSL/TLS protocol versionGetListing
(thanks FanDjango)GetListingAsyncEnumerable
(thanks tommysor)v39.3.0
AutoConnect
now correctly handles internalAggregateException
(.NET 5.0+)AutoConnect
now correctly connects to servers requiring TLS 1.2v39.2.1
IFtpClient
interfaceGetListing
absolute path conversionv39.2.0
GetListingAsyncEnumerable
method to get file listing usingIAsyncEnumerable
patternAutoConnect
, throwFtpProtocolUnsupportedException
if newer .NET requiredAutoConnect
(.NET 5.0+)v39.1.0
Clone
method allows for cloning anFtpClient
connection with all settings copiedInternetProtocol
property which returns the current protocol used (IPV4/IPV6)Status
property which returns the currentFtpClientState
flags (advanced use only)AutoConnect
/AutoConnectAsync
now correctly configure Azure FTP serversv39.0.1
ConnectAsync
correctly honorsConnectTimeout
andTimeoutException
is correctly thrownConnect
/ConnectAsync
to ensureConnectTimeout
is honoredv39.0.0
ConnectionType
for all proxy typesFtpProxyProfile
ConnectProxyHttp11
,ConnectProxySocks4
,ConnectProxySocks4a
,ConnectProxySocks5
)SocksProxyException
toFtpProxyException
ProxyInfo
toFtpProxyProfile
and rename membersv38.0.0
FtpFileSystemObjectType
toFtpObjectType
FtpFileSystemObjectSubType
toFtpObjectSubType
Upload
toUploadBytes
andUploadStream
instead of overloadingDownload
toDownloadBytes
andDownloadStream
instead of overloadingAggregateException
when an error occuring during resuming a file upload (.NET 4.5+)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.