CppSharp v0.8.23 Release Notes

Release Date: 2019-01-31 // about 5 years ago
    • Keep Clang libTooling libs when packaging LLVM.

    • ๐Ÿ‘Œ Improve error handling in build scripts UseClang().

    • โž• Added .NET Core build folder to Git Ignore .

    • ๐ŸŽ‰ Initial integration of Clang AST viewer GUI tool.

    • ๐Ÿšš Made an exception serializable and removed another.

    • ๐Ÿ›  Fixed the warnings in the test C++ for C# only.

    • ๐Ÿ›  Fixed a crash when parsing libraries on macOS.

    • ๐Ÿ›  Fixed error handling when parsing non-existent libraries.

    • โž• Added support for building with Clang and LLD.

    • Switched to use csc.exe Roslyn compiler under Mono

    • ๐Ÿ‘ Disable most of the support for explicit pre-C++11 ABI since we do not need it anymore

    • ๐Ÿ›  Fixed warnings in native test code.

    • ๐Ÿ›  Fixed the generation of dependent virtual methods.

    • ๐Ÿ›  Fixed overloading of operators with parameters mapped to the same type.

    • Extended the type maps for primitive strings to C++/CLI.

    • ๐Ÿ– Handled int and long in maps to help resolve ambiguity.

    • Simplified type maps by unlinking them from declarations.

    • โšก๏ธ Properly hashed types to optimize their storage in maps.

    • ๐Ÿ›  Fixed right-value references creating ambiguous overloads.

    • ๐Ÿ›  Fixed the generated code in a case of ambiguous overloads.

    • โž• Added type maps for primitive strings (pointers to char).

    • โž• Added an option for skipping private declarations.

    • โœ… Tested indirect calls from native code of overrides in the target language.

    • ๐ŸŽ‰ Initial support for building under .NET Core.

    • โšก๏ธ Updated the CI on Linux to use GCC 7.

    • ๐ŸŽ Exported all additional symbols on macOS.

    • ๐Ÿ›  Fixed error handling and message when parsing non-existent files.

    • โž• Added a test for passing an std::string by value.

    • ๐Ÿ›  Fixed the marshalling of std::string with GCC 6+ on Linux.

    • โž• Added a type map for char.

    • ๐Ÿ Make Windows10SDK detection more robust

    • Cached found type maps for faster look-ups.

    • โœ‚ Deleted unused and slow code.

    • ๐Ÿ›  Fixed the parsing of functions with integral template args.

    • โฌ‡ Decreased the build time on the Linux CI.

    • ๐Ÿ›  Fixed a crash when parsing type aliases.

    • ๐Ÿ›  Fixed the build of the parser when its path has spaces.

    • ๐Ÿ”„ Changed type maps to only return types - no strings.

    • Simplified type maps by using static objects to disable as needed.

    • โšก๏ธ Optimized the walking of the managed AST.

    • โšก๏ธ Optimized the generation of C# by not splitting any strings.

    • โšก๏ธ Optimized the walking of the AST by simplifying its search.

    • ๐Ÿ›  Fixed the late parsing of templates.

    • ๐Ÿ›  Fixed LLVM/Clang tar.gz archive extraction using 7-Zip on Windows.

    • ๐Ÿ›  Fixed Windows SDK version detection in build scripts.

    • Resolved ambiguity between char-like types in the generated C#.

    • ๐Ÿ›  Fixed the generated C# for templates with > 1 ctor taking a pointer to a class.

    • ๐Ÿ›  Fixed the generated C# for pure virtual functions with default arguments.

    • ๐Ÿ›  Fixed the generated C# for default arguments of type pointer to a function.

    • ๐Ÿ›  Fixed the generated C# for a certain case of two default parameters.

    • ๐Ÿ›  Fixed the generated C# for arguments with default values of "nullptr".

    • ๐Ÿ›  Fixed the generated C# for setters with default parameters.

    • ๐Ÿ›  Fixed the generated C# for public fields with types mapped to primitive.

    • ๐Ÿ›  Fixed the generated C# for constant references to primitives.

    • โฌ†๏ธ Upgraded the CI script to use Ubuntu 16.04.

    • ๐Ÿ›  Fixed ambiguity when the type of a parameter is mapped to a type in an overload.