Releases: dotnet/ClangSharp
Releases · dotnet/ClangSharp
v12.0.0-beta1
What's Changed
- Fixing various bugs, analyzer warnings, and adding very basic template support by @tannergooding in #226
- Mark ternary macros that can be evaluated as constants as const by @ThadHouse in #221
- Introduce EnumDesc, add ability to output source location attribute by @andrew-boyarshin in #227
- Updating to Clang v12.0.0 by @tannergooding in #235
New Contributors
- @ThadHouse made their first contribution in #221
- @andrew-boyarshin made their first contribution in #227
Full Changelog: v11.0.0-beta3...v12.0.0-beta1
v11.0.0-beta3
What's Changed
- Fixing build scripts to use pwsh and to call GenerateMetadataSource.ps1, rather than .cmd by @tannergooding in #208
- Fix required for win32metadata project by @sotteson1 in #210
- Abstract away output mechanisms & add support for XML dumps by @Perksey in #206
- Updating the tests coverage by @tannergooding in #211
- Adding test coverage for the XML generator by @tannergooding in #212
- Updating libClangSharp to have more extensive support for the underlying AST by @tannergooding in #213
- Adding some basic documentation on usage by @tannergooding in #214
- Cleanup to resolves some bugs and codegen issues by @tannergooding in #215
- Ensure the right call conv is checked for x86 Windows by @tannergooding in #216
- Ensure remapping and anonymous record names are correct by @tannergooding in #219
- A couple fixes for the win32metadata project by @sotteson1 in #218
New Contributors
Full Changelog: v11.0.0-beta2...v11.0.0-beta3
v11.0.0-beta2
What's Changed
- Ensure that ClangSharpPInvokeGenerator works with the System.CommandLine breaking changes by @tannergooding in #204
Full Changelog: v11.0.0-beta1...v11.0.0-beta2
v11.0.0-beta1
What's Changed
- Fixing some pain points around paths and ensure a couple of edge scenarios are handled by @tannergooding in #128
- Update dependencies and fix some functionality by @tannergooding in #140
- Add a with-librarypath option and better handle anonymous names by default by @tannergooding in #141
- Updating the binding generator with additional functionality by @tannergooding in #142
- Support implicit VTBLs and generating basic interop tests by @tannergooding in #143
- Adding an explicit test covering structs that contain pointers to the same type by @tannergooding in #147
- Improving handling of bitfields by @tannergooding in #152
- Ensure bitfields are still correctly handled if there is only one by @tannergooding in #156
- Add additional native library lookup logic for Linux. See #153 by @jmaine in #154
- Extended the support for ClangSharp via libClangSharp by @tannergooding in #159
- Improve the handling of various declaration types and add support for generating macro bindings by @tannergooding in #160
- Massively improve the perf of MacroDefinitionRecord handling by @tannergooding in #161
- Update libClangSharp to 10.0.2-beta and improve some codegen handling by @tannergooding in #162
- Improve the generated code for a number of scenarios by @tannergooding in #163
- Expose the unsigned value on EnumConstantDecl. by @PathogenDavid in #164
- Further improve codegen around UUID attributes and parentheses handling by @tannergooding in #165
- Fix a few code generation bugs around fixed sized buffers and nested anonymous records by @tannergooding in #166
- Add exclusion support for helper methods and support for AggressiveInlining by @tannergooding in #168
- Fix unchecked generation for pointers by @reflectronic in #169
- Don't include conflicting definitions when incrementing the vtbl index by @tannergooding in #170
- Fix struct parsing in C mode by @mjsabby in #172
- Updating to use the new fnptr syntax and fixing a couple minor issues by @tannergooding in #174
- Better handle anonymous enumerations by @tannergooding in #175
- Regenerating bindings for Clang 11.0.0 by @tannergooding in #181
- Check if CXXRecordDecl is lambda before calling getLambdaContextDecl(). by @phizch in #185
- Fix translation for constant string literals by @reflectronic in #189
- Fix translation for implicit move constructor invocation by @reflectronic in #188
- Adding new config options for ClangSharp by @sotteson1 in #187
- Fix remapping for union field names by @reflectronic in #191
- Add unchecked handling for reinterpret_cast by @reflectronic in #193
- Add support for templates in type signatures by @reflectronic in #192
- Add better support for function-like casts by @reflectronic in #196
- Insert cast to enum underlying type when casting to enum type in enum initializer by @reflectronic in #197
- Add a CI job for validating microsoft/win32metadata hasn't regressed by @tannergooding in #198
- Updating to support .NET 5 and to use Open.snk by @tannergooding in #202
- Updating to 11.0.0-beta2 by @tannergooding in #203
New Contributors
- @jmaine made their first contribution in #154
- @mjsabby made their first contribution in #172
- @phizch made their first contribution in #185
- @sotteson1 made their first contribution in #187
Full Changelog: v10.0.0-beta...v11.0.0-beta1
v10.0.0-beta
What's Changed
- Update to Clang 10.0.0 by @tannergooding in #121
- Adding a DllImport resolver for netcoreapp3.1 by @tannergooding in #122
- Adds a 'preview-codegen' config option by @tannergooding in #123
- Ensuring typedefs to all kinds of arrays work as expected by @tannergooding in #124
Full Changelog: v9.0.0-beta...v10.0.0-beta
v9.0.0-beta
What's Changed
- Add Preprocessing Wrappers by @udaken in #84
- Updating the codebase to Clang v9.0.0 by @tannergooding in #86
- Removing Debugger.Break calls from the repository by @tannergooding in #89
- Adding a license header to all the code files by @tannergooding in #90
- Switching various LINQ expressions to use OfType instead of Where(x is T).Cast by @tannergooding in #91
- Ensure the various cursor kinds are being handled by @tannergooding in #92
- Adding DeclStmt.Decls by @udaken in #88
- Add Minimal Support for NamespaceAliasDecl and UsingDirectiveDecl. by @iosdevzone in #87
- Adding basic tests for ClassTemplateDecl and ClassTemplatePartialSpecializationDecl by @tannergooding in #93
- Updating CI to use the vmImage pool names by @tannergooding in #95
- Add a helper library, libClangSharp, for exposing functionality not in libClang by @tannergooding in #94
- Updating dependences to latest stable and cleanup solution file. by @tannergooding in #96
- Updating System.CommandLine.Experimental to 0.3.0-alpha.19405.1 by @tannergooding in #97
- Cleanup the PInvokeGenerator to follow some best practices and avoid platform differences. by @tannergooding in #98
- Changing the default to -std=c++17 and cleaning up the launchSettings.json by @tannergooding in #99
- Handle some more decl and stmt kinds in the PInvoke generator by @tannergooding in #100
- Updating ClangSharpPInvokeGenerator to pack as a global tool by @tannergooding in #101
- Take name remapping into account when tracking the native type name. by @tannergooding in #102
- Simplifying some of the command line options for ClangSharpPInvokeGenerator by @tannergooding in #103
- Adding an option to generate netfx compatible code by @tannergooding in #104
- Adding support for nested anonymous records by @tannergooding in #105
- Ensure that anonymous nested structs can have their field names remapped by @tannergooding in #106
- Adding explicit tests covering C style unions by @tannergooding in #107
- Updating the GetTypeName handling to better handle anonymous records and pointee types by @tannergooding in #108
- Adding support for generating bitfield bindings by @tannergooding in #109
- Add binding generation support for virtual instance methods by @tannergooding in #110
- Provide a mechanism for providing additional attributes and using directives for declarations by @tannergooding in #111
- Adding support for optional parameters, overriding the EnumDecl type, and overriding the CallingConv by @tannergooding in #112
- Fixing binding generation to support multidimensional arrays and conflicting names by @tannergooding in #113
- Adding support for binding the most common statement and expression kinds by @tannergooding in #114
- Support a few more statement and declaration types by @tannergooding in #115
- fix: Fix property name by @objectx in #116
New Contributors
- @udaken made their first contribution in #84
- @iosdevzone made their first contribution in #87
- @objectx made their first contribution in #116
Full Changelog: v8.0.0-beta...v9.0.0-beta
v8.0.0-beta
What's Changed
- build.sh: added missing ref to Generated.Custom.cs, format commands by @andyli in #13
- Properly handle CXTypeKind.CXType_Elaborated by @stanionascu in #15
- Update for Clang 6 and .NET standard by @benpye in #21
- Running /t:GenerateClangSharp for the 8.0.0 release by @tannergooding in #28
- Adding support for more by @tannergooding in #29
- Adding various extensions to expose APIs in a object oriented manner. by @tannergooding in #31
- Adding more extensions to expose APIs in an object oriented manner. by @tannergooding in #32
- Rewrite the ClangSharpPInvokeGenerator to allow better reuse and to be more explicit by @tannergooding in #34
- Adding some additional fixups allow LLVMSharp to be regenerated by @tannergooding in #37
- Fixing some issues in the writer and how parmCount is tracked by @tannergooding in #38
- More improvements to the P/Invoke Binding Generator by @tannergooding in #40
- Take a dependency on System.CommandLine for command line handling. by @tannergooding in #42
- Support multi file generation in the Binding generator by @tannergooding in #43
- Fixing a couple cases so LLVMSharp can use multi-file generation. by @tannergooding in #44
- Adding support for parsing expressions attached to EnumConstantDecl by @tannergooding in #45
- Minor fixups to provide better diagnostics and notes on what should be done. by @tannergooding in #47
- Implementing a structured traverser so the writer can have the full state by @tannergooding in #49
- Doing some minor code cleanup and adding some PInvokeGenerator tests by @tannergooding in #50
- Various improvements to make the code more useable for non-debug scenarios. by @tannergooding in #51
- Simplify the structured traverser and make it more closely mirror the C++ clang type structure by @tannergooding in #53
- Adding some tests validating we skip tag declarations that aren't definitions by @tannergooding in #54
- Extending the exclude support and adding basic name remapping support by @tannergooding in #55
- Updating ClangSharp to support generating bindings for basic function bodies. by @tannergooding in #56
- Updating the traverser to support most of the operator opcodes. by @tannergooding in #57
- Adding some more improvements to the PInvokeGenerator by @tannergooding in #58
- Setup some infrastructure for the repository. by @tannergooding in #60
- Cleanup how the PInvokeGenerator handles CXType and resolves names by @tannergooding in #61
- Adding an azure-pipelines.yml file. by @tannergooding in #62
- Adding build status badges to the README.md by @tannergooding in #63
- Adding MacOS 10.14 jobs to the azure-pipelines.yml file by @tannergooding in #64
- Fixing up some infrastructure so we can consume the libclang 8.0.0 packages by @tannergooding in #65
- Changing
runtime.rid.libclang
to belibclang.runtime.rid
by @tannergooding in #67 - Updating libclang to use the new 8.0.0 package. by @tannergooding in #68
- Drop support for generating "safe" code by @tannergooding in #69
- Updating the azure-pipelines.yml script to publish test results. by @tannergooding in #70
- Cleaning up the README to include current details. by @tannergooding in #71
- Ensure APIs are exposed in the simple interop extensions. by @tannergooding in #72
- Expose the Cursor/Type wrappers as part of ClangSharp by @tannergooding in #73
- Minor improvements for type handling. by @tannergooding in #74
- Some more minor improvements by @tannergooding in #75
- Add support for union types and emitting a file header. by @tannergooding in #76
- CI Improvements by @tannergooding in #81
- Fixing build status links and moving version suffix to beta. by @tannergooding in #82
- Always write headers and check against empty paths by @FiniteReality in #80
New Contributors
- @andyli made their first contribution in #13
- @stanionascu made their first contribution in #15
- @benpye made their first contribution in #21
- @FiniteReality made their first contribution in #80
Full Changelog: v3.8.0...v8.0.0-beta
v3.8.0
Full Changelog: v3.6.0...v3.8.0