Major Features
- For the classes that create shared pointers to themselves, it is no longer possible to allocate them on the stack as they should be managed by smart pointers only. ‘allowed_heap_only_types’ porter option is supported to mark such classes. For .Net classes implementation, such classes are already marked in default configuration files. For ported classes, these cases are auto-detected.
Minor fixes
- WeakReference class was fixed. nullptr (non)equality operators were added. Missing includes weak_reference.h is now being generated by the porter. Porter now properly recognizes it as a value type.
- ‘fix_self_closing_tags’ option was supported by the porter.
- Performance of CastEnumerableTo() and DynamicCastEnumerableTo() was imrpoved for fixed length collections.
- Compilation error is now generated if trying to create exception classes on the heap (via ‘new’ operator) as this is not valid (such exceptions can’t be caught by ported code).
- Incorrect forward declaration for the classes inherited from exception classes was fixed.
- Exception in porter was fixed for the case of translating calls into the method C# class doesn’t have (but C++ one does).
- CMake scripts were fixed for Linux OS.
- Command-line arguments were added to the porter log.
- Missing include for System::Net::WebClient class is now generated by the porter.
- Compilation error was fixed for several cases of calling hidden parent class methods from a subclass method.
- System::Drawing::ImageConverter::ConvertTo() now behaves consistently with .Net implementation and converts in-memory bitmap to PNG representation instead of BMP one.
Please consult the respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
SLIDESCPP-2173 | Use Aspose.Slides for .NET 20.1 features | Task |
SLIDESCPP-2183 | Porter: Add a possibility to fix self-closing tags in XML documentation comments | New feature |
SLIDESCPP-2177 | Improve the performance of code generated during translation foreach | Improvement |
CSPORTCPP-1384 | Forbid creating library classes on stack | Enhancement |
CSPORTCPP-3042 | Disallow to use ‘throw new exception’ at compile time | Enhancement |
CSPORTCPP-3045 | Translation of ConstRefParamTest.cs file failed due to invalid object cast | Bug |
CSPORTCPP-3103 | Fix release CMake scripts | Bug |
SLIDESCPP-2193 | Task #SLIDESCPP-2172: Port Aspose.Slides for C++ v20.1 | Bug |
PDFCPP-1161 | Fix ImageConverter | Bug |
Public API and Backward Incompatible Changes
- CheckCharacters property of XmlReaderSettings structure was supported.