The conflict was resolved when using both Aspose.Cells for C++ and CodePorting.Native.Cs2Cpp.API headers from the same file.
MacOS-specific release package was added.
The porter generated an incorrect code for creating instances of generic structures. This was fixed.
The look of API reference for System::String::operator + () was improved.
The iostream-based overloads of constructors with Stream-based arguments were moved to ported cpp files where possible. Previously, it was neccessary for any user of such constructors to have all field types defined, which resulted in compilation errors.
Previously, applying the CppSkipDefinition attribute to a test method resulted to exclusing both the test method and the test definition (TEST_F) from the ported code. This made this attribute impossible to be used for replacing the test method definition with custom one while keeping the test itself. The test definition is no longer skipped by this attribute.
The new overload of the Char::IsWhiteSpace() method was added.
The porter now generates INT64_C/UINT64_C wrappers for constants that are not properly cast to int64_t/uint64_t by Apple Clang 13.0.
Misprint was fixed in the readme files from our release packages.
The System::WeakReference class was improved. Now it inherits the System::Object. Another constructor and RTTI information were added, the return type of the get_Target() method was fixed.
The glibc version detection in the cmake code was fixed for some platforms.
The rpath value was added to the Linux libraries.
The PathGradientBrush::get_InterpolationColors() method was fixed for some brushes.
The symbols from the Microsoft namespace are now properly exported on MacOS.
The behavior of the Graphics::DrawPolygon() method for incomplete polygons was fixed to match .Net behavior.
The version information was included into the library binaries.
The constructors of the Regex-related classes were sped-up by using shared pointer references instead of copying them.
The lambda variable capturing was working incorreclty in the porter if the lambda was used as an argument to a constructor call. This was fixed.
Please consult respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Porter: Incorrect generic structures translation
Prepare C++ code examples (v22.1)
std::stream to System::IO::Stream wrapped ctor doesn’t compile on customer size
NuGet packages Aspose.Cells.Cpp and CodePorting.Native.Cs2Cpp.API cannot be used together
Implement the missing Char::IsWhiteSpace() method
Add MacOS builds
Support CodePorting.Native Cs2Cpp
Fix System::WeakReference class
Broken compiler detection
Possibility of adding -rpath='$ORIGIN/../lib'
Fix RegressionTests_v22_2.SLIDESJAVA_37693 test
Lambda capture holders are missing
Port performance tests
Too slow TestTxt.TestJira17890
Public API and Backward Incompatible Changes
Some pointer type declarations (e. g. StreamPtr) were moved from the global namespace to ‘System’ namespace.
The supported glibc version will be changed in the upcoming releases.
The new IEnumerable-level iterators and iterators for collections with duck typing will be introduced in one of the upcoming releases. The code which is dependent on EnumeratorBasedIterator or DuckTypedIterator may require some changes.