chore(deps): update dependency fluentftp to v53 #220
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->53.0.1Release Notes
robinrodricks/FluentFTP (FluentFTP)
v53.0.1Execute()(thanks @FanDjango)NetworkStreamReadAsyncinfinite timeout when server is unresponsive (thanks @Gino1024)Config.PreserveTrailingSlashCmdListsetting (thanks @FanDjango)GetChecksum()cannot parse FTP server response if the path contains spaces (thanks @FanDjango)Config.EncryptAuthenticationOnly(thanks @FanDjango)NotImplementedException(thanks @FanDjango)OperationCancelledExceptionis thrown when cancelling aAsyncConnect()(thanks @bruinsg)FakeAsyncFtpClientandFakeFtpClient)Task.Delayinstead ofThread.Sleep(thanks @jnyrup)CancellationToken.Registerwith async delegate (thanks @jnyrup)v52.1.0SslProtocolandSslCipherSuiteproperties.HashAlgorithmsis readFtpSelfConnectModeto control how FTP reconnections are handledFileTransferTestsv52.0.0TimeZoneInfoinstead of hourly offset valuesClientTimeZoneandServerTimeZoneProperties to configure Time Zone conversionSetClientTimeZoneandSetServerTimeZoneUtility methods to configure Time Zone conversionFtpMonitor,AsyncFtpMonitor,BlockingAsyncFtpMonitor)FtpMonitorEventArgs)BlockingAsyncFtpMonitorDownloadFileInternalandUploadFileInternal)LogMaskModulethrowing exception whenUserNameis empty (thanks @ssg)AsyncFtpClientdispose logic and cleanup warnings on build (thanks @FanDjango)v51.1.0DisposeofAsyncFtpClientFtpCapability.MLSDtoMLSTto better reflect its behaviourv51.0.0NoopDaemon(integrated intoIsConnectedAPI)FtpConnectionStateto track FTP socket connection statePollcalls550when folder exists but is emptyAsMemoryAPI for reading/writing data from/to the FTP socket stream in .NET 5+Config.SocketPollIntervalsetting, because it is no longer used or requiredGetReplycore functionExecuteAPIFtpSocketStreamv50.1.0FtpRemoteExists.OverwriteInPlacemode which overwrites files without deleting them firstFtpConfig.PostConnectto enable the init sequence performed immediately after connectionBufferedStreamfeature and further refactoring of Dispose logicAuthenticateAsClientAPI rather than outdated APIConfig.LogHostis set to falseDateTimes.ParseFtpDatewill consider providedformatswhen parsing date/time valuesv50.0.1GetReplycall inUploadInternal/DownloadInternalv50.0.0DownloadDirectory,DownloadFile,DownloadFiles, support new size/checksum/date comparisonUploadDirectory,UploadFile,UploadFilessupport new size/checksum/date comparisonTransferDirectory,TransferFilesupport new size/checksum/date comparisonFtpVerifyhas new options:Size/Date/Checksum/OnlyChecksumDownloadFilewith Progress throwsFtpExceptionUploadInternal/DownloadInternalGetFileSizeprovides invalid file length and transfer failsGetListingdoes not use the proxy with passive FTPBaseClientis alsoIAsyncDisposablein addition toIDisposableAsyncFtpClientthrows non-fatalInvalidCastExceptionAsyncFtpClientthrows non-fatalInvalidCastExceptionAsyncFtpClientto change allCloseusage toawait CloseAsyncFtpDataStreamnow supports an async close methodDisposeAsyncpattern forAsyncFtpClientDispose/DisposeAsynconBufferedStreaminstead ofFlush/FlushAsyncFtpSslStreamfor graceful TLS terminationv49.0.2ExecuteAPIGetReplylogging and handling for stale data and NOOP reactionsIsStillConnected: Clean upConnect/DisconnectInternalinterface artifactsIsStillConnected: Add log messagesSITE LISTFMT 1andSITE NAMEFMT 1on connectDownloadFile:FileCountProgress updated even when files are skipped (thanks J0nathan550)DownloadFile:stopPositionnot working in some cases (thanks alexgubanow)DownloadFile: Progress calculation not correct when usingstopPosition(thanks alexgubanow)v49.0.1v49.0.0Noopto enable NOOP daemonNoopInactiveCommandsandNoopActiveCommandsto set FTP commands usableNoopTestConnectivityto issue NOOP commands before every FTP commandNoopIntervalnow has a default of 3 minutesGetReplyfor new NOOP handling logicIsStillConnected()API to reliably check if FTP connection is still activeAutoDetectas failed detection instead of aborting (thanks FabBadDog)AutoDetectis thread unsafe, fixAutoDetectConfigIncludeImplicitlogicFtpClientGetListing()commandOpenReadretry attempt fails due to typoDisableUTF8APINET50_OR_LATERinvalid moniker (thanks sean-bloch)OpenAppend,OpenReadandOpenWriteto help in debuggingv48.0.3FtpResult.ToStatus()API to easily compare result values ofDownloadFile/DownloadFilesandUploadFile/UploadFilesCreateDirectorysometimes needed inAutoNavigatemodeCWD/PWDdirectory navigation inAutoNavigatemode450error for empty foldersv48.0.1GetCheckSumUploadDirectorywithFtpNavigate.Conditionaldoes not auto-navigate correctlyDownloadFile,UploadFile,GetListingv48.0.0NavigateConfig setting to automatically handle FTP directory navigationNavigatesettingGetListingAPI honorsNavigatesettingDownloadUriBytesAPI method to directly connect and download a URI/URLOpenRead,OpenWriteandOpenAppendquirks to handle their stale dataCheckStaleDataimplementationAutoDetectwith object-driven configuration usingFtpAutoDetectConfigRequireEncryptionandIncludeImplicittoAutoDetectto allow for more configurability during auto-connectionAutoDetectbehaviour to support various server use-casesRNFM/RNTOFTP commands to critical-sequence list to fix Auto-Reconnect of SSL sessionsAutoDetectempty config is gracefully handledv47.0.0LocalFileShareOptionto allow setting file sharing mode for uploadsPASVUSEakaPassiveAllowUnroutableAutoActiveandPassiveExtendedFtpSslStreamShutDownAsyncfor .NET 4.7 and laterInnerExceptiondoes not get caught during FTPS security exceptionPolicyErrorsnot being set correctlyInfoMessages(thanks jnyrup)GnuTlsStreamintegration tests due to invalid stream detectionv46.0.2InnerExceptionif it exists within the exceptionExecuteAPI methodsv46.0.1DowloadStreamoverload that causes compile failurev46.0.0stopPositionparameter toDownloadBytesandDowloadStreamto allow partial downloadsv45.2.0v45.1.0DiscoverSslSessionLengthAPI to auto compute a working value for SSL Session length (thanks FanDjango)v45.0.4ExecuteGetTexttoExecuteDownloadTextAsyncFtpClient.CreateDirectoryfails on freshly created client instance (thanks FanDjango)v45.0.2ExecuteGetTextAPI to execute an FTP command and return multiline output (thanks FanDjango)FluentFTP.GnuTLSNuGet package to allow for GnuTLS TLS 1.3 streamsv44.0.1UploadFilesAPI inAsyncFtpClientwhich takes anIEnumerable<FileInfo>UploadFilesandDownloadFilesnow support rules which allow filtering of uploaded/downloaded filesUploadFilesandDownloadFilesnow return aList<FtpResult>with per-file status rather than just a countFtpMissingObjectExceptionthrown when trying to download a non-existant objectDownloadDirectory,DownloadFile,DownloadBytes,DownloadStreamwill throwFtpMissingObjectExceptionrather than silently failingDownloadFileswill mark non-existant files asIsFailedand add theExceptionrather than silently failingExecutelogic to handle working directory on automatic reconnection (thanks FanDjango)InfotoWarn(thanks FanDjango)ConnectAsyncfornet472platform where required (thanks jnyrup)FluentFTP.ExceptionsnamespaceConfig.LogDurationsto configure if durations are to be loggedResponselog message (thanks FanDjango)whenkeyword and new conditional keywords (thanks jnyrup)v43.0.0FtpClient.Loggeris no longer a MELAILoggerFtpClient.Loggeris now a custom interface calledIFtpLoggerv42.2.0FEATcommandValidateCertificatehandler if none is providedSetModifiedTimefalls back toMDTMifMFMTcommand not availableGetListing: Catch control connection loss and retry onceGetListingsilently fails and returns empty array if connection lostv42.1.0Config.SslSessionLengthsetting to perform automatic reconnection to bypass SSL issuesReadStaleDataand moved intoExecuteIOExceptionedge case on FTPS connections after a certain number of FTP commands226 Transfer completeedge case in FTP file downloadFtpRemoteExists.NoCheckmode inMoveFileto prevent checking for existing filesv42.0.2FtpExceptionthrown when creating directoriesCWDcommand sentAutoConnectfails with Azure FTP servers due to profile handlingInvalidOperationExceptionif unable to connectConnectAPIConnectTimeoutis not taking effect forConnectAsyncAPICurrentDataTypewhen re-connected to an FTP serverAggregateExceptionwhere requiredResumeUploadfor synchronous APIv42.0.1AuthenticationException(thanks FanDjango)GetListing(thanks FanDjango)GetListingfor SOCKS4 and SOCKS4a proxies (thanks FanDjango)v42.0.0LastRepliesproperty to fetch a list of the last 5 server replies (thanks FanDjango)Config.DisconnectWithShutdownas it was not required (thanks FanDjango)FtpListOption.NoImageas it was not required (thanks FanDjango)CurrentDataTypeand removeForceSetDataType(thanks FanDjango)Config.DisconnectWithShutdown(thanks FanDjango)GetReplyredesign: New mode to exhaustively read allNOOPreplies (thanks FanDjango)GetReplyredesign: Verbose logging forNOOPcommands (thanks FanDjango)v41.0.0EmptyDirectoryAPI to delete files but leave top-level directory intact (thanks FanDjango)AutoConnectFtpProtocolUnsupportedExceptionif the FTP server is forcing TLS 1.3 connectionsNOOPhandling (thanks FanDjango)NOOPcommand after uploading files to resolve issues (thanks FanDjango)CancellationTokenwithinDownloadFile,UploadFile,TransferDirectory,DeleteFile,OpenRead,OpenAppend(thanks jnyrup)SIZEcommand usage forUploadFileinNoCheckandOverWritemodes (thanks FanDjango)ActivePortsin FTP Active connection mode (thanks FanDjango)LISTfunctionality for z/OS JES subsystem (thanks FanDjango)LISTLEVEL 2inGetListingfor more accurate filesizes (thanks FanDjango)MissingMethodExceptionif cannot negotiate an authentication method for SOCKS proxies (thanks jnyrup)v40.0.0FtpClientandAsyncFtpClientIFtpClientandIAsyncFtpClientBaseFtpClientAsyncsuffix for all async FTP methods inAsyncFtpClientclient.ConfigobjectFtpConfigto cleanup client APIclient.OnLogEventandFtpTracesystemclient.Loggerusing industry-standardILoggerinterfaceMicrosoft.Extensions.Logging.Abstractionsv2.1.0OnLogEventis now renamed toLegacyLoggerLogIPrenamed toLogHostLogFunctionsas it is always enabledFtpClient*ProxyandAsyncFtpClient*ProxyFluentFTP.Proxy.SyncProxyandFluentFTP.Proxy.AsyncProxyNSHandshakeAsyncin async FTP proxies (thanks jnyrup)AsyncFtpClientIInternalFtpClient.editorconfigto prevent using IDE defaults (thanks jnyrup)FtpClient.ConnectandFtpClient.GetPublicIPDereferenceLinkandDereferenceLinkAsyncQuickTransferLimit,MaximumDereferenceCount,EnableThreadSafeDataConnections,PlainTextEncryptionFtpListOption.DerefLinksGetHashAlgorithm,SetHashAlgorithm,GetHash, etcIAsyncResultAuthenticate(thanks FanDjango)FtpListParser,FtpClientState,FtpFxpSession,FtpFxpSessionAsync,FtpListItem,FtpProfile,FtpResultFtpFileExtensionRule,FtpFileNameRegexRule,FtpFileNameRule,FtpFolderNameRegexRule,FtpFolderNameRule,FtpSizeRuleIBMzOSFtpServerserver handler (thanks FanDjango)OpenVmsServerserver handler (thanks FanDjango)GetListingsingle line outputs (thanks FanDjango)v39.4.0SslProtocolActiveproperty to retrieve the negotiated SSL/TLS protocol versionGetListing(thanks FanDjango)GetListingAsyncEnumerable(thanks tommysor)v39.3.0AutoConnectnow correctly handles internalAggregateException(.NET 5.0+)AutoConnectnow correctly connects to servers requiring TLS 1.2v39.2.1IFtpClientinterfaceGetListingabsolute path conversionv39.2.0GetListingAsyncEnumerablemethod to get file listing usingIAsyncEnumerablepatternAutoConnect, throwFtpProtocolUnsupportedExceptionif newer .NET requiredAutoConnect(.NET 5.0+)v39.1.0Clonemethod allows for cloning anFtpClientconnection with all settings copiedInternetProtocolproperty which returns the current protocol used (IPV4/IPV6)Statusproperty which returns the currentFtpClientStateflags (advanced use only)AutoConnect/AutoConnectAsyncnow correctly configure Azure FTP serversv39.0.1ConnectAsynccorrectly honorsConnectTimeoutandTimeoutExceptionis correctly thrownConnect/ConnectAsyncto ensureConnectTimeoutis honoredv39.0.0ConnectionTypefor all proxy typesFtpProxyProfileConnectProxyHttp11,ConnectProxySocks4,ConnectProxySocks4a,ConnectProxySocks5)SocksProxyExceptiontoFtpProxyExceptionProxyInfotoFtpProxyProfileand rename membersv38.0.0FtpFileSystemObjectTypetoFtpObjectTypeFtpFileSystemObjectSubTypetoFtpObjectSubTypeUploadtoUploadBytesandUploadStreaminstead of overloadingDownloadtoDownloadBytesandDownloadStreaminstead of overloadingAggregateExceptionwhen 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.