Chilkat v9.5.0.80 Release Notes

The previous version release notes: Chilkat v9.5.0.79 Release Notes

Chilkat v9.5.0.80 Release Notes

    • 9-Aug-2019 Apple WatchOS: Added the static library for the arm64_32 architecture. 
    • 9-Aug-2019 iOS: Added an “iPad Apps for Mac” build.   This is a new set of Chilkat iOS libs built with Xcode 11.0 beta 5, on macOS Catalina (version 10.15 beta). This download contains the iOS libs for the usual architectures (armv7s, armv7, i386, and x86_64) but also contains a static lib build with UIKit for Mac. It is located in the lib/ipad_for_mac subdirectory. 
    • 10-Aug-2019  CertStore:  Added the OpenSmartcard method.   This is a Windows-only method that provides access to the certificates on the smart card currently inserted into the reader.   (Can also be used with a USB token.)
    • 18-Aug-2019 FileAccess:  The FileType method would never return the value 3 (for Symbolic Link) on non-Windows systems.  Instead it would follow the link and return the file type of the target.  This was fixed.
    • 20-Aug-2019 OAuth2: Added the NonceLength property.  If a nonce is included (as determined by the IncludeNonce property), the default NonceLength is 4 bytes (8 hex chars).  This property allows for an application to set the length of the nonce in bytes (for example 10 bytes = 20 hex chars).
    • 20-Aug-2019 Rsa: Added the PssSaltLen property.  The default value is -1, which is to use the hash algorithm length for the RSA PSS salt length. This property was added to satisify a customer system that required the PSS salt length to specifically be 20 bytes.
    • 22-Aug-2019: Xml: The DecodeEntities method assumed that all hex entities were 2 byte hex values.  It now handle 4 byte hex values such as ö and €
    • 22-Aug-2019: FileAccess: Added the FileSizeStr method to return the size of a file as a decimal string.
    • 22-Aug-2019: FileAccess: Added the ReadNextFragment method to provide a technique for processing huge files, especially intended for huge XML files.  (See the example linked from the reference documentation.)
    • 28-Aug-2019: TrustedRoots: Added the RejectSelfSignedCerts property to automatically reject TLS server certificates that are self-signed.
    • 28-Aug-2019: XmlDSigGen: Added “SigningTimeAdjust” to the list of Behaviors.
    •  29-Aug-2019: Email:  Fixed automatic Q/B decoding for email address header fields.  Normally, a TO or CC email header may be Q/B encoded such that the friendly-name part is encoded but not the address part.  For example:  “=?utf-8?B?TWF0dA==?= <>”.   This was already handled correctly.  However, if the entire name+address string, including the quotes around the name part are Q/B encoded, such as like this  “=?utf-8?B?Ik1hdHQiIDxzdXBwb3J0QGNoaWxrYXRzb2Z0LmNvbT4=?=”, then Chilkat returned the entire string as the email address, without decoding.  The GetTo, GetToName, GetToAddr, GetCC, GetCcName, and GetCcAddr methods will now return automatically decoded strings for this case.
    • 3-Sep-2019: JsonArray:  Strings within arrays were not properly escaped when emitting. 
      Note: This only applies to strings in an array, and only to strings explicitly added to the array by the methods JsonArray.AddStringAt or JsonArray.SetStringAt.
      For example, if in C++ we did this:
          CkJsonObject json;
          json.AddStringAt (-1, "string", "C:\\MyPath\\MyFile.txt");
          CkJsonArray* jarr = json.AppendArray ("array");
          jarr->AddStringAt (-1, "C:\\MyPath\\MyFile.txt");
          delete jarr;
      the output would be this:
        "string": "C:\\MyPath\\MyFile.txt",
        "array": [
          "C:\MyPath\MyFile.txt"   <--- The backslashes were not escaped.  This was fixed.
    • 8-Sep-2019: Xojo: Fixed the .so shared library for the ARM build (Raspberry Pi) to fix linking problems.
    • 10-Sep-2019: Http: Fixed problem with duplicated response content getting logged to the session log file (created via the http.SessionLogFilename property).
    • 21-Sep-2019: Rest: Improved auto-reconnect behavior for various methods and situations.
    • 23-Sep-2019: Gzip: Fixed: Setting the Comment property caused the .gz to be created incorrectly.  
    • 23-Sep-2019: BinData: Added the AppendPadded method.
    • 27-Sep-2019: Xml: The RemoveChild method did not remove the element if the last item in the tagPath is an array reference.  See
    • 3-Oct-2019: Http: (Fixed) The PText method returned non-null (i.e. returned an HttpResponse object) when a failure occurred such that no response was ever received, and therefore the responseObject’s status code would be 0.  The correct behavior is to return NULL.
    • 3-Oct-2019: FileAccess: Added the LockFileOnOpen property (applies only to applications running on the Windows operating system.)
    • 7-Oct-2019: FileAccess: Added the Truncate method (to truncate the currently open file at the current file position).
    • 8-Oct-2019: StringBuilder: Added the Obfuscate and Unobfuscate methods. 
    • 21-Oct-2019: Ftp2: Fixed the SetSslCertRequirement method.  It was not working as indicated in the reference documentation.
    • 22-Oct-2019: .NET Core: Fixed:  For Chilkat objects created as a return value from a method call, the event callbacks did not get called.

Generating Code to Create XMP XML

The Chilkat Xmp class provides the abililty to insert/update/remove/extract XMP metadata from JPEG and TIFF image files.  In addition, the XMP API provides helper methods to make it easier to construct XML according to XMP specifications.  These methods are usually sufficient, but may lack flexibility to create more complex XMP …

Solved: Unable to load ‘chilkatDnCore-9_5_0’ or one of its dependencies in Azure functions

Problem: I was using Chilkat to sign xml messages, very similar to one of your examples: The code was deployed as an Azure V2 function written in .Net Core 2.2 It worked without problems for months, but then after one deploy last week it started crashing on the line: …

Q/A 30-Oct-2019

Question: I updated from an older version of Chilkat to the latest version, and the following CkFtp2 (C++) methods no longer exist:  GetLastAccessDt and GetLastAccessDtByName.  What happened to them? Answer: These methods were deprecated a while ago, and were finally removed.  I’ll explain.  (The methods still exist in the ActiveX …

Q/A 25-Oct-2019

Question:  One of my suppliers has provided a certified x509 certificate p12, in order to connect to his WS Soap. Developing in the Visual FoxPro environment, I ask you if you have libraries with examples that can be used for this purpose. Answer: I’m assuming the .p12 is to be …

Desktop Application UI Freezes in Function Call (C#, VB.NET, VB6, Xojo, etc.)

I often get this question:  “I’m calling the method XYZ and the UI freezes until the method returns.”. For example:   “I’m trying to upload a file in FTP.  I’m trying the examples of the site but the screen remains locked until the end of the upload.  It’s very important …

Error: Node.js requires NODE_MODULE_VERSION 72

Question: I am trying to use the Node.js library with node installed through home-brew, but I get this error when executing an example script: Error: The module ‘/Users/x/node_modules/@chilkat/ck-node11-macosx/chilkat.node’ was compiled against a different Node.js version using NODE_MODULE_VERSION 67. This version of Node.js requires NODE_MODULE_VERSION 72. Please try re-compiling or re-installing …

PHP dl() function?

Question: My developer tells me that the Chilkat extension uses an insecure function dl(), which has not only been deprecated since PHP 5.3, but has actually been removed from some server installations of PHP, due to major security issues. Is this something that you’re aware of? Is there a workaround? …