5. csPorter for C++ 18.12 Release Notes

Last modified by Tilal Ahmad on 2018/12/23 03:37

Major Features

  1. original_tests_names option is added to disable prefixing tests names with categories names.
  2. force_include_enum option is added to enabling adding '#include' directives for enums instead of generating forward declarations in all cases.

Minor fixes.

  1. Region::IsVisible(PointF) method is implemented.
  2. Tests stub file (list of tests in ported project) is now sorted by test name.
  3. The problem is fixed for 'finally' block operating on variables that have already been freed by 'return' statement (moving constructor optimization issue).
  4. System::Convert::FromBase64String() now throws exception of correct FormatException type on input of unexpected format.
  5. DateTime constructors now throw valid ArgumentOutOfRangeException exceptions on out-of-range dates or monthes being passed to them.
  6. Callstack print of SmartPtr class destructor was ligtened by 1/3.
  7. Messages of NotImplementedException, NotSupportedException and CultureNotFoundException are fixed to match .NET ones.
  8. Order of constexpr fields in output files is fixed to avoid initialization fiasco.
  9. A bug is fixed blocking some messages from reaching porter.log.
  10. Messages for config errors now include file, line and position information.
  11. A bug is fixed in porter generating 'gtest not found' errors if current directory was not 'bin/porter'.
  12. TEST_F macros in output files are now placed near the test methods they call to make debug easier

Please consult respective sections of our wiki for more information.

Full List of Issues Covering all Changes in this Release

PDFCPP-817Fix issues with OriginlKit functional testsTask
PDFCPP-834Fix Region.IsVisibleTask
CSPORTCPP-2295Fix null reference after returning pointer used in 'finally' blockBug
WORDSCPP-702System::Convert::FromBase64String throws an incorrect exception for invalid inputBug
WORDSCPP-696System::DateTime implementation doesn't catch exceptions from Boost.DateTimeBug
CSPORTCPP-2302Investigate reducing destructors call stackInvestigation
WORDSCPP-676Always add include directives for enums instead of forward declarationsTask
WORDSCPP-360Reorder constexpr field declarationTask
CSPORTCPP-2331porter.log missing entriesBug
CSPORTCPP-2151improve porter error messages on config issuesTask
CSPORTCPP-2153Porter not finding gtest if current directory is not asposecpplib/binBug
CSPORTCPP-2327Attach TEST_F macros to corresponding test functionsTask
WORDSCPP-683Unexpected exception suffix message for NotSupportedException exceptionBug

Public API and Backward Incompatible Changes

  1. IsVisible(PointF) method is added into Region class
    PointF point(22.5, 90.2);
    bool visible = myRegion.IsVisible(point);
Created by Tilal Ahmad on 2018/12/19 14:43