Recent Version History
This is a list of changes for each release of WinSCP. See also project history.
5.10 (not released yet)
- Background transfer operations can use multiple connections. 875
- Find dialog is not modal when search finishes and its Focus button does not close the window.
- Found files can be downloaded and deleted on the Find dialog. 1473
- Support Microsoft
Passport authentication to allow WebDAV access to Microsoft OneDrive. 1465
- Configurable path to INI file configuration storage.
- Changes to translations:
- Translations are installed to
- Unless user customizes language, automatically using the best language match each run.
- Including all translation (30% at least) in installation, but automatically using only those that are complete (80% at least).
- Marking the default, incomplete and invalid languages in Preferences dialog.
- Improvements to custom commands/extensions:
- Extension output can be displayed in a message box.
- Local custom console command output can be copied to clipboard.
- The official extensions can be translated.
- Consistency in handling errors executing local custom command.
- Holding down
Shift keys while running a remote custom command copies the command to clipboard instead of executing it.
- Session log file rotation. 18
- It is possible to skip file actually being transferred. 251
- Not indefinitely retrying transfer with FTP protocol when opening transfer channel is failing. 1169
dav:// URL. 1479
- SSH password change.
- Duplication is supported with WebDAV protocol. 1508
- Improved connection time for fast connections.
- Open filter dialog when clicking the current filter in the path display. 1478
- The path display shows temporarily an implicit
*.* filter when hovering a mouse over it. 1478
- Importing proxy configuration from FileZilla.
- If there is only a single private key configured in FileZilla, import it with session. 1468
- Added New > File command to the toolbar. 1477
- Cancelling calculation or errors while calculating size of files to upload does not abort the the actual transfer.
- Supporting user/group names in
MLST responses. 1481
- Allowed downloading file using URL even when listing its source directory is not possible. 1480
Content-Type header with WebDAV uploads. 1507
- SSH core upgraded to the latest development snapshot of PuTTY (2017-02-02, commit f6c1c88).
- When handling WebDAV file URL, use a display name for target local file. 1486
- Not aborting “Keep remote directory up to date” when Continue on error (or
option batch continue) is enabled and reading a local directory fails, because it was deleted. 1506
- DLL hijacking protection. 1459
Side property to
- Poll edited file timestamps instead of using change notifications. 1500
- Using WinSCP site name for PuTTY window title. 1482
- Hidden options for Preference order for GSSAPI libraries and User-supplied GSSAPI library path. 578
Ctrl+Backspace in path edit boxes to deletes the word before cursor. 1469
- The SFTP server and Shell edit boxes on the Advanced Site settings dialog use path-style word-breaking.
- Not adding
-load switch to PuTTY arguments, if it is configured already. 1493
- Drop down lists on the Open Directory and Location Profile dialogs are up to 16 entries long.
- Progress window appears on top of Editor window when reloading an edited file.
- Not popping up Authentication window when reconnecting while the application is minimized. 1476
- Hidden session settings for “Logical name of remote host”. 1472
- Masking out passwords and passphrases in .NET assembly output log. 1475 1488
- More readable usage statistics display.
- Update dialog can be displayed by clicking update notification even when the Login dialog is opened.
- Scaling Color button image on Advanced Site Settings dialog.
- While downloading, when an SFTP
SSH_FXP_FSTAT response does not include timestamps, using known timestamps from directory listing for a local file. 1496
- Improved file transfer logging, including new progress logging.
- Change: Failing on invalid size constraint.
- Change: Deprecating
- When opening secondary shell session fails, the main session is not closed.
- Change: When executing script file or script commands provided on command-line, default reconnect time is set to 120 seconds, if not limited yet by configuration.
- Bug fix: The
/refresh command-line switch was not described in
- Bug fix: Digits-only file mask constraint was interpreted as time constraint instead of size constraint.
- Bug fix: Sudden disconnect errors during authentication are randomly ignored. 1489
- Bug fix: Queue status was not shown on task bar button, when WinSCP was minimized by clicking on the task bar button.
- Bug fix: Pending background transfers were not considered for progress bar on task bar button.
- Bug fix: Configuring a PuTTY path with unclosed quotes prevents WinSCP from starting. 1499
- Bug fix: Never implemented
-continueonerror switch was present in
- Bug fix: Failure while reloading directory tree after a system colors had changed while the tree was not showing. 1509
5.9.5 (not released yet)
- De-duplicating accelerators in Session menu. 1512
- Translation completed: Portuguese.
- Allowed setting debug logging level to 2 in .NET assembly. 1487
- TLS/SSL core upgraded to OpenSSL 1.0.2k.
id_* files are included in private key files filter.
- Bug fix: Cannot use unencrypted client certificate file (
.p12 format). 1490
- Bug fix: Installer started by unprivileged user shows warning about an incomplete translation again after elevation to administrator privileges. 1492
- Bug fix: Installation fails when started by a non-privileged user on a system, where elevating to administrator privileges is disabled. 1491
- Bug fix: Colored session icon does not display on high DPI. 1494
- Bug fix: WinSCP .NET assembly fails when finding WinSCP executable in its installation folder. 1495
- Bug fix: Moving Login dialog moves main window disproportionally on some systems. 1497
- Bug fix: Remembered password is not used for reconnects. 1498
- Bug fix: Keep local directory up to date extension failed, when local directory was initially empty and Delete files option was enabled. 1503
- Bug fix: Wrong message when setting
TransferOptions.OverwriteMode property to an invalid value. 1504
- Bug fix: Panel loses focus after a transfer initiated using
Enter key or double-click. 1505
- Bug fix: Failure when using Generate Code command on Upload dialog opened by
/upload command-line parameter. 1510
- Bug fix: Some multibyte ANSI-encoded files are incorrectly loaded into an Internal editor. 1511
- Translation completed: Croatian.
- Support for non-ASCII passphrases to client certificate files (
.p12 format). 1461
- TLS/SSL core upgraded to OpenSSL 1.0.2j.
- Improvements to custom commands/extensions:
- New official extensions “Generate HTTP URL” 417 and “Batch Rename”.
- The official extensions are compatible with PowerShell 2.0.
- The official extension “Find Duplicates” re-implemented using the
Session.EnumerateRemoteFiles and the
- Site-specific extension options.
- Increased length limit for custom command and console. 1466
- Allowing tabs in addition to spaces in extension file. 1467
- Specific error messages about extensions are presented without irrelevant HTTP status code.
- Bug fix: Tab order on extension options dialog was broken, if the extension mixed options in and out of group box.
- Progress windows can be controlled using keyboard again. 1471
- Scaling combo box drop down menu.
- Change: Not updating last access time of uploaded files with SFTP protocol to avoid problems with servers that do not support it. 1485
- Bug fix: Failure when moving Download and Delete operation to background. 1462
- Bug fix: Found folders were focusing incorrectly.
- Bug fix: Command-line toolbar command can be executed while another command was executing already.
- Bug fix: Wrong layout of Login dialog on monitors with low vertical resolution. 1463
- Bug fix:
Session instance could not be reused for multiple
ScanFingerprint calls. 1464
- Bug fix: Custom commands submenu with the other custom command type was not disabled when there was no such custom command.
- Bug fix: It was possible to load again the first extension in an extension folder.
- Bug fix: Failure when logging fails for background session or during log in. 1483
- Bug fix: Failure when pressing Calculate button on Properties dialog, while another calculation is already in progress. 1484
- Translations completed: Brazilian Portuguese, Finnish, Kabyle and Ukrainian.
- Moving main window with Login dialog. 1455
- Expanding patterns in default value of extension options. 1456
- Paste command in panels context menu. 422
- When upgrading the drag&drop shell extension, silently postpone replacement until the next system restart, unless the new extension is incompatible. 1458
- XML parser upgraded to Expat 2.2.0.
- Not showing password in full
open command syntax suggestion. 1452
!P pattern in PuTTY command implies that password should be remembered.
- Not importing the Disable Nagle’s algorithm (TCP_NODELAY option) from PuTTY as it has a different default due to its interactive nature.
- More detailed error message when fatal error (such as inability to write an XML log file) occurs while .NET assembly is starting
- Skip loading icons from
.exe (and similar) files when it takes too long. 1460
- Bug fix: Long (or multiline) authentication prompts are truncated. 1449
- Bug fix: Failure during WebDAV SSPI authentication. 1450
- Bug fix: Directory listing lacks attributes on MVS systems. 1451
- Bug fix: It was possible to set site name empty.
- Bug fix: Error opening data connection over proxy server when the server supports
EPSV command. 1310
- Bug fix: Ad-hoc and Last custom commands were always executed for selected files, even when executed from a context menu of a focused file.
- Bug fix: Custom command patterns were replaced in values of extension options.
- Bug fix: Downloads by drag&drop were randomly defaulted to background queue. 1457
- Translations completed: Catalan, Polish and Swedish.
- Several files can be opened in editor at once using their paths. 1437
Session.EnumerateRemoteFiles does not throw when reading subdirectory fails.
- Implemented Beep when work finishes also for Keep remote directory up to date. 1440
- Tunnel inherits SSH options from the main session. 1441
- Custom command and PuTTY patterns are case-insensitive.
- Custom sound for Beep when work finishes. 1444
- Make WinSCP default handler command opens Set Program Associations for WinSCP even on Windows 10.
- Informing, when the script file is not in supported encoding.
- Handling directory listing entries with question marks. 1448
- Bug fix: Failure when user’s Documents folder cannot be loaded on start. 1435
- Bug fix: GSSAPI authentication is not working in tunneled session. 1434
- Bug fix: Some scripting commands or command-line switches were not recognized on some locales (like Welsh) when used or defined with a mixed case (like
- Bug fix: When a passive file panel is focused after reload, the panel is scrolled to show the previously focused file, what can cause unintended behavior. 1438
- Bug fix: When the current console font (e.g. raster) does not support Unicode, some console output might be lost. 1439
- Bug fix: Command-line toolbar was not disabled for WebDAV sessions.
- Bug fix: The
-pw argument is added to PuTTY command-line, even when
!P pattern is used. 1443
- Bug fix: Certificate validation fails on Windows Vista and older. 1442
- Bug fix: Ordering of columns that are invisible by default is not preserved. 1446
- Bug fix: UTF-16 script files cannot be loaded. 1447
- SSH private key tools (PuTTYgen and Pageant) upgraded to the latest development snapshot of PuTTY (2016-07-19, commit 9398d23).
- Bug fix: Failure due to a disconnected session being left behind after opening a secondary shell session fails. 1433
- Bug fix: An URL in extension “option” with format
- link caption https://www.example.com/ is ignored.
Users upgrading from WinSCP 5.7.7 can read more about WinSCP 5.9 - What's New?
- Improvements to custom commands/extensions:
- Run time options for extensions.
- Extension can require specific PowerShell and Windows version.
- Extension option controls can be grouped using
@option - group.
- Command-line switch
/refresh to allow extensions to refresh remote panel.
- Extension option aliases
- It’s possible to use an empty parameter in extension options metadata.
- Not displaying ellipsis in the Custom command options dialog title.
- Using path word-breaking for
file extension options.
%TIMESTAMP% syntax allows formatting time strings for a time relative to present time.
- Autodetect FTP server timezone difference before file transfer, if it was not detected yet. 1431
- SSH core and private key tools (PuTTYgen and Pageant) upgraded to the latest development snapshot of PuTTY (2016-06-03, commit 7b9ad09)
- Removing old
putty.hlp when upgrading.
- When opening a session in an existing instance of WinSCP, any idle instance can be used, not only the latest one.
- PuTTY is started with its executable directory as working directory to allow relative private key paths in PuTTY’s stored sessions. 1430
- When opening WinSCP session in PuTTY, expanding the relative paths.
- Providing more details when verification of the TLS certificate against Windows certificate store fails.
- Checkbox to remember the new directory settings is disabled when the protocol does not allow any.
- Bug fix: The dialog box to enter new local directory name included useless permissions box.
- Bug fix: Failure when SCP server fatally fails while uploading file. 1428
- Bug fix: Failure when closing application after giving up trying to reconnect a broken connection.
- Translation added: Icelandic.
- Improvements to .NET assembly:
Session.TranslateLocalPathToRemote to .NET assembly to generate a remote path equivalent of a local path, given root paths.
- Change: A complete remote error message is stored into a single instance of
SessionRemoteException, instead of separating error details into an inner exception.
- Preventing .NET assembly from timing out during lengthy file transfers.
winscp.com and .NET assembly timing out waiting for
winscp.exe when the system is temporarily busy.
- Bug fix:
Session instance could not be used anymore after calling
- Bug fix: Failure when
Session.MoveFile source file is not existing and its name has file mask-like syntax. 1412
- Bug fix: WinSCP .NET assembly cannot find WinSCP executable in its installation folder nor the default installation folder when used in 64-bit process. 1421
- SSH core and private key tools (PuTTYgen and Pageant) upgraded to the latest development snapshot of PuTTY (2016-04-17, commit b22c0b6). It brings following changes:
- Promoting ChaCha20 cipher above Blowfish (below AES).
- Change: Fallback between SSH versions is not supported anymore.
- Change: By default, warning is issued when using Diffie-Hellman group 1 key exchange algorithm.
- Improvements to custom commands:
- Extensions are configurable.
- Local path pattern (
!\) for custom commands.
- All custom command prompts are entered on one dialog box.
- Separating custom commands that do not operate with files to a separate submenu of Commands menu.
- Holding down
Shift keys while running a local custom command copies the command to clipboard instead of executing it.
- Displaying full command name in custom command preferences list. The keyboard shortcut now displays in a hint only.
- Installer upgraded to Inno Setup 5.5.9.
- Further installer protection against potential DLL preloading attacks.
- TLS/SSL core upgraded to OpenSSL 1.0.2h.
- Dynamically increase TCP send buffer on fast connections.
- Removed log window.
- With synchronized browsing on, the Home Directory command opens home directory in both panels. 1427
- The Follow symbolic links to directories session option is disabled with WebDAV protocol as it has no effect.
- When detecting time zone difference of FTP server, ignoring files with timestamp in the future, as they have high probability of being wrongly interpreted.
- Preventing mouse cursor flashing while deleting remote files or changing their properties over SFTP protocol.
- Change: Consider port number for site-specific caches and bookmarks. 1411
- Indenting Allow GSSAPI credential delegation checkbox to make it clear it is an suboption of Attempt GSSAPI authentication
- Disabling Username and Password boxes on a Login dialog when Bypass authentication entirely is enabled.
- Considering items out of the current view when sizing dialogs list columns.
- Ignoring blank lines in
ls command output. 1416
- Installing PuTTY help file in modern
- Showing details about TLS handshake errors.
- Use seconds in *nix-like
LIST FTP listing, if the server provides them. 1422
lls command shows timestamps in respect to DST the same way as local file panel (and Windows Explorer).
- Bug fix: Downloads by drag&drop were randomly defaulted to background queue.
- Bug fix: Using precise timestamp of the uploaded file version was not working when a relative path was used in automation.
- Bug fix: Authentication parameters options were not disabled when Bypass authentication entirely is enabled.
- Bug fix: In rare cases a Download and Delete operation might have been incorrectly used instead of Download when dropping files to Windows Explorer with drag&drop shell extension enabled. 1414
- Bug fix: Failure when system-wide settings change while panel is being reloaded. 1415
- Bug fix: Support for FTP servers with Windows-like paths (fixed again after broken in 5.8.2). 1074
- Bug fix: When user profile is stored on UNC path and the first drive is hidden, local panel starts empty. 1417
- Bug fix: Failure when disconnecting the last drive while the previous drive is not ready. 1418
- Bug fix: Command syntax suggestion, when using saved site in batch script, included RTF code.
- Bug fix: The
stat command on FTP server may return wrong times, if the
ls command was used before.
- Bug fix: Transferring newer files only did not work with FTP protocol.
- Bug fix: Autodetected time zone difference for servers not supporting
MLST command was not taken into account for time on overwrite confirmation dialog. 1424
- Bug fix: When dropping files on another session tab, the Duplicate via local temporary copy option could be unchecked (and was initially unchecked), leading to the file being duplicated incorrectly within the current session.
- Bug fix: Failure when dragging a symbolic link to a directory between sessions. 1425
- Bug fix: When parsing timestamps in
MDTM command response, second and minutes after zero hour (or minute) were ignored.
- Bug fix: Detect symbolic link loops when finding files (improved to cover more complex symbolic link structures). 1093
- SSH core and private key tools (PuTTYgen and Pageant) upgraded to the latest development snapshot of PuTTY (2016-03-05, commit 8e41e0a)
- TLS/SSL core upgraded to OpenSSL 1.0.2g.
- When FTP server does not provide precise timestamp, but the timestamp otherwise matches timestamp of the last uploaded version of the file, using precise timestamp of the uploaded version instead. 1395
- Improvements to code/script generation:
- Script or .NET assembly code can be generated for file transfers.
- Suggesting command-line to use to execute generated script.
-Property switch to initialize
SessionOptions properties in PowerShell.
- Not using
my prefix for VB.NET variables.
- No redundant declaration of instantiated object variables type in VB.NET.
- Not highlighting script strings.
- Larger initial size of Generate URL/Code dialog, when starting on Script/Code page.
- Bug fix: Session timeout was incorrectly set in seconds, instead of milliseconds.
- Bug fix: Generate Code dialog could not be closed with
- Improvements to the installer:
- The installer requests UAC elevation when started non-elevated. 646
- When the UAC elevation is denied by the user, the installer defaults installing to the user profile folder.
- The installer is not showing Select Setup Language dialog when it supports the current Windows UI language.
- Individual help link for each installer page.
- Correcting layout of the Finished page.
- Not warning on incomplete translation during silent installation.
- Bug fix: Wrong message shown in an installer when it cannot continue because previous installation/uninstallation was not completed.
- Improvements to custom commands:
- Custom commands can be distributed in a form of WinSCP extension.
- Distributing Verify Checksum, Search Text and ZIP and Upload .NET assembly examples as official WinSCP extensions.
- Including .NET assembly to the deployment to support these extensions.
- Local custom commands for local files. 1396
- Change: Remote custom commands cannot be executed with focus on local panel.
- Removed D/R column from Commands page of Preferences dialog to save space for Name and Command columns.
- Hint displays Commands page of Preferences dialog with full custom command name, keyboard shortcut and command.
- Local custom commands that work with list of files do not block the interface.
- Bug fix: Local custom commands that do not work with files froze the interface.
- Tooltips display for 20 seconds.
- Enhanced tooltips (aka ScreenTips).
- Retrieving seconds-precision timestamps using
MDTM command, if the server provides them. 1221
- Improvements to .NET assembly:
Session.ScanFingerprint to scan server’s hostkey or certificate fingerprint. 1394
TransferOptions.ResumeSupport is settable and
TransferResumeSupport is constructable.
TransferResumeSupport.Threshold automatically sets
- Application update information window has title Check for Updates instead of generic Information.
- Free bytes for user can be displayed for IIS FTP server with FTP Directory Browsing > Directory Listing Options > Available bytes option enabled.
- Preventing interruption of file renaming by automatic operations (such as an automatic remote panel refresh). 1399
- Compatibility with FTP servers whose path does not start with a slash (such as IBM VMS or MVS). 1400
- Do not list remote directory when uploading file using FTP protocol with overwrite confirmations off. 1403
- Support for FTP directory listings with name only. 1401
- Verify TLS certificate against cached fingerprints before Windows certificate store. 1402
- Optionally following symbolic links to directories during file operations. 51
- The Make WinSCP default handler command opens Set Default Programs page in Control Panel.
- Returning an error exit code (1) when user aborts the script. 1404
- Returning an error exit code (1) when watching for directory changes fail (
- Logging that user aborted the script in XML log. 1406
- Remembering a password for a duration of a session by default. 1409
- Right justifying hidden and filtered counters on Commander interface.
- Not showing 0% percent hint on the Progress dialog while calculating a transfer size.
- Linking background confirmations options from the generic options. 1408
- Transfer settings and path label hint popups use the same font as the underlying label and align with it.
- Bug fix: Error when accessing a local directory junction on Windows XP/2003. 1392
- Bug fix: The
/loglevel switch did not apply when used with pre-configured log file
- Bug fix: SSPI/NTLM/Negotiate authentication is endlessly retried with WebDAV protocol. 1397
- Bug fix: User is not informed when SSPI/NTLM/Negotiate authentication fails.
- Bug fix: Remote panel refresh interval could be set to zero.
- Bug fix: SFTP/SCP sessions cannot be connected to over proxy. 1405