1. csPorter for C++ 19.1 Release Notes

Last modified by Tilal Ahmad on 2019/02/04 05:32

Major Features

  1. Networking functionality is added into System::Net namespace.
  2. aspose_cpp library is switched to explicit exports. Internal members are no longer exported.
  3. Aliasing constructor is supported by SmartPtr class.
  4. Equals method overloads ambiguity is fixed when methods with different parameter names are added.
  5. Assertion faults now break whole test instead of current function only which caused inconsistency between C# and C++ behavior.
  6. MinGW 7.1 compiler is no longer supported.

Minor fixes

  1. CppConstexpr attribute is fixed to work properly on generic class members.
  2. Missing include fixed when generating code using System::MakeObject() function but not referencing System::Array type.
  3. Issue with events declared in interfaces is fixed. Previously, duplicated code is being generated.
  4. Issue tranlating implicit casts when assigning to properties is fixed.
  5. Issue translating static events is fixed.
  6. gtest supported version is upgraded to #9ab640c.
  7. BitArray to null comparison translation is fixed.
  8. Inheritance from IDictionary<TKey,TValue> interface is now translated properly.
  9. 4-argument version of String.Concat() is supported.
  10. String::EndsWith() behavior is fixed for zero length substrings lookup.
  11. Queue and Stack containers now support CppWeakPtr(0) attribute to keep contained pointers weak.
  12. StringBuilder class now works with null objects properly.
  13. CppSkipDefinition attribute now works properly with destructors.
  14. A error is fixed for partial class porting when another class is present in the same file.
  15. Environment::GetFolderPath() is implemented on Windows.

Full List of Issues Covering all Changes in this Release

WORDSCPP-723Incorrect work of CppConstexpr attribute for generic classesBug
PDFCPP-802Memory LeaksInvestigation
EMAILCPP-178Implementing System.Net.* functionality in asposcpplibTask
PDFCPP-849Preparing to releaseTask
EMAILCPP-183Merge 18.11 release changes into Asposecpplib (Net implementation)Task
CSPORTCPP-2387Switch aspose_cpp.dll to explicit exportsTask
WORDSCPP-731Implement aliasing constructor for SmartPtrTask
PDFCPP-877fix Asposecpplib StringBuilderTask
WORDSCPP-739Implement the depth-first iterative traversal deconstructorTask
WORDSCPP-581Include Html codec to portingNew feature
PDFCPP-879Environment::GetFolderPath() impl (Windows)Task
CSPORTCPP-1039Make test assertion faults abort the testTask

Public API and Backward Incompatible Changes

  1. Several networking-related classes are added under System::Net namespace.
  2. Dependencies on non-public aspose_cpp library members will be breached. Use public API analogs instead.
  3. MinGW compiler support is stopped.
  4. WriteStartAttribute() and WriteEndAttribute() methods are implemented in System::Xml::XmlWriter and System::Xml::XmlTextWriter classes.
  5. TypeInitializationException exception type is implemented.
  6. DtdProcessing property is supported by XmlTextReader class.
  7. Missing versions of List<T>::LastIndexOf() methods are implemented.


Created by Tilal Ahmad on 2019/01/29 08:49