SocketTools 11 Release Notes​

  • This release includes .NET 9.0 assemblies for Visual Studio 2022 17.12. Unless you have a specific need for features introduced with .NET 9.0, we recommend you continue to use the .NET 8.0 LTS release which is supported until November, 2026.
  • Changed how Windows version checking and internal platform API validation is performed to use the actual Windows version rather than adhering to compatibility settings configured for the executable. This addresses an issue where SocketTools components would not initialize correctly on a supported Windows system if the executable was configured to use compatibility mode.
  • Removed the requirement for applications to have a manifest which explicitly identifies Windows 10 and Windows 11 as supported platforms to enable certain security options. For example, it is no longer required to create a manifest which specifies Windows 11 as a supported operating system to enable the use of TLS 1.3 on the platform.
  • Corrected an issue where uploading a file using SFTP may return an error indicating the file name is invalid if the file does not already exist. This error was due to how some SFTP servers handled file path normalization and would most frequently occur with GlobalScape EFT servers using SFTP.
  • Corrected an issue which could prevent disconnection event notifications from being propagated back to the application when using an interactive, asynchronous (non-blocking) SSH connection.
  • Improved internal file path normalization with FTP, FTPS and SFTP to perform additional checks to ensure the requested path for file downloads and uploads conform to the format expected by the server.
  • Changed how TLS 1.2 and 1.3 connections are established on Windows 10 and Windows 11, which can improve overall performance and compatibility with future Windows updates. Applications executing on Windows 7 and Windows 8 will continue to use the previous method to ensure backwards compatibility with those platforms.
  • Updated to include assemblies built using the .NET 8.0.404 SDK.
  • Updated to include assemblies built using the .NET 6.0.428 SDK. This is the final release of .NET 6.0 from Microsoft and has reached end-of-support.
  • References to SSL 3.0 and SSH 1.0 in the documentation has been updated to explicitly note these protocols have been deprecated. TLS 1.0 and 1.1 will continue to be supported for backwards compatibility but should never be used unless required by the server you are connecting with.
  • Corrected several documentation related issues, including some missing topics and broken links.
  • Added SSH and SFTP support for public/private key authentication in addition to standard password authentication.
  • Added SSH and SFTP support elliptical curve (EC) key exchange algorithms such as curve25519-sha256 and ecdh-sha2-nistp256.
  • Added support for cipher suites required by newer Linux system such as Red Hat Enterprise Linux (RHEL) 9 and Debian 12.
  • Updated to include TLS 1.3 as a default protocol version and it no longer has to be explicitly selected for secure connections.
  • Changed the TLS session reuse option for the FTP client so it will be ignored on unsupported platforms instead of returning an error.
  • Corrected an issue where TLS renegotiation could fail under some circumstances.
  • Corrected an issue where the incorrect error code would be set during the TLS handshake if the security context was invalid.
  • Corrected an issue where an encryption error in the FTP client when attempting to negotiate a secure connection on the data channel.
  • Corrected an issue where a TLS certificate context was not always deleted if a credentials token could not be created.
  • Corrected an issue in the HTTP components which could prevent end-of-line text conversion for certain types of text files.
  • Corrected a buffer overflow which could potentially occur with expanding HTTP payloads using gzip compression.
  • Corrected a potential data corruption issue with the CompressFileEx function using LZMA compression.
  • Corrected an issue where CompressFileEx and ExpandFileEx could fail when performing in-place compression or expansion of the file.
  • Changed the ExpandFile method and ExpandFileEx function to return an error if the compression type cannot be determined rather than defaulting to using Deflate.
  • Corrected an issue with the FtpGetFilePermissions and FtpSetFilePermissions functions where they could return a value other than FTP_ERROR if they failed.
  • Corrected an issue where the FileTransfer and HttpClient .NET classes could default to using the legacy HTTP/1.0 protocol.
  • Additional parameter checks are performed with the FileEncoder CompressData and ExpandData methods to catch invalid values such as null MemoryStream references.
  • The FileEncoder.CompressionType value compressTypeBurrowsWheeler has been deprecated. Applications should use compressionTypeBzip2 instead.
  • Updated the header file and function declarations to include the previously undocumented CompareFile and CompareFileEx functions.
  • Updated the header file to resolve a conflict with later versions of the Windows SDK and the definition of the DNS_PROTOCOL constants; applications should use DNS_SERVICE_TCP or DNS_SERVICE_UDP instead.
  • Increased the memory allocated for internal data compression buffers, improving the compression ratio under some circumstances.
  • Updated the internal list of MIME document types to reflect recent additions and changes to common types.
  • Updated the C++ classes to use more consistent error handling when a Visual C++ project is compiled using either MFC or ATL.
  • Improved how the HTTP client handles persistent connections and will always include connection options regardless of protocol version.
  • Improved how the HTTP client attempts to recover from connections which fail due to a malformed request or an internal error reported by the server.
  • Added the HttpClearHeaders function to the HTTP client API which is similar to the ClearHeaders method in the ActiveX control and .NET class.
  • Corrected an issue where the HTTP client would force a reconnection if a client error occurred, regardless if the server responded with keep-alive.
  • Corrected an issue where using POST to submit data could return an error if a persistent connection was used with chunked output.
  • Corrected an issue which could cause a timeout when issuing a POST request followed by a GET request using a persistent connection.
  • Corrected an issue with persistent connections which could cause a GET request to timeout if an error was returned and there was no response payload.
  • Corrected an issue which could occur when the server responded with a 400 status code, causing subsequent valid requests to also fail.
  • Changed the HTTP client to not include Content-Length and Content-Type request headers with GET requests, even when explicitly set by the application. This prevents GET requests from timing out with some webservers.
  • Corrected an issue with the MIME components which could cause encoded non-Latin text to be truncated.
  • Corrected an issue with the HttpClient .NET class where the patchErrorData option wasn't declared as a public member of the HttpPatchOptions enum.
  • Corrected an issue where a closed connection could result in an incorrect error code being set, indicating the connection was aborted.
  • Corrected an issue where InetFlush and the Flush method could cause the current thread to block indefinitely.
  • Corrected an issue which could cause certain include files to not be updated by the installer although the contents had changed.
  • Updated the .NET 8 assemblies using SDK 8.0.204 and the .NET 7 assemblies using SDK 7.0.408 for Visual Studio 2022 17.9.6.
  • Includes a preview release of the .NET 9 assemblies for SDK 9.0.100-preview.3. The .NET 9 SDK and Visual Studio 2022 17.10 Preview 3 are required to use these assemblies.
  • Minor updates to the HTML Help and PDF documentation.
  • Corrected an issue which could cause SMTP authentication to unexpectedly fail when using an OAUTH2 token.
  • Corrected an issue where a malformed HTTP response header could result in an aborted connection, and in some cases an unhandled exception would be thrown, causing the application to crash.
  • Corrected an issue which could cause TLS compatibility options to be ignored under certain circumstances. This was related to a change made in the previous release that removed deprecated security functionality.
  • Includes updates for the latest release builds of the .NET 7.0 and 8.0 assemblies for Visual Studio 2019 and Visual Studio 2022. The latest .NET SDKs are included with the updates to Visual Studio.
  • Includes a preview release of the .NET 9.0 assemblies for SDK 9.0.100-preview.1. The .NET 9.0 SDK and Visual Studio 2022 17.10 Preview 1 are required to use these assemblies.
  • Corrected an issue which could cause aborted or rejected connections to clear the thread's last error code.
  • Corrected an issue where PostData would not submit the complete payload if a string contained Unicode characters.
  • Changed the PostJson and PostXml methods to normalize single and double quote characters included in the request payload.
  • Corrected an issue which could prevent requesting a news article using very large (64-bit) message IDs.
  • Updated some internal error handling to report more specific error codes in some cases when connection to a service is rejected.
  • Optimized the heap allocations and reduced the number of reallocations made when parsing very large MIME messages.
  • Changed the internal buffering algorithm to be more adaptive for FTP and HTTP file transfers, improving transfer rates under some conditions.
  • Improved error handling in the POP3 and IMAP4 components to provide more accurate error reporting in multithreaded applications.
  • Corrected an issue which could prevent the HTTP and FTP server from starting correctly if UNC paths were used with the configuration.
  • Corrected an issue which could prevent a server logfile from being created under certain circumstances.
  • Corrected an issue which could cause a reverse DNS (PTR) lookup to fail for IPv6 addresses.
  • Corrected an issue which could cause hostname resolution to fail on systems that do not have IPv6 enabled.
  • Corrected an issue which could prevent secure TELNET connections from being negotiated using TLS.
  • Corrected an issue which could result in a memory leak when a network connection is aborted in another worker thread.
  • Corrected an issue where parsing encoded text that contained non-Latin characters could cause the application to terminate.
  • Removed legacy security related functionality implemented for Windows Vista, which is no longer a supported platform.
  • Removed legacy support for deprecated cipher suite components using TLS and SSH for secure connections.
  • Corrected an issue which could result in a memory leak if queued file transfers were canceled.
  • Corrected an issue which could cause the SmtpSubmitMessageEx function to throw an exception if the SMTPMESSAGE structure is malformed.
  • Corrected an issue which could prevent ICMP traceroutes from working correctly if an intermediate host timed-out.
  • Corrected an issue which could prevent an HTTP error payload from being returned even when the correct options are specified.
  • Corrected an issue which could cause some HTTP redirections to fail unexpectedly when redirection is enabled.
  • Corrected an issue which could set the wrong error code if an HTTP server responds with a 410 status code.
  • Relaxed some internal error checking performed with uuencoded text if it would not corrupt the encoded data.
  • Included updates for the latest release builds of the .NET 7.0 and 8.0 assemblies.
  • Minor updates to the HTML Help and PDF documentation.
  • Corrected an issue which could cause file transfers to fail when automatic file type detection was used.
  • Corrected an issue which could cause the FTP TYPE command to be repeated before a file transfer started.
  • Corrected an issue which could cause an error to be returned when getting or setting a HTTP content type.
  • Corrected an issue which could prevent a chunked HTTP response from being processed correctly when a resource was redirected.
  • Corrected an issue which could cause a request payload to become corrupted when a resource is redirected to another domain.
  • Corrected an issue where the HttpSubmitRequest function could fail with any request type other than HTTP_REQUEST_GET.
  • Corrected an issue where WebEnumApplications and related functions were not exported correctly which could result in unexpected behavior.
  • Corrected an issue which could cause a server application to be flooded with error events if a client performed a hard close on their connection.
  • Corrected an issue which could result in incorrect publication dates being returned when processing a news feed.
  • Corrected an issue with the HttpClient components where some methods could fail when a resource was not explicitly specified as an argument.
  • Corrected an issue with the .NET server classes which could result in an exception being thrown when multiple clients simultaneously disconnected from the server.
  • Corrected an issue where feed URIs would not be recognized by the HTTP components.
  • Corrected an issue where the HttpClient.UserAgent property may not return the correct value.
  • Corrected an issue where the FtpGetAutoFileType function and FtpClient.GetFileType method would not correctly identify UTF-8 encoded text files.
  • Corrected an issue where attempting to determine the default file transfer type could have unexpected results if a directory name was specified.
  • Corrected an issue where mailbox names with Unicode characters may not have the correct values in the InternetMail .NET class.
  • Updated and added several missing interface definitions in the native DLL type libraries.
  • Added the HttpSetRequestHeaders function and HttpClient.AddHeaders method which can be used to set multiple request headers.
  • Added the HttpGetTextEx function which provides additional options when returning text content in a string buffer.
  • Added the InetGetUrlHostName and InetConnectUrl functions to simplify establishing TCP connections using a URL.
  • Added missing error codes in the interface definitions for the ActiveX controls.
  • Extended the GetText and PutText methods in the FtpClient and HttpClient .NET classes to support an optional code page parameter.
  • Added support for the GetText and PutText methods with the FileTransfer .NET class and ActiveX control.
  • Additional parameter checks are performed when initializing SocketTools components to prevent a situation where a valid runtime license may not be accepted.
  • Corrected an issue with the License Manager which would check for older SocketTools licenses by default.
  • Updated the C/C++ include file to address compilation warnings when building a project using Microsoft Foundation Classes (MFC).
  • Improved the Library Edition function declarations for several languages and FreeBasic 1.10 is now a supported language.
  • Added missing documentation for the CodePage property with the FTP and HTTP ActiveX controls.
  • Added missing documentation for the GetText and PutText methods with the FTP and HTTP .NET classes and ActiveX controls.
  • Updated some of the documentation to explicitly note when Unicode strings are automatically converted to UTF-8 encoded text.
  • Updated missing topics in the HTML help file which were not linked correctly in the contents table.
  • Corrected a critical issue with secure connections which could cause the TLS stream buffers to be corrupted if the buffer size exceeded 16KiB.
  • Updated the C++ headers to eliminate strict warnings with the latest language standards.
  • Updated C++ class implementations to remove ambiguity with certain Unicode API calls.
  • Corrected an issue which could result in an incomplete message being sent using the Broadcast method with the InternetServer components.
  • Added additional parameter checking with networking I/O functions and normalized the error codes returned when an invalid buffer address or content length is specified.
  • Minor updates and improvements to the HTML Help documentation.
  • Corrected an issue with the IMAP components which prevented encoded UTF-7 folder names from being converted to Unicode.
  • Corrected an issue with the MIME components which mapped certain Asian character sets to the wrong code page.
  • Corrected an issue where some error conditions would not return a valid description of the error when throwing an exception.
  • Corrected an issue which could potentially result in heap corruption when decoding base64 or quoted-printable content.
  • Corrected an issue which could result in a memory leak when converting certain non-Latin UTF-8 character sequences to UTF-16 Unicode.
  • Corrected a buffer overrun could cause an unhandled exception when retrieving very large email messages using POP3 or IMAP4.
  • Corrected an issue where the HTTP components may not set a valid error code when the server aborted its connection to the client.
  • Corrected a rare deadlock condition with the FTP and HTTP server components when updating internal client session data.
  • Improved the handling of malformed MIME messages which contained invalid quoted-printable encoding.
  • Expanded support for several additional Asian and eastern European character sets with the MIME components.
  • Updated for the current Visual Studio 2022 17.6.5 release and the .NET 7.0.9 release SDK (7.0.306)
  • Updated the .NET 6.0 components to use the current .NET 6.0.20 LTS release SDK (6.0.412)
  • Updated the .NET 8.0 components to use the latest Preview 6 release SDK (8.0.100-preview.6.23330.14)
  • Minor updates and improvements to the HTML Help and PDF documentation.
  • Corrected an issue which could result in an undefined error in the client when a TLS handshake failed.
  • Corrected an issue which could prevent a client session from being released until all sessions in other threads have disconnected.
  • Corrected an issue which could cause nameserver queries to fail with certain internationalized domain names.
  • Corrected an issue which could result in a rare deadlock condition when creating simultaneous secure client connections.
  • Corrected an issue which could cause memory corruption when attempting to convert specific invalid UTF-8 encoded strings.
  • Corrected an issue with the MIME components which could prevent base64 encoded content from being decoded correctly.
  • Corrected an issue with the FTP and HTTP server components which could prevent files using UTF-8 encoded names from being transferred.
  • Corrected an issue with the FTP server component which caused the PWD command to not return a complete UTF-8 encoded path.
  • Corrected an issue with the FTP server component which would allow a Unicode path to be created but not deleted.
  • Modified the FTP and HTTP server components to permit usernames and passwords using Unicode characters.
  • Modified the FTP server components to allow an atsign (@) in a username.
  • Updated the .NET 8.0 components to use the Preview 5 release (8.0.100-preview.5.23303.2)
  • Added support for the HTTP/2.0 protocol in all HTTP client components.
  • Updated security options for TLS 1.2 and later versions and SSH 2.0 to use cipher suites available in Windows 11 and Windows Server 2022. Older, less secure cipher suites have been deprecated and will not be used when establishing a connection. A fallback option is available to connect to legacy servers using TLS 1.0.
  • The default security protocol and cipher suite selection for all secure connections have been updated for Windows 10.
  • Assemblies for the .NET 8.0 Preview have been included with this installation. To build applications using .NET 8.0 you will need install the Visual Studio 2022 Preview. Microsoft has scheduled the release of the .NET 8.0 Framework in November, 2023.
  • Assemblies for the .NET 6.0 and .NET 7.0 Framework releases have been updated with support for the current release of Visual Studio 2022.
  • Expanded support for internationalization and Unicode for all components. This also extends to the ANSI versions of exported functions which will now accept UTF-8 encoded string parameters to provide better support for Unicode with legacy applications.
  • Improved the processing of large MIME messages with a complex message structure which includes multipart/alternative messages and large file attachments. The limit on the number of attached files in a message have been removed.
  • Improved the handling of mail messages which include non-Latin character sets and expanded support for alternative character sets used with Japanese, Chinese and Korean languages. Messages which contain a mix of UTF-8 and ANSI character sets will be internally converted to use Unicode for uniformity of processing.
  • Improved the transfer speeds for large files using the FTP and HTTP components over high-speed networks and removed the bandwidth limiting feature for high-priority transfers. A high precision mode is available when measuring transfer rates.
  • Improved internal memory management to limit fragmentation of the heap and reduce the process and client session heap size after references to those objects have been released. Each component shares a private heap which is isolated from the general process heap used by the application.
  • Added a new file transfer queue API for the FTP and HTTP libraries to support the batch upload and download of files.
  • Addressed an issue which could cause the SocketTools server components to stop accepting connections and potentially throw an exception if instance of the server was destroyed while multiple client sessions were in the process of disconnecting from the server.
  • Improved the handling of aborted client connections to a server, particularly when multiple clients lose connection to the server at the same time. This addresses a situation where the server could potentially stop accepting new connections and would not release the client socket handles allocated for those sessions.
  • Improved the internal server monitoring thread to be less resource intensive with a large number of transitory client connections. This change should particularly improve performance with the HTTP server when accepting many client connections over a short period of time.
  • Improved the handling of malformed MIME messages which contain invalid header blocks or a malformed multipart structure, including invalid boundary identifiers used to define the different parts of a multipart/alternative message.
  • Corrected an issue which could cause file transfers to fail if a specified restart offset, used with resumed file transfers. was greater than 4GB.
  • Removed support for deprecated Diffie-Hellman group exchange algorithms which could prevent a client from establishing a SSH 2.0 connection. SocketTools will no longer offer older, less secure security algorithms when connecting with a server. All support for SSH 1.0 has been removed.
  • New installers and Windows Installer (MSI) packages have been created. The new installers provide an improved installation experience and provide support silent installation and a streamlined update process. The MSI installer packages are included to assist with easier redistribution of your application.
  • Updating or uninstalling SocketTools will no longer display error messages about being unable to unregister or remove 64-bit components.
  • Examples were added for Visual Studio 2022 and Library Edition examples were updated to use the current toolset. Note some examples use Microsoft Foundation Classes (MFC) which should be installed for the current toolset. SocketTools will continue to support both MFC and ATL based projects.
  • The minimum supported version for Windows 10 is Windows 10 21H2. Earlier versions of Windows 10 are no longer supported and won't receive security updates from Microsoft, although SocketTools will continue to work on those platforms.
  • Support for Windows XP and Windows Vista have been removed. These platforms are no longer secure and do not support current versions of TLS. This release of SocketTools uses internal API functions which are not available to Windows XP and the SocketTools components cannot be loaded on that platform.
  • New HTML Help documentation, PDF documentation and a README.md file have been included which provides information about the current release.

Knowledge Base

Our knowledge base provides detailed solutions and answers to common questions. It covers topics such as installation, licensing, common errors and network troubleshooting.

Technical Support

If you have any questions about our products, licensing or support options you can submit a support request. Technical support is available for customers and evaluators.

Shopping Cart
Scroll to Top