This is a list of changes for each release of WinSCP. See also project history.
- Middle mouse click closes session without activating its tab.
- Bug fix: Failure when closing the main window with a colored session.
- Bug fix: Confirmation of copy&paste transfers between panels was incorrectly controlled by drag&drop confirmation preference option.
- Bug fix: Background transfer settings are not preserved. 1690
- Files can be optionally encrypted when storing them on SFTP server. 1653
- Local UNC paths can be browsed. 133
- Files can be copied to the clipboard. 316
- 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.
- It is always possible to use drag&drop to move remote files to external applications, while copy is always the default operation.
- 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. 598
- File/directory rename can be resolved on Synchronization checklist window.
- Size of directories can be calculated on Synchronization checklist window.
- Synchronization summary is shown at the end of the operation. 1680
- 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.
- Transfer settings that do not have a dedicated scripting switch or a .NET
TransferOptionsproperty can be set using
- Toolbar buttons can be hidden. 582
- Found files can be edited from the Find dialog. 1634
- Hidden files can be excluded from transfer/synchronization. 209
- Session URL can contain any raw session settings using connection parameter. New custom command pattern
!Ecan generate such URL for use in WinSCP extensions.
- Session name specified by
/sessionnamecommand-line switch is preserved in workspace.
- Time constraints can be set to a start of an interval.
yesterdaytime constraint aliases.
- 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
- Configurable keyboard shortcuts for extensions. 1613
- When opening a session in PuTTY, exporting also cached host keys.
- Low logging level. 1637
- It’s possible to limit number of command line parameters used for open-ended switches like
- Optionally create background queue connection right after session starts (hidden settings). 1681
- Natural order numerical sorting for directory tree. 1685
- Distinguishing multiple sessions opened to the same site by current path. 1635
- Change: Keyboard shortcut for Download command in Explorer interface changed to
- Change: Keyboard shortcut for Open Terminal command changed to
- 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
- Use remembered private key passphrase in generated script/code. 1688
- Generated code does not include fingerprints of TLS certificates signed by a trusted authority.
- 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+Ais 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
- History of edit boxes can be deleted using
Ctrl+Delkeyboard shortcut. 1686
- 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
PortNumberproperty 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
- Bug fix: Failure or delay when .NET assembly timeouts waiting for WinSCP process. 1683
- Bug fix: When dropping files on another session tab, the target path was not set to the working directory of that session.
- Bug fix: Orphaned hidden temporary folders were not being deleted.
- XML parser upgraded to Expat 2.2.6.
- Translations updated: Dutch, Kabyle and Polish.
- Bug fix: Using
/ini=nulin GUI shows an error.
- Bug fix: Sort arrow is not shown on start up.
- Bug fix: When dragging files to other session tabs, drag cursor could change to “Move”, although only “Copy” is possible.
- Bug fix: Remembered passphrase is used as a password in generated script/code. 1687
- Bug fix: Failure when canceling session reconnect. 1684
- 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
lndoes 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
lcdcommand 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:
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
- 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
- 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
- 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+Enterkeyboard shortcut executed/opened selected file, instead of opening Properties dialog.
- Bug fix: Session hangs when
QueryReceivedis set while session is already opened. 1600
- Bug fix:
- 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.GetFileNamereplaced by static methods of the same name in class
Session.ScanFingerprinthas a new mandatory
- Bug fix: .NET assembly methods
GetDirectoryNamedid 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
S3DefaultRegionto 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
- 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
PackageReferencepackage management in NuGet package. 1581
- Help for script commands specifies unit for
SecureStringcan be used provide a private key passphrase in .NET assembly via property
- Added methods
Session.AddDirectorySeparatormethods to .NET assembly.
- Publishing beta releases of NuGet package. 1598
- Extensions metadata can span multiple lines.
- Change: XML log tags
<permisssions>are absent, if their values are not known. Previously they would have value of
---------respectively. Consequently the .NET assembly
- File owner and group, if available, are recorded in
<stat>tag of XML log and consequently .NET assembly
Session.GetFileInfomethod is able to retrieve them.
- .NET assembly timeout for waiting for WinSCP response is always at least as long as session timeout.
- Scripting command
mvand .NET assembly function
Session.MoveFilereport, 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
mvand .NET assembly function
Session.MoveFiletests, if a source file exists, before trying to rename. Consequently, an error message reported has changed significantly, if the source file does not exist.
netframework 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-numbercustom 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
- 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+Tabkeyboard shortcut with no session opened. 1585
- Bug fix: When parsing
MLSDlisting, file name was incorrectly tried to be interpreted against various rare path syntaxes, leading to wrong name being displayed. 1587