This is an old revision of the document!

Incompatible Changes Between Versions

This is a summary of rare incompatible changes between versions of WinSCP. With some changes, possible remedies are included.

Advertisement

General

  • 5.10: Invalid size constraints in file mask will now fail the operation. Previously, invalid size constraints were ignored.
  • 5.9.3: Not updating last access time of uploaded files with SFTP protocol to avoid problems with servers that do not support it. Previously last access time was updated. 1485
  • 5.8.3: By default, warning is issued when using Diffie-Hellman group 1 key exchange algorithm. If you need this key exchange algorithm, in scripting use open -rawsetting KEX=ecdh,dh-gex-sha1,dh-group14-sha1,rsa,dh-group1-sha1,WARN, in .NET assembly use SessionOptions.AddRawSettings("KEX", "ecdh,dh-gex-sha1,dh-group14-sha1,rsa,dh-group1-sha1,WARN"). See raw site settings.
  • 5.8.3: Fallback between SSH versions is not supported anymore. This should not have any impact, as SSH-1 is not used anymore.
  • 5.8.3: Port number is considered for site-specific caches and bookmarks. You will lose bookmarks for sites that use a non-standard port number. 1411
  • 5.8: Using UTF-8 for strings (such as password) with SSH protocol. If your SSH password contains non-ASCII characters, and you were able to connect with previous versions of WinSCP, it means that your server does not comply with SSH specification (as older versions of WinSCP did not). You will not be able to login with the new version of WinSCP. Change your password to ASCII characters only as a workaround. 1014

GUI

  • 5.8.2: Remote custom commands cannot be executed with focus on local panel. Make sure you have the remote panel focused, when executing a remote custom command.
  • 5.8: Interface theme is not configurable anymore. Only single theme is supported.
  • 5.8: Change of language on run-time is not supported anymore.
  • 5.8: Shortcut of command Clear Selection changed to Shift+Ctrl+L.

Scripting and .NET Assembly

  • 5.10: 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. Previously, WinSCP tried to reconnect indefinitely by default. To force back the previous behavior, in scripting use option reconnecttime 0, in .NET assembly use Session.ReconnectTime = TimeSpan.MaxValue.
  • 5.10: Change: Deprecating Session.DisableVersionCheck. Always use the same version of WinSCP and WinSCP .NET assembly.
  • 5.9.1: Session.EnumerateRemoteFiles does not throw when reading subdirectory fails. To capture errors, use the Session.Failed event.
  • 5.8.3: A complete remote error message is stored into a single instance of SessionRemoteException, instead of separating error details into an inner exception. This should have any impact only, if your code checks for specific error message in inner exception. This is not recommended though.
  • 5.8.1: Deprecating Session.IniFilePath in favor of Session.AddRawConfiguration. You can generate a code template with the AddRawConfiguration calls.
  • 5.8: Script file has to be in UTF-8 encoding. This matter only if you use non-ASCII characters in filenames and/or credentials.
  • 5.8. The RemoteFileInfo.Name now contains a name only, even for a RemoteFileInfo instance returned by the Session.GetFileInfo.
  • 5.8: Deprecating Session.DefaultConfiguration in favor of Session.AddRawConfiguration. You can generate a code template with the AddRawConfiguration calls.
  • 5.8: SessionOptions.SshPrivateKeyPassphrase renamed to SessionOptions.PrivateKeyPassphrase.

Advertisement

Last modified: by martin