Multiple new classes from the System::Xml::Schema namespace are implemented.
The Boost C++ Libraries are updated to version 1.76.
The obfuscation mechanism is improved. Now members that cannot be accessed beyond the current class are deleted from the public headers if possible. If deleting such members may lead to malfunction, stubs are generated.
Usage examples are added for the collections.
The ASPOSECPP_SHARED_API macro is removed from documentation.
The default constructor is marked as deleted for the ported static classes.
The foreach-based loop performance in a ported code is improved when the foreach_as_range_based_for_loop option is enabled. This optimization affects all containers that contains elements with the SmartPtr<> or String type except for arrays.
The force_const_ref_parameters option is added. When this option is enabled, the non-virtual methods/constructors/setters/operators parameters with String or SmartPtr<> types are translated as const T& instead of T.
The porter didn’t translate ‘foreach’ statements properly if the container in question didn’t define begin()/end() methods directly, but inherited them instead. This bug was fixed.
Now the XmlTextReader class contains the InitLibXml2EntitySubstitution method used to initialize libxml2 before use.
The begin-end methods generation is improved.
The static initialization order is fixed in the HttpWebRequest class.
Sometimes the porter skips the break statement in the switch-case statement. Fixed.
A missing include is fixed when return means casting.
Operators for the System::Xml::Schema namespace enums are fixed.
Implementation of the SslStream class stalls in handshake process. It is rewritten using Boost::beast and Botan::TLS::Stream.
Now decimals are passed by reference when possible.