Recent Version History

This is a list of changes for each release of WinSCP. See also project history.

5.14 (not released yet)

  • Files can be optionally encrypted when storing them on SFTP server. 1653
  • Local UNC paths can be browsed. 133
  • Empty directories can be excluded from transfer and synchronization. 207
  • Files can be downloaded directly to an external drop location even without a loaded drag&drop shell extension.
  • Improvements to directory synchronization:
    • Synchronization runs on top of Synchronization checklist window for easier overview of the process.
    • Showing overall synchronization progress on progress window and taskbar.
    • Size of directories can be calculated on Synchronization checklist window.
    • Function “Keep remote directory up to date” can be started in a new window.
    • During synchronization transfer speed limit is preserved across set of synchronized directories.
    • Larger default size of Synchronization checklist window on larger screens.
    • Not showing “Operation was successfully completed” when canceling Synchronization Checklist window opened from command-line.
    • Not showing “Operation was successfully completed” message, after command-line synchronization operation, where there were no files to be synchronized.
    • Once Finished option now applies to whole synchronization operation, not only to the current particular synchronization sub-operation.
    • Preventing artifacts on Synchronization checklist window.
    • Bug fix: When synchronization changes preview is turned off, and changes are found, but none of them match synchronization options, no feedback is provided.
  • Bookmark drop down menu. 1127
  • Added Generate button to SSH > Authentication page of Advanced Site Settings dialog, that starts PuTTYgen and detects a private key file generated by it. 386
  • Command to install public key in available both on main window and on Advanced Site Settings dialog. 386
  • Close button on session tab. 1393 Using it, a non-active session can be closed, as well as disconnected session without a need to reconnect it.
  • When a path entered in Open Directory dialog or Address toolbar cannot be opened, retry an entry to allow user to correct it. 1673
  • Public key can be displayed in Advanced Site Settings dialog.
  • Session tab can be renamed. 1183
  • Save as Preset command in transfer settings drop down menu. 892
  • Improved design of About window.
  • Build of .NET assembly that targets .NET Standard 2.0 is provided. 1640
  • .NET Assembly now targets .NET Framework 4.0.
  • Support for long local paths with FTP protocol. 1337
  • PowerShell script that runs WinSCP scripting commands can be generated on Generate Code dialog.
  • Toolbar buttons can be hidden. 582
  • Found files can be edited from the Find dialog. 1634
  • Hidden files can be excluded from transfer/synchronization.
  • Session URL can contain any raw session settings using connection parameter. New custom command pattern !E can generate such URL for use in WinSCP extensions.
  • Session name specified by /sessionname command-line switch is preserved in workspace.
  • Time constraints can be set to a start of an interval.
  • Configuration can be saved to read-only INI file by holding down Shift key while closing WinSCP or submitting Preferences dialog.
  • Change: Do not match URL after stripping protocol against stored site name in scripting/automation. 1647
  • today and yesterday time constraint aliases.
  • Configurable keyboard shortcuts for extensions. 1613
  • When opening a session in PuTTY, exporting also cached host keys.
  • Low logging level. 1637
  • Distinguishing multiple sessions opened to the same site by current path. 1635
  • Silently ignore errors writing a read-only INI file when automatically saving a workspace when exiting.
  • Do not show an error when remembered last used directories do not exist anymore. 1616
  • Not failing transfer if file selected for transfer, but excluded by file mask, is deleted during operation. 1677
  • Optimized loading time in scripting/.NET assembly mode. 1621
  • Preventing session tabs flicker with large number of sessions.
  • Moving session Color submenu to Session menu.
  • Not reloading site list when opening Login dialog/Site menu/etc where there is too many sites. 1658
  • Allow authentication with empty passwords in scripting. 1638
  • Preventing stall on startup when updating jumplist 1625 or resolving icons of common file types 1649 takes too long.
  • Ctrl+A is working in file/directory path selection boxes.
  • Parsing file modification time from display string if not provided explicitly in SFTP packet. 1665
  • Operation status is shown on task bar button and tray icon title also for command-line operations.
  • Not showing an estimated time left till the end of an operation for the first few seconds.
  • Hidden option to generate WebDAV URLs with http:// protocol prefix. 1668
  • Removed (non-working) panel loading animation.
  • Workaround for problems when uploading files from symlinked location (such as deduplicated drive). 1355
  • Bug fix: Hangs when clicking directory tree while inline editing file name. 1618
  • Bug fix: Failure when .NET assembly starts reading an XML log file in a short moment when it’s empty yet. 1619
  • Bug fix: Ad-hoc sessions opened with workspace duplicated into a new window had a wrong name.
  • Bug fix: When editing multiple files, opening ends on the first file that is already opened.
  • Bug fix: When minimizing command-line operation, task bar button was hidden.
  • Bug fix: Hint popup on too long transfer settings panel was truncated on separator (|) of exclude masks.
  • Bug fix: WinSCP instance without main window (opened from command-line) could incorrectly accept session opened from another instance.
  • Bug fix: Generated code included PortNumber property setter for all non-SSH protocols, even when the default port number of a respective protocol was used.
  • Bug fix: Prevent SCP server sending files that were not requested. 1675
  • Bug fix: Hang when doing an operation on FTP connection that disconnected on a background. 1679


5.13.5 (not released yet)

  • XML parser upgraded to Expat 2.2.6.


  • Passing private key to PuTTY when installed from Microsoft Store. 1654 Passing also other options that PuTTY can accept on its command-line, like “Attempt authentication using Pageant”, “Allow agent forwarding”, “Enable compression”, “SSH protocol version”, “Logical name of remote host” and “Internal protocol version”.
  • WinSCP installed from Microsoft Store can be executed from command-line. 1662
  • Translation updated: Icelandic.
  • With logging level 1 and higher, printing scripting exit debug information on an output too.
  • Hidden configuration option to disable running shell operations on a separate thread. 1666
  • TLS/SSL core upgraded to OpenSSL 1.0.2p.
  • Bug fix: When system theme changes, path labels lose their background color.
  • Bug fix: File mask is not considered when calculating total file transfer size when deleting original files. 1656
  • Bug fix: When canceling connection, mouse cursor sometimes stay “busy”. 1657
  • Bug fix: Relative long paths are not handled correctly. 1659
  • Bug fix: Error when closing edited/opened files with “Keep temporary copies of remote files in deterministic paths” option enabled. 1660
  • Bug fix: It is not possible to open S3 folder from command-line/URL or in scripting when path ends with slash. 1661
  • Bug fix: File panel columns do not have a width constraints. 1663
  • Bug fix: Update information window layout is broken in some situations. 1664
  • Bug fix: Timezone autodetection failed if timestamp of file cannot be retrieved. 1672
  • Bug fix: Wrong error message when attempting to rename an S3 folder. 1674



  • Generated session URL for opened FTP/WebDAV session over TLS/SSL with invalid certificate includes its fingerprint. 1646
  • Generated session URL has colons in TLS/SSL fingerprint unnecessarily URL-encoded. 1645
  • Bug fix: It is not possible to delete symlink pointing to a directory with “Follow symbolic links to directories” session settings being on. 1648
  • Bug fix: Scripting command ln does silently nothing when the server does not support creating symlinks, instead of reporting that.
  • Bug fix: Error when downloading file to a temporary filename with a long path with SFTP protocol.
  • Bug fix: Keywords that link to help page are underlined in generated code on Windows 10 version 1803. 1650
  • Bug fix: Start of file drag from remote panel stalls on some systems with floppy drive. 1652
  • Bug fix: Path argument in lcd command in generated script has to end with backslash, if it points to a root folder.
  • Kabyle translation removed.


  • WinSCP is available in Microsoft Store. 1639
  • Workaround for a bug in Windows 10 version 1803 (April 2018 Update), causing drag & drop downloads to Windows Explorer end in a wrong folder (computer restart required). 1644
  • Translations completed: Croatian, Farsi and Russian; and updated: Dutch, French, German and Polish.
  • Bug fix: ssh:// URL is handled once for every opened instance of WinSCP too much. 1627
  • Bug fix: Icons for local files do not show on some systems. 1628
  • Bug fix: Failure when binary file is attempted to be opened in an internal editor on system with multibyte legacy encoding. 1629
  • Bug fix: Login dialog opens slowly, when there is a lot of stored sites with a color. 1630
  • Bug fix: Extensions were not loaded when configuration is empty.
  • Bug fix: Starts slowly on some systems. 1633
  • Bug fix: Failure when uploading a file larger than 2GB using S3 protocol. 1636


  • Translations completed: Kabyle, Traditional Chinese and Ukrainian; and updated: Bahasa Indonesia.
  • TLS/SSL core upgraded to OpenSSL 1.0.2o.
  • Treating a star as an unset permission for compatibility with Win32-OpenSSH.
  • Bug fix: /refresh parameter with sftp:// URL was not working for SFTP sessions with enabled fallback to SCP protocol.
  • Bug fix: Simple input boxes (like “Edit File” dialog) are broken on multi monitor systems with different DPI. 1614
  • Bug fix: HTTP proxy responses for FTP protocol are logged char by char. 1615
  • Bug fix: Port number box was visible for S3 protocol, even though its value has no effect.
  • Bug fix: Hang when opening a menu with any Paste command, while clipboard contains a large amount of text. 1620
  • Bug fix: Slashes in SHA-256 fingerprints are not encoded in generated URLs. 1622
  • Bug fix: Failure when closing a session with a local proxy command. 1623
  • Bug fix: Failure when closing Find window while finding files. 1624



  • Translations completed: Catalan, Czech, Finnish, French, German, Hungarian, Icelandic, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Slovak, Spanish, Swedish and Turkish.
  • Better error message when trying to upload a file to virtual S3 root “folder”.
  • Displaying server name in network drive label. 1607
  • When using session name as a part of a path to a temporary directory, replace a slash separating a session folder from a session name with a dash instead of %2F. 1608
  • Configurable path to XML log file for the .NET assembly. 942
  • Bug fix: Failure when opening context menu of edit boxes on Login dialog. 1605
  • Bug fix: Failure when processing FileTransferProgress event. 1606
  • Bug fix: It was not possible to open workspace with special characters from a desktop shortcut. 1610
  • Bug fix: Failure when focused panel is changed, while double-clicking a file to edit it. 1611

5.12.2 RC

  • Multiple levels of directories can be created, while synchronizing browsing to a non existing directory. 1601
  • Setting Content Type of files uploaded to S3. 1602
  • Configurable mapping from file extension to Content-Type (using hidden setting). 1604
  • Bug fix: Local directory tree cannot be controlled using keyboard. 1599
  • Bug fix: Alt+Enter keyboard shortcut executed/opened selected file, instead of opening Properties dialog.
  • Bug fix: Session hangs when QueryReceived is set while session is already opened. 1600
  • Bug fix: QueryReceivedEventArgs.Message is empty.
  • Bug fix: Parallel background connections are never started, when queue processing is disabled.
  • Bug fix: Panel column context menus were working incorrectly when panel was horizontally scrolled.
  • Bug fix: Failure when processing results of upload during synchronization in .NET assembly when a directory was created with explicitly set permissions as the first operation. 1603


  • Improvements and changes to .NET assembly and scripting:
    • Custom error handling instead of default abort can be optionally implemented for batch operations in .NET assembly. 1594
    • Change: .NET assembly instance methods Session.EscapeFileMask, Session.CombinePaths, Session.TranslateLocalPathToRemote, Session.TranslateRemotePathToLocal, Session.AddDirectorySeparator, Session.GetDirectoryName, and Session.GetFileName replaced by static methods of the same name in class RemotePath.
    • Change: Session.ScanFingerprint has a new mandatory algorithm parameter.
    • Bug fix: .NET assembly methods GetFileName and GetDirectoryName did not behave correctly when provided a filename without any path.
    • Bug fix: Backtick (`) and dollar ($) signs are not escaped in generated PowerShell code. 1590
  • Displaying both SHA-256 and MD5 fingerprint of SSH host key on Server and protocol information dialog.
  • Choosing right color for background of “selectable” labels.
  • All read-only edit boxes/selectable labels have user friendly context menu for copying contents.
  • Bug fix: Setting hidden raw session setting for “Configurable priority of host key types” overrides host key.
  • Bug fix: Failure when error occurs while another error is already being handled.
  • Bug fix: When connection is lost while deleting source remote file during “Download and Delete” operation, downloaded file may be deleted once connection is resumed. 1592
  • Bug fix: Hidden session settings S3DefaultRegion to create an S3 bucket in a non-default region was not working.
  • Bug fix: It was not possible to work with S3 buckets with a dot in their name. 1597
  • Bug fix: S3 temporary redirect was not handled (consequently it was not possible to work with newly created S3 buckets)
  • Bug fix: HTTP error was displayed instead of a more specific S3 error message in some situations.
  • Bug fix: When viewing stored S3 site with a non-default hostname, the default Amazon S3 hostname was shown instead.
  • Bug fix: Failure when updating jumplist. 1591


5.12 beta

  • Amazon S3 protocol support. 572
  • Bug fix: Stalled connection attempts can be canceled promptly. 1564
  • SHA-256 host key fingerprints are used. 1589
  • Improvements and changes to .NET assembly and scripting:
    • Remote file duplication in scripting, .NET assembly and XML log.
    • Support for PackageReference package management in NuGet package. 1581
    • Help for script commands specifies unit for -speed switch.
    • A SecureString can be used provide a private key passphrase in .NET assembly via property SessionOptions.SecurePrivateKeyPassphrase. 1557
    • Added methods Session.GetDirectoryName, Session.GetFileName and Session.AddDirectorySeparator methods to .NET assembly.
    • Publishing beta releases of NuGet package. 1598
    • Extensions metadata can span multiple lines.
    • Change: XML log tags <modification> and <permisssions> are absent, if their values are not known. Previously they would have value of 1899-12-30T01:00:00.000Z and --------- respectively. Consequently the .NET assembly RemoteFileInfo.LastWriteTime and RemoteFileInfo.FilePermissions have values DateTime.MinValue and null, respectively.
    • File owner and group, if available, are recorded in <stat> tag of XML log and consequently .NET assembly Session.GetFileInfo method is able to retrieve them.
    • .NET assembly timeout for waiting for WinSCP response is always at least as long as session timeout.
    • Scripting command mv and .NET assembly function Session.MoveFile report, when the server does not support file renaming/moving.
    • Masking out passwords in raw settings (proxy and tunnel) when logging command-line. 1578
    • Change: Scripting command mv and .NET assembly function Session.MoveFile tests, if a source file exists, before trying to rename. Consequently, an error message reported has changed significantly, if the source file does not exist.
    • Putting WinSCPnet.dll to net framework subfolder of NuGet package.
  • SSH host key can be verified by pasting the expected key or its fingerprint from the clipboard. 1563
  • Option to turn off Natural order numerical sorting. 1293
  • Wider range of Unicode characters is supported in internal editor. 1580
  • XML parser upgraded to Expat 2.2.5.
  • Skipping loading of files icons when it takes too long. 1556
  • Hidden option to configure priority of host key types. 1562
  • Ctrl-number custom keyboard shortcuts work on numeric keypad too. 1568
  • Allowing download from MVS server using fully qualified dataset name. 1579
  • Optionally displaying authentication banner in a monospaced font. 1588
  • Bug fix: Per-session default encoding configuration for internal editor. 1577
  • Log more information about loading a custom GSSAPI library. 1586
  • Commands to copy hostkey/certificate fingerprint to clipboard has a form of a link, instead of a message button.
  • Changed appearance of background confirmation options link.
  • Logging a complete SSH host key only on Debug log level.
  • Change: Last access time of downloaded files is no longer preserved.
  • Bug fix: Command-line is disabled even for a local panel, if no session is connected or the connected session does support executing remote commands.
  • Bug fix: SSH hostkey/TLS certificate verification prompt in scripting in interactive mode was showing zero timeout.
  • Bug fix: Leaving a folder with a large amount of files takes long. 1565
  • Bug fix: Timeout of auxiliary requests for Microsoft Passport authentication was not set correctly.
  • Bug fix: Operation symbol column on Synchronization checklist does not scale with font size/DPI. 1569
  • Bug fix: Cannot enter subfolders of local drive mapped to WebDAV folder. 1575



  • TLS/SSL core upgraded to OpenSSL 1.0.2n.
  • Translations added: Korean; and updated: Bahasa Indonesia, Finnish and Spanish.
  • Bug fix: Official extension Generate HTTP URL cannot copy multiple URLs to clipboard. 1567
  • Bug fix: Parent directory icon broken on 250% scaling and higher. 1570
  • Bug fix: Resizing of Synchronization checklist window does not stop when mouse button is released. 1571
  • Bug fix: It was not possible to answer prompts with non-ascii answers in 1573
  • Bug fix: Failure when starting with window position configuration, saved on lower DPI, that does not fit anymore on lower resolution caused by higher DPI. 1576
  • Bug fix: Failure when changing remote working directory using directory tree. 1572
  • Bug fix: XML log and .NET assembly API does not use an absolute path for source of SCP download.
  • Bug fix: WinSCP .NET assembly hangs when the XML log cannot be parsed. 1582
  • Bug fix: WinSCP .NET assembly cannot work with files containing control characters. 1583
  • Bug fix: Failure when coping local custom command that works with remote files to clipboard.
  • Bug fix: Failure when using Ctrl+Tab keyboard shortcut with no session opened. 1585
  • Bug fix: When parsing MLSD listing, file name was incorrectly tried to be interpreted against various rare path syntaxes, leading to wrong name being displayed. 1587


  • Translations added: Russian; and updated: Czech, Hungarian, Icelandic, Italian and Spanish.
  • Panel font sample on Preferences dialog is wrapped.
  • Stopping monitoring a drive when a drive removal is announced, to allow removing the drive (particularly required for VeraCrypt drives). 1560
  • Official extension Generate HTTP URL URL-encodes special characters in path.
  • Bug fix: Wrong position of an icon on Login button, when Login dialog monitor DPI does not match system DPI. 1555
  • Bug fix: Failure when creating local directory or deleting local files, while no session is connected. 1558
  • Bug fix: Mouse selection is sometimes incorrectly initiated after inline remote file renaming. 1559


  • Bug fix: Connecting through tunnel to IPv6 does not work. 1553
  • Bug fix: Failure when using translation on monitor with DPI that does not match system DPI. 1554


  • Translation completed: Norwegian.
  • Not closing an application when initial Login dialog is closed without opening session and Keep main window open when the last session is closed is on. 1552


Users upgrading from WinSCP 5.9.6 can read more about WinSCP 5.11 - What's New?

Older versions

Last modified: by martin