‘explicit_destructors’ option was supported by porter making it possible to generate destructors for all classes (e. g. for debugging via breakpoints placement).
Wrapper classes were added making it possible using STL streams with ported API by wrapping STL streams into System::IO::Stream-like classes, as well as by wrapping System::IO::Stream with STL-like stream adapter classes.
‘prefer_short_type_names’ option was supported by porter making it possible using short (not fully qualified) names where possible for some contexts.
A subsystem was added to the porter to decide between CppConstMethod and CppConstWrapper attributes if both are inherited or applied to a single entity by any other means. The choice is based on which attribute is applied more specifically.
Some minor behavior issues were fixed for System::Security::Cryptography namespace, Convert, and Environment classes.
Template type names are now suffixed with ‘’ string in output gv files.
The memory leak was fixed in the Skia gif submodule.
A bug was fixed in porter when creating exceptions and passing null as the only string argument.
The memory management issue was fixed in EnumValues class.
Porter no longer generates unnecessary boxing code for calls to Console::Write/WriteLine and String::Format.
Globalization data was updated for better compatibility with Windows 10 2004.
gtest fork used was upgraded so that char16_t data is now properly formatted when dumped to console.
Porter reports on documentation comment replacement were improved.
Range-based for loop was fixed for the SortedDictionary container.
Vertically aligned text rendering was fixed for some cases.
The generation of forwarding declarations for delegates was fixed in porter.
Rendering of some italic fonts on Linux was fixed.
Linking ported projects with GCC in case of using enum metadata was fixed.
Some missing includes for int32_t were fixed.
Call to System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName now provides fully qualified typename instead of short name.
ICUEncoder class now properly works with SMP characters.
System::StaticCast and System::DynamicCast functions were optimized for speed.
The ‘Ignore’ parameter of the TestCase attribute is now recognized by the porter.
A bug was fixed in porter causing truncated include paths in include_map.
XmlTextReader::ReadString() now properly handles whitespaces.
Conversion from utf-8 to System::String was switched to explicit as the operation may take a long time.
Some memory leaks were fixed in the Xml submodule.
A bug was fixed in porter not getting Object-typed fields into GetSharedMembers() data.
A bug was fixed in porter for per-class export mode.
The porter now generates RTTI macros for TestFixture classes. The old behavior can be restored using a newly introduced ‘rtti_on_testfixture’ option.
The behavior of IPAddress::TryParse() and XmlWriter::Create() methods was fixed.
Please consult the respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Porting tests for the System.Security.Cryptography namespace.
Fix memory leak of GifMakeMapObject
Analyzing and porting the following source files from the SystemLibraryTest project to MonoTests
Instances of exception classes are created incorrectly when null is passed as the message parameter value
Simplify ported code with System::Console::WriteLine calls
Add option to generate destructors unconditionally
Create System::Stream-like wrappers around iostreams
Fix curvature direction for SketchLineTests
SystemPal::OpenStreamFromHref doesn’t support URI with the file with escaped characters