CodePorting.Native Cs2Cpp 19.4
Major Features
- Product name was changed from ‘csPorter for C++’ to ‘CodePorting.Native Cs2Cpp’. Old product name was used for releases from 18.9 to 19.3. The new one is being used from 19.4 release onwards.
- Support for CppSkipTest attribute was added allowing it to skip tests in gtest by placing attribute.
- Autoproperties initialization in constructor was fixed for the case when no setter is provided.
- Regex implementation was switched from boost::regex to PCRE2 library causing performance increase. Some previously unsupported syntaxes were supported.
- boost library used was upgraded to 1.69.
- Size of Skia library being used was optimized.
Minor fixes
- Include directive for enums used in class implementation was moved from .h files to .cpp files.
- Types conversion genration was fixed for ‘##’ and ‘!#’ operators when they are defined for translated class.
- Implicit type conversion operators were supported by porter.
- gtest version used was updated to actual master branch.
- ‘CppSkipEntity’ and ‘Ignore’ attributes are now taken into account when adding baseclass’es tests into current class.
- NUnit.Framework.Assert.Warn() method translation was supported.
- C4715 warnings were suppressed for translation of try-finally statement with finally_statement_as_lambda option enabled.
- Collections comparison in tests translation was improved.
Please consult respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
WORDSCPP-758 | Add support for skipping tests with GTEST_SKIP() | New Feature |
CSPORTCPP-2626 | Fix project name in the packages | Enhancement |
CSPORTCPP-2584 | Change product name in license checking | Enhancement |
WORDSCPP-767 | force_include_enum#true shouldn’t include private enums | Enhancement |
PDFCPP-932 | Fix CsToCppPorter - types convertion in equality/inequality operators | Enhancement |
PDFCPP-933 | CsToCppPorter - implicit conversion to base type | Enhancement |
PDFCPP-939 | Port Aspose.Font.Tests project: FormatterConverter | Enhancement |
PDFCPP-940 | CsToCppPorter - fix AddBaseClassTests | Enhancement |
PDFCPP-937 | Port Aspose.Font.Tests project | Enhancement |
CSPORTCPP-2020 | Fix Regex issues | Enhancement |
EMAILCPP-188 | Prepearing Aspose.Email for C++ release 19.01 | Enhancement |
BARCODECPP-395 | Support Aspose.BarCode for C++ | Enhancement |
CSPORTCPP-2606 | Switch asposecpplib to compact Skia build with is_official_build flag | Enhancement |
WORDSCPP-766 | Disable C4715 warnings for code with try-finally statements | Enhancement |
WORDSCPP-760 | Incorrect porting of autoproperties initialization in ctor | Bug |
WORDSCPP-764 | Implement AsposeAssert.AreCollectionsEqual assertion | Bug |
Public API and Backward Incompatible Changes
- Stubs to GetFileName(), GetFileLineNumber() and GetFileColumnNumber() methods of System::Diagnostics::StackFrame class were added.
- Boolean-parameterized System::Diagnostics::StackTrace constructor was implemented.
- System::Reflection::MethodBase::get_ReflectedType() method was implemented.
- Implementation of Regex-related classes was changed. Some internally used methods may have been added and/or removed.
- Stubs for System::Runtime::Serialization::FormatterConverter class were added.