Differences

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

incompatible_changes 2021-12-03 incompatible_changes 2024-03-25 (current)
Line 7: Line 7:
The changes that most commonly causes issues are **highlighted**. The changes that most commonly causes issues are **highlighted**.
-===== In the Last Major Beta Release 5.20 (after December 2021) =====+===== In the Last Major Release 6.2/6.3 (after October 2023) =====
==== General ==== ==== General ====
-  * 5.20: Removed support for SSH-1. +  * 6.2: SSL (3.0) is no longer supported. TLS 1.0 and 1.1 are disabled by default, to match the OpenSSL 3 defaults.
-  * 5.20: SHA-256 fingerprints are not padded with ''='' anymore. That includes result of .NET assembly ''Session.ScanFingerprint''.+
-==== GUI ====+==== .NET Assembly ====
-  * 5.20: Keyboard shortcut for //Restore Selection// command changed to ''Ctrl+Shift+S'' (''Ctrl+Shift+R'' previously). +  * 6.2.2.NET assembly collections are tagged with ''ClassInterfaceType.None'' to avoid warnings from ''regasm''.
-  * 5.20: Monitoring ''A:'' and ''B:'' drives.+
-===== In the Last Major Release 5.18/5.19 (after November 2020) =====+===== In Older Releases (August 2011 -- October 2023) =====
-==== General ====+==== [[older_general]] General ====
 +  * 6.0: Keyboard shortcut for //Command Line// command changed to ''Shift+Ctrl+M'' (''Shift+Ctrl+N'' previously).
 +  * 5.20: Removed support for SSH-1. This should not have any impact, as SSH-1 is not used anymore.
 +  * 5.20: SHA-256 fingerprints are not padded with ''='' anymore. That includes result of .NET assembly ''Session.ScanFingerprint''. WinSCP can still accept padded fingerprints. But new unpadded fingerprints cannot be used with old versions of WinSCP.
  * 5.18: Installer needs Windows 7 SP1/2008 R2 SP1. WinSCP application itself still runs on Microsoft Windows XP SP2/Windows Server 2003 SP1 and newer. Use //Portable executables// download.   * 5.18: Installer needs Windows 7 SP1/2008 R2 SP1. WinSCP application itself still runs on Microsoft Windows XP SP2/Windows Server 2003 SP1 and newer. Use //Portable executables// download.
- 
-==== Scripting and .NET Assembly ==== 
- 
-  * 5.18: Deprecated [[library_sessionoptions#giveupsecurityandacceptanysshhostkey|''SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey'']] in favour of [[library_sessionoptions#sshhostkeypolicy|''SshHostKeyPolicy.GiveUpSecurityAndAcceptAny'']]. 
- 
-===== In Older Releases (August 2011 -- November 2020) ===== 
- 
-==== [[older_general]] General ==== 
- 
  * 5.16: Consider size of linked file when transferring/synchronizing symbolic link. [[bug>1747]]   * 5.16: Consider size of linked file when transferring/synchronizing symbolic link. [[bug>1747]]
  * 5.12: When uploading files, ''GetFileAttributes'' is newly used to retrieve file attributes, instead of previous ''FindFirstFile''. With some rare networked drives with broken API, this may cause problems. [[bug>1918]]   * 5.12: When uploading files, ''GetFileAttributes'' is newly used to retrieve file attributes, instead of previous ''FindFirstFile''. With some rare networked drives with broken API, this may cause problems. [[bug>1918]]
Line 45: Line 37:
  * 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]]
 +  * 5.2: Dropped support for Windows 2000. Minimal supported version is Windows XP.
 +  * 5.0.7: Dropped support for Windows 95/98/ME.
  * 5.0.7: Blowfish is preferred [[ui_login_ssh|SSH encryption cipher]]. [[bug>1]]   * 5.0.7: Blowfish is preferred [[ui_login_ssh|SSH encryption cipher]]. [[bug>1]]
  * 5.0.6: File mask that does not end with slash matches only files, not directories anymore.   * 5.0.6: File mask that does not end with slash matches only files, not directories anymore.
Line 55: Line 49:
==== GUI ==== ==== GUI ====
 +  * 5.20: Keyboard shortcut for //Restore Selection// command changed to ''Shift+Ctrl+S'' (''Shift+Ctrl+R'' previously).
 +  * 5.20: Monitoring ''A:'' and ''B:'' drives.
  * 5.16: Removed option to create //Quick Launch// icons (Windows Vista and older only).   * 5.16: Removed option to create //Quick Launch// icons (Windows Vista and older only).
  * 5.14: Keyboard shortcut for //Download// command in Explorer interface changed to ''Ctrl+T'' (''Ctrl+C'' previously).   * 5.14: Keyboard shortcut for //Download// command in Explorer interface changed to ''Ctrl+T'' (''Ctrl+C'' previously).
Line 76: Line 72:
==== [[older_automation]] Scripting and .NET Assembly ==== ==== [[older_automation]] Scripting and .NET Assembly ====
 +  * 6.0.1: ''SessionOptions.WebdavSecure'' renamed to ''SessionOptions.Secure'' (and applies to S3 protocol too).
 +  * 5.18: Deprecated [[library_sessionoptions#giveupsecurityandacceptanysshhostkey|''SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey'']] in favour of [[library_sessionoptions#sshhostkeypolicy|''SshHostKeyPolicy.GiveUpSecurityAndAcceptAny'']].
  * 5.16: TLS/SSL certificate fingerprints in generated URL use dashes (''-'') instead of colons ('':''), while colons are still accepted. Consequently URLs with TLS/SSL certificate fingerprints generated by 5.16 and newer cannot be used for older versions.   * 5.16: TLS/SSL certificate fingerprints in generated URL use dashes (''-'') instead of colons ('':''), while colons are still accepted. Consequently URLs with TLS/SSL certificate fingerprints generated by 5.16 and newer cannot be used for older versions.
  * 5.16: SHA-256 fingerprints in generated URL use dashes (''-'') and underscores (''_'') instead of pluses (''+'') and slashes (''/''), while pluses and slashes are still accepted. Consequently URLs with SHA-256 fingerprints generated by 5.16 and newer cannot be used for older versions.   * 5.16: SHA-256 fingerprints in generated URL use dashes (''-'') and underscores (''_'') instead of pluses (''+'') and slashes (''/''), while pluses and slashes are still accepted. Consequently URLs with SHA-256 fingerprints generated by 5.16 and newer cannot be used for older versions.
Line 87: Line 85:
  * 5.12.1: ''Session.ScanFingerprint'' has a new mandatory ''algorithm'' parameter. To keep the previous behavior use ''%%MD5%%'' as a parameter value (though for new development, use ''%%SHA-256%%'').   * 5.12.1: ''Session.ScanFingerprint'' has a new mandatory ''algorithm'' parameter. To keep the previous behavior use ''%%MD5%%'' as a parameter value (though for new development, use ''%%SHA-256%%'').
  * 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: 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: XML log EOL has changed from LF to CRLF.
  * 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.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.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.
Line 100: Line 99:
  * 5.6: Enabling batch mode in scripting automatically limits reconnect time to 120 seconds, if it is not limited yet. To revert to the previous behavior, in scripting use ''option reconnecttime 0'', in .NET assembly use ''Session.ReconnectTime = TimeSpan.MaxValue''. [[bug>1173]]   * 5.6: Enabling batch mode in scripting automatically limits reconnect time to 120 seconds, if it is not limited yet. To revert to the previous behavior, in scripting use ''option reconnecttime 0'', in .NET assembly use ''Session.ReconnectTime = TimeSpan.MaxValue''. [[bug>1173]]
  * 5.6: When host key does not match fingerprint specified on command line or in script, user is not prompted to verify the host key and connection is abandoned with meaningful error message. [[bug>1186]]   * 5.6: When host key does not match fingerprint specified on command line or in script, user is not prompted to verify the host key and connection is abandoned with meaningful error message. [[bug>1186]]
-  * 5.2.5: Symbol '';'' has special meaning in [[session_url|session URL]] and has to be [[session_url#special|URL-encoded]] to ''%3B'', when used as a literal.+  * 5.2.5: ==Semicolon== symbol '';'' has special meaning in [[session_url|session URL]] and has to be [[session_url#special|URL-encoded]] to ''%3B'', when used as a literal.
  * 5.2.5: UTF-8 encoded characters in [[session_url|session URL]] are supported. If you were using non-ASCII URL-encoded characters in the session URL, you need to [[session_url#special|re-code them to UTF-8]]. [[bug>1062]]   * 5.2.5: UTF-8 encoded characters in [[session_url|session URL]] are supported. If you were using non-ASCII URL-encoded characters in the session URL, you need to [[session_url#special|re-code them to UTF-8]]. [[bug>1062]]
  * **5.2.3:** In .NET assembly, ''[[library_sessionoptions|SessionOptions]]'' class properties ''SslHostCertificateFingerprint'' and ''GiveUpSecurityAndAcceptAnySslHostCertificate'' renamed to ''[[library_sessionoptions#tlshostcertificatefingerprint|TlsHostCertificateFingerprint]]'' and ''[[library_sessionoptions#giveupsecurityandacceptanytlshostcertificate|GiveUpSecurityAndAcceptAnyTlsHostCertificate]]'', respectively.   * **5.2.3:** In .NET assembly, ''[[library_sessionoptions|SessionOptions]]'' class properties ''SslHostCertificateFingerprint'' and ''GiveUpSecurityAndAcceptAnySslHostCertificate'' renamed to ''[[library_sessionoptions#tlshostcertificatefingerprint|TlsHostCertificateFingerprint]]'' and ''[[library_sessionoptions#giveupsecurityandacceptanytlshostcertificate|GiveUpSecurityAndAcceptAnyTlsHostCertificate]]'', respectively.

Last modified: by martin