Major Features
- Networking functionality is added into System::Net namespace.
- aspose_cpp library is switched to explicit exports. Internal members are no longer exported.
- Aliasing constructor is supported by SmartPtr class.
- Equals method overloads ambiguity is fixed when methods with different parameter names are added.
- Assertion faults now break whole test instead of current function only which caused inconsistency between C# and C++ behavior.
- MinGW 7.1 compiler is no longer supported.
Minor fixes
- CppConstexpr attribute is fixed to work properly on generic class members.
- Missing include fixed when generating code using System::MakeObject() function but not referencing System::Array type.
- Issue with events declared in interfaces is fixed. Previously, duplicated code is being generated.
- Issue tranlating implicit casts when assigning to properties is fixed.
- Issue translating static events is fixed.
- gtest supported version is upgraded to #9ab640c.
- BitArray to null comparison translation is fixed.
- Inheritance from IDictionary<TKey,TValue> interface is now translated properly.
- 4-argument version of String.Concat() is supported.
- String::EndsWith() behavior is fixed for zero length substrings lookup.
- Queue and Stack containers now support CppWeakPtr(0) attribute to keep contained pointers weak.
- StringBuilder class now works with null objects properly.
- CppSkipDefinition attribute now works properly with destructors.
- A error is fixed for partial class porting when another class is present in the same file.
- Environment::GetFolderPath() is implemented on Windows.
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
WORDSCPP-723 | Incorrect work of CppConstexpr attribute for generic classes | Bug |
PDFCPP-802 | Memory Leaks | Investigation |
EMAILCPP-178 | Implementing System.Net.* functionality in asposcpplib | Task |
PDFCPP-849 | Preparing to release | Task |
EMAILCPP-183 | Merge 18.11 release changes into Asposecpplib (Net implementation) | Task |
CSPORTCPP-2387 | Switch aspose_cpp.dll to explicit exports | Task |
WORDSCPP-731 | Implement aliasing constructor for SmartPtr | Task |
PDFCPP-877 | fix Asposecpplib StringBuilder | Task |
WORDSCPP-739 | Implement the depth-first iterative traversal deconstructor | Task |
WORDSCPP-581 | Include Html codec to porting | New feature |
PDFCPP-879 | Environment::GetFolderPath() impl (Windows) | Task |
CSPORTCPP-1039 | Make test assertion faults abort the test | Task |
Public API and Backward Incompatible Changes
- Several networking-related classes are added under System::Net namespace.
- Dependencies on non-public aspose_cpp library members will be breached. Use public API analogs instead.
- MinGW compiler support is stopped.
- WriteStartAttribute() and WriteEndAttribute() methods are implemented in System::Xml::XmlWriter and System::Xml::XmlTextWriter classes.
- TypeInitializationException exception type is implemented.
- DtdProcessing property is supported by XmlTextReader class.
- Missing versions of List::LastIndexOf() methods are implemented.