Porter is now capable of overloading methods that accept System.IO.Stream with auto-generated ones which accept STL stream instead. CppIOStreamWrapper attribute and force_wrap_iostream option are introduced to enable this.
use_stream_based_io option was supported to translate System.Console invocations into std::cout operations.
DNS support was added into System::Net namespace.
False positive both CppConstMethod and CppConstWrapper attributes apply to same method warnings were fixed. The closest attribute is now tracked down properly.
Incorrect CsToCppPorter::Details::MemoryManagement::BindLifetime() overload selection was fixed. Comments were added to CsToCppPorter::Details::MemoryManagement methods for better understanding of how they work and which methods should be used.
Incorrect documentation for STDIOStreamWrapperBase and PropertyInfo classes was fixed.
Zero length graphics path elements are no longer kept, same as in .Net.
Queue(int capacity) constructor was fixed to create a zero-length queue.
ICollection ::Contains() method no longer throws NotImplementedException.
Some internal state checks were optimized in System::IO classes.
USING_STATEMENT_BEHAVIOR_START and USING_STATEMENT_BEHAVIOR_END macros were added to make it easier invoking the code related to using statement translation from C++ code.
Performance of is operator translation for final classes was improved.
Custom System::Details::fast_equals() function was supported.
Stack trace of SmartPtr destructor was reduced.
SmartPtr::dynamic_pointer_cast of null-pointers was fixed.
LinearGradientBrush transformation methods were implemented.
Missing SetTemplateWeakPtr() methods generated by porter were fixed.
Matching filename masks was fixed for some cases.
HEAD request type was supported by HttpClientHandler class.
Custom XmlTextReader::ReadSubtreeInnerXml() method was supported.
Please consult respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Issues with 'override' subsystem
Make porter generate wrappers for methods which have Stream arguments
Fix doxygen warnings
Fix RegressionTests_v19_10.SLIDESNET_33555 test (Linux)
Fix a queue constructor which receive capacity
Fix "System::NotImplementedException" when invoking ICollection::Contains() method
Add macros to use using wrapper in C++ code.
Investigate solutions to improve performance of "is" operator
Port Console.Write() and Console.WriteLine() calls using standart C++ stream-based I/O
Optimize shared pointers
Fix "System::NotImplementedException" when invoking LinearGradientBrush::TranslateTransform() method
Fix method System::IO::Directory::GetFiles()
TestUtil::VerifyWebResponseStatusCode throws C++ exception with description "partial message"