Chilkat v9.4.1 Release Notes

  1. (MailMan) Added GetSentToEmailAddrs method (for information about any new methods or properties, see the online reference documentation).
  2. (MailMan) The GetBadEmailAddrs will not accumulate email addresses between mail-sending method calls.  The returned StringArray object will only contain the invalid email addresses from the most recent mail-sending method call.
  3. (C++) Most of the C++ header files (.h) are no longer hand-written. They are generated according to an internal API specification.  Most all inconsistencies in Chilkat conventions will have been eliminated, and therefore one may find small changes.  For example, the “long” data type is no longer used.  An integer argument or return value will either be “int”, “unsigned long” or “__int64”.  If a building a C++ application produces a compile warning or error, it’s probably due to a minor change in the method signature, but it does not represent a change in behavior.  The online C++ reference documentation is up-to-date with the latest .h headers.
  4. (ActiveX) The ActiveX DLL’s are no longer compiled with VC++ 6.0.  They are now built using VC++ 9.0.  The ActiveX DLL’s should pass Windows 8 logo certification requirements, which include passing the following checks: DBCheck, WXCheck, SafeSEHCheck, and NXCheck.  VC++ 9.0 was chosen because it is the earliest VC++ version that supports these checks, and it’s much less likely to find a computer that does not already have the VC++ 9.0 runtime libs already installed.  If Chilkat used a later version of VC++, it would be much more likely to encounter a problem where the VC++ runtime redist is not yet installed.
  5. (ActiveX) The Chilkat ActiveX DLL’s cannot be used from within a browser.  What this means is that the ActiveX cannot be embedded within the HTML of a web page such that it runs on the client-side.  (The ActiveX’s are still perfectly usable server-side within ASP scripts.)  If one reads about ActiveX vulnerabilities regarding insecure methods that might be used by malicious programs, it is in reference to using an ActiveX client-side (within a browser).   Given that the Chilkat ActiveX’s are entirely disabled when in the client-side context of a browser, these vulnerabilities no longer apply.
  6. (Events) The PercentDone event callback has become standardized in C++ and .NET.  In C++, all percent-done callback methods have this signature:
    virtual void PercentDone(int pctDone, bool *abort) { }

    In .NET, the event name is standardized to “PercentDone” and the callback arg is a PercentDoneEventArgs object.

  7. (Zip) In the AppendString method, the charset used for the byte representation of the text to be added to the zip is “utf-8”.  (Call AppendString2 to explicitly specify a charset.)
  8. (ZipEntry) The InflateToString2 method is replaced by the new UnzipToString method.  See the online reference documentation.  (In the ActiveX API, old methods are never removed.  Therefore, both the old InflateToString2 method and the new UnzipToString methods are present.)
  9. (.NET) The EnableEvents property is still present, but it is no longer needed.  Events are always enabled by default.
  10. (C++) All method arguments that were pointers to Chilkat objects are now references.  If building your app produces a compile error, make a small change in your application code to pass a reference instead of a pointer.  The only exception to the rule are the CkXml::Search* methods.
  11. (General) For all methods or properties that return a date/time, an alternative method/property having the same name but ending with “Str” was added.  This allows for the date/time to be handled as an RFC822 date/time string. For example, the ZipEntry object had a FileDateTime property.  Now it also includes a FileDateTimeStr property.
  12. (ZipEntry) Added AppendString and ReplaceString methods.
  13. (CertStore) Added LoadPemFile and LoadPemStr methods.
  14. (Zip) The Zip class can open and unzip ZipX archives.  It will automatically handle any ZipX files using any of the following compression methods: BZIP2, PPMd, LZMA, and Deflate64 (“Deflate64 is a trademark of PKWare, Inc.)
  15. (SSH/SFTP) The AES CTR mode is supported, and this is now the default encryption algorithm chosen if the server supports it.
  16. (SSH/SFTP) Compression for the underlying SSH transport protocol is supported.  This could help increase the throughput of uploads and downloads.
  17. (CSV) – Added the AutoTrim property, and the following methods: DeleteColumn, DeleteColumnByName, DeleteRow, GetCellByName, RowMatches, SetCellByName, and SortByColumn.
  18. (IMAP) – Added the SendRawCommandB and SendRawCommandC methods.
  19. (RSA) Added the following methods: SignHash, SignHashENC, VerifyHash, VerifyHashENC, VerifyPrivateKey
  20. (TAR) Added the VerifyTar method.
  21. (Zip) Fixed Zip DeleteEntry problem.
  22. (IMAP) Fixed Imap.SetFlag and some other methods to make sure the IMAP
    response is “OK”.
  23. (HTML-to-XML) Fixed HTML-to-XML/Text regarding SPAN tags and maintaining SPACE chars before and after the SPAN tags.
  24. (Socket) Fixed IPV6 accept connection problem.
  25. (HTTP) Fixed HTTP multipart/form-data problem when the HttpRequest charset is utf-8
    and the request params include non-English chars.
  26. (SshKey) SshKey.FromRfc4716PublicKey tried to validate the public key as if it were a private
    key, and this failed.
  27. (Socket) Ability to start afresh with a listener socket by calling BindAndListen
    again with a new port.  (SSL/TLS listeners must re-start by calling InitSslServer prior
    to calling BindAndListen with a new port.)
  28. (HTTP) Support for IPv6 literal addresses in HTTP URLs.
  29. (Socket) Socket.RemoteIpAddress property for IPv6 connections was always empty.
  30. (FTP) SyncLocalTree – was checking remote file date/time for mode 5, which it should not.
  31. (IMAP) SEARCH now (internally) uses required RFC 3501 literal syntax for 8bit chars
  32. (TAR) Fixed untar  performance problem.
  33. (MIME/Email) MIME parser keeps charset clues when traversing MIME to be used in other MIME parts where charset is not specified but 8bit chars are present.
  34. (MailMan) If the SMTP server does not list any authentication methods, then Chilkat will assume “NONE” for the authentication method.
  35. (HTTP) HTTP proxy problem fixed — where HTTP response start-line ends with ” 200″ (i.e. nothing followed the 200)
Tags :