Porter is now capable of porting several classes overloaded by generic parameter count. These go into partial specialization of variadic template.
Porter can now report an error if an in-config attribute does not apply to any item during the project porting. To make it do so, use ‘error_if_unused’ syntax as described at ‘Attributes in configuration file’ page.
UDP sockets now handle timeouts properly. The implementation now uses async calls.
The porter is now capable of porting ‘Assert.That(expr, Throws.TypeOf)’ and ‘Assert.That(expr, Is.Empty)’ Nunit checks.
A new ‘enable_fast_rtti’ porter option was added making it possible to speed up casting operations (translations of c-style cast, ‘as’ and ‘is’ operators).
A new ‘unexpected_override_as_warning’ porter option was added making it possible to switch ‘override is unexpected’ message from error to warning.
LinkedList container was completely rewritten. It no longer leaks the memory.
RefCount class doesn’t produce assertion fault if the counter goes beyond zero.
Some previously missing types were added into porter’s typemap.
Graphics::MeasureString now wokrs properly with the characters that are absent from the font being used and loaded from fallback one instead.
Some cases of line cap drawing were fixed.
Incorrect paths in cmake target files for Visual Studio projects were fixed.
The performance of some Dictionary operations was improved.
Please consult respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Make porter tests fail on porter errors
Support Aspose.BarCode for C++
Add warnings for unused config attributes
LinkedList leaks memory
MakeObject leakage detection improvement
Porter: Using of CppIgnoreBaseType attribute mistakenly ignores System::Object base type
Weekly meeting and current working activity (2020/49)
Fix indentation after ellipsis
Incorrect LineCap::NoAnchor handling in GraphicsPath::Widen() method
UdpClient does not properly handle timeouts
Support of Assert.That(expr, Throws.TypeOf) expressions
Fix cmake targets files
Improve performance of System::Cast and System::ObjectExt::Is operations
Support of Assert.That(expr, Is.Empty) expressions
Improve performance of Dictionary<string, string> accessing operations
Public API and Backward Incompatible Changes
CppIgnoreBaseType attribute no longer can ignore System.Object inheritance implicitly. Explicit ignore still works.