- Rest: Added the Rest class.
- Jwt: Added the Jwt class.
- AuthAws: Added the AuthAws class.
- AuthGoogle: Added the AuthGoogle class.
- AuthAzureAD: Added the AuthAzureAD class.
- AuthAzureStorage: Added the AuthAzureStorage class.
- ServerSentEvent: Added the ServerSentEvent class.
- CertStore: Fixed a memory leak in the LoadPemFile method.
- Charset: Fixed problems in the VerifyData method having to do with us-ascii and utf-8.
- C++: Now includes utf16_t classes. Except for certain classes such as CkString and CkByteData, there are three options for each C++ class:
the multibyte class, the wchar_t class, and the utf16_t class. For example, CkSFtp, CkSFtpW, and CkSFtpU.
- FTP2: (FIXED) The SyncRemoteTree/SyncRemoteTree2 progress monitoring (event callbacks) were not working
- FTP2: Added the LargeFileUpload method.
- IMAP: Added new methods: HasCapability, GetQuotaRoot, GetQuota, and SetQuota.
- LastErrorText: The Windows logged-on username is no longer automatically logged at the top of every LastErrorText.
(This was originally done to help w/ support issues so tht Chilkat might notice if the program runs in the context of a Service or IIS, which could be a clue to the cause of certain problems.)
- SSL/TLS: Internal client-side and server-side renegotiate problems were fixed.
- FTP2: Backslash chars in paths sent to the server are automatically converted to forward-slashes
- PrivateKey/PublicKey: Deprecated many methods and added new methods. Originally these classes were for RSA keys, but have since become
a classes that can contain either RSA, DSA, or ECC keys. Methods with “RSA” in the name were deprecated. Also, methods with confusing names were deprecated and replaced with methods having better names.
- SFTP: Fixed problems with certain SSH/SFTP servers where certain downloads would hang.
- TLS: Added support for the SHA512 server key exchange hash algorithm. (See http://www.chilkatforum.com/questions/10395/sslallowedciphers-options)
- StringBuilder: Added a StringBuilder class, which is more helpful in some older programming languages as opposed to others.
- Email: Fixed problems with comma characters found in email addresses that are Q/B encoded.
- JsonObject: Crash bug fixed in the StringOf method.
- Email: (FIXED) Comma characters embedded in an email address friendly name, such as “Doug, Smith ” would interfere with the parsing of the email address.
- SFTP: Added the SyncDirectives property.
- LoadTaskResult: (FIXED) The ActiveX LoadTaskResult methods always returned 0, regardless of success/failure.
- MHT: (FIXED) Chilkat hangs with specific HTML on calling mht.GetEML. The problem had to do with infinite recursion: The CSS that is downloaded itself contained an import for the same CSS (or indirectly contained an import for a CSS that then contained an import for a CSS that was previously downloaded, causing a loop).
- Crypt2: The value of the KeyLength property should always be in agreement with the number of bytes of key material provided by the application.
The SetEncodedKey method correctly has the side-effect of also setting the KeyLength property. However, setting the SecretKey property directly did not also have this desired side-effect.
This was fixed. If the SecretKey property is set with 16 bytes of data (128 bits) then the KeyLength property is automatically updated to 128.
- PHP: Added Windows builds for PHP as FastCGI with IIS using the Non-Thread Safe (NTS) versions of PHP. See https://www.chilkatsoft.com/php.asp
- Tar: Fixed a crash bug in the VerifyTar method (for corrupt/garbage input files).
- CkDateTime: added the GetAsTimestamp and SetFromTimestamp methods.
- Email: Fixed issues having to do with structuring an email with multipart/related, multipart/alternative, etc.
- Ftp2: Regarding the ForceIpAddress property: By default, Chilkat will NOT try to bind the data socket to the IP address specified by the ForceIpAddress property.
You may use a special “bind-” prefix in the ForceIpAddress property to cause the data socket to be bound to the ForceIpAddress property. For example, put_ForceIpAddress(“bind-220.127.116.11”)
There was an undocumented feature where you can set the ForceIpAddress property equal to the keyword “control”. In this case, the IP address of the control connection is used.
Also, Chilkat will now recognize the error message “I won’t open a connection to…”, and will automatically retry using the IP address from the message.
- Csv: (FIXED) Csv.WriteFile2 did not work with utf-16.
- CkString (C++): Added getUtf16 and setStringUtf16 methods.
- IMAP/MailMan: (FIXED) The new format of the IMAP-only unlock code unloced IMAP, but not the MailMan object.
- AbortCurrent: Added the AbortCurrent property to classes that can have event callbacks.
- HTTP: Fixed a problem involving HTTP redirect responses in combination with HTTP proxies where both SSL/TLS and non-SSL/TLS URLs are involved.
- IMAP: Added the capability to handle DIGEST-MD5 authentication for IMAP.
- HTTP: Fixed problems handling 407 responses. Also fixed behavior when receiving a response with a “proxy-connection:close” header.
- SshKey: (FIXED) SshKey.FromPuttyPrivateKey() failed if comment contained umlauts. See
- JsonObject: (FIXED) Calling json.AddObjectAt on an empty JSON document failed.
- FTP2: Reverted the Microsoft FTP workaround added to v18.104.22.168.
- Socket: The non-SSL/TLS HTTP proxy functionality was fixed.
- SCP: The DownloadFile method did not close the channel.