Differences

This shows you the differences between the selected revisions of the page.

2017-01-13 2017-01-17
highlighting problematic changes (martin) categorising by time (martin)
Line 1: Line 1:
====== Incompatible Changes Between Versions ====== ====== Incompatible Changes Between Versions ======
-This is a summary of rare incompatible changes between versions of WinSCP, since 5.0 (2011-08-25).+This is a summary of rare incompatible changes between versions of WinSCP, since 5.0 (August 2011).
With some changes, possible remedies are included. With some changes, possible remedies are included.
Line 7: Line 7:
The changes that most commonly causes issues are **highlighted**. The changes that most commonly causes issues are **highlighted**.
-===== General =====+===== In the Future Major Release 5.10 ===== 
 + 
 +==== General ====
  * 5.10: Invalid [[file_mask#size_time|size constraints in file mask]] will now fail the operation. Previously, invalid size constraints were ignored.   * 5.10: Invalid [[file_mask#size_time|size constraints in file mask]] will now fail the operation. Previously, invalid size constraints were ignored.
 +
 +==== 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 revert to 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.
 +
 +===== In the Last Major Release 5.9 (after December 2015) =====
 +
 +==== General ====
 +
  * 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. [[bug>1485]]   * 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. [[bug>1485]]
  * 5.8.3: By default, warning is issued when using Diffie-Hellman group 1 [[ui_login_kex|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 [[rawsettings|raw site settings]].   * 5.8.3: By default, warning is issued when using Diffie-Hellman group 1 [[ui_login_kex|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 [[rawsettings|raw site settings]].
Line 15: Line 27:
  * 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. [[bug>1411]]   * 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. [[bug>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. [[bug>1014]]   * **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. [[bug>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.9.1: ''[[library_session_enumerateremotefiles|Session.EnumerateRemoteFiles]]'' does not throw when reading subdirectory fails. To capture errors, use the ''[[library_session_failed|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 ''[[library_session_addrawconfiguration|Session.AddRawConfiguration]]''. You can [[ui_generateurl#code|generate a code template]] with the ''AddRawConfiguration'' calls.
 +  * **5.8:** [[scripting#using_scripting|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 ''[[library_remotefileinfo#name|RemoteFileInfo.Name]]'' now contains a name only, even for a ''RemoteFileInfo'' instance returned by the ''[[library_session_getfileinfo|Session.GetFileInfo]]''.
 +  * 5.8: Deprecating ''Session.DefaultConfiguration in'' favor of ''[[library_session_addrawconfiguration|Session.AddRawConfiguration]]''. You can [[ui_generateurl#code|generate a code template]] with the ''AddRawConfiguration'' calls.
 +  * **5.8:** ''SessionOptions.SshPrivateKeyPassphrase'' renamed to ''[[library_sessionoptions#privatekeypassphrase|SessionOptions.PrivateKeyPassphrase]]''.
 +
 +===== In Older Releases (August 2011 - December 2015) =====
 +
 +==== General ====
 +
  * 5.6.4: Considering directories to have zero size, when matching [[file_mask#size_time|file masks]] or sorting by size, even when the server reports size for the directory, to achieve consistent behavior.   * 5.6.4: Considering directories to have zero size, when matching [[file_mask#size_time|file masks]] or sorting by size, even when the server reports size for the directory, to achieve consistent behavior.
  * **5.2.5:** Using UTF-8 for strings (such as file names) with SFTP protocol by default even for version 3 and lower. If your server does not use %%UTF-8%%, you can revert to the previous behavior by setting the //[[ui_login_environment#utf|UTF-8 encoding for filenames]]// to //Off//. [[bug>1072]]   * **5.2.5:** Using UTF-8 for strings (such as file names) with SFTP protocol by default even for version 3 and lower. If your server does not use %%UTF-8%%, you can revert to the previous behavior by setting the //[[ui_login_environment#utf|UTF-8 encoding for filenames]]// to //Off//. [[bug>1072]]
Line 25: Line 59:
  * 5.0.2: With FTP protocol, [[ftp_modes|passive mode]] is used by default. [[bug>165]]   * 5.0.2: With FTP protocol, [[ftp_modes|passive mode]] is used by default. [[bug>165]]
-===== GUI =====+==== 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''. 
  * 5.2: Session from command-line and/or from jump list is opened by default using existing WinSCP instance. To revert to the previous behavior, use the //[[ui_pref_window|Open new externally initiated sessions in existing window]]//. [[bug>769]]   * 5.2: Session from command-line and/or from jump list is opened by default using existing WinSCP instance. To revert to the previous behavior, use the //[[ui_pref_window|Open new externally initiated sessions in existing window]]//. [[bug>769]]
  * 5.0.6: //Include/Exclude mask// in transfer settings replaced with //File mask//, what is equivalent of //Include mask// (as supported already previously, it can contain exclude mask after ''|'').   * 5.0.6: //Include/Exclude mask// in transfer settings replaced with //File mask//, what is equivalent of //Include mask// (as supported already previously, it can contain exclude mask after ''|'').
Line 37: Line 67:
  * 5.0.3: In mouse-only [[ui_pref_commander|Explorer-style selection mode]], single-file implicit mouse-selection is not preserved, when focus/selection is subsequently changed using keyboard.   * 5.0.3: In mouse-only [[ui_pref_commander|Explorer-style selection mode]], single-file implicit mouse-selection is not preserved, when focus/selection is subsequently changed using keyboard.
-===== Scripting and .NET Assembly =====+==== 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 revert to 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: ''[[library_session_enumerateremotefiles|Session.EnumerateRemoteFiles]]'' does not throw when reading subdirectory fails. To capture errors, use the ''[[library_session_failed|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 ''[[library_session_addrawconfiguration|Session.AddRawConfiguration]]''. You can [[ui_generateurl#code|generate a code template]] with the ''AddRawConfiguration'' calls. 
-  * **5.8:** [[scripting#using_scripting|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 ''[[library_remotefileinfo#name|RemoteFileInfo.Name]]'' now contains a name only, even for a ''RemoteFileInfo'' instance returned by the ''[[library_session_getfileinfo|Session.GetFileInfo]]''. 
-  * 5.8: Deprecating ''Session.DefaultConfiguration in'' favor of ''[[library_session_addrawconfiguration|Session.AddRawConfiguration]]''. You can [[ui_generateurl#code|generate a code template]] with the ''AddRawConfiguration'' calls. 
-  * **5.8:** ''SessionOptions.SshPrivateKeyPassphrase'' renamed to ''[[library_sessionoptions#privatekeypassphrase|SessionOptions.PrivateKeyPassphrase]]''. 
  * 5.6.5: ''[[library_session_calculatefilechecksum|Session.CalculateFileChecksum]]'' method returns a byte array instead of a string to match .NET framework cryptography functions.   * 5.6.5: ''[[library_session_calculatefilechecksum|Session.CalculateFileChecksum]]'' method returns a byte array instead of a string to match .NET framework cryptography functions.
  * 5.6.3: ''[[scriptcommand_lls|lls]]'' by default only displays a notification that no matching file is found, instead of failing.   * 5.6.3: ''[[scriptcommand_lls|lls]]'' by default only displays a notification that no matching file is found, instead of failing.

Last modified: by martin