Releases: dotnet/ClangSharp
Releases · dotnet/ClangSharp
v18.1.0.1
What's Changed
- Config option: strip-enum-member-type-name by @fredrikhr in #527
- Refactor Enum member type escaping by @fredrikhr in #556
- Add support for C/C++ attribute annotate by @fredrikhr in #552
- Eliminate the ambiguity of "-h" option by @myd7349 in #563
- Roll back the version of System.CommandLine being used by @tannergooding in #566
New Contributors
- @fredrikhr made their first contribution in #527
- @myd7349 made their first contribution in #563
Full Changelog: v18.1.0...v18.1.0.1
v18.1.0
What's Changed
- Fix an issue with string escaping by @tannergooding in #501
- Use InlineArray instead of fixed when using latest codegen by @tannergooding in #505
- Ensure that we don't try to create a test stream if test output isn't… by @tannergooding in #506
- Recognize LLU and LU integer suffixes by @TechPizzaDev in #513
- Improve codegen for a few expression kinds by @tannergooding in #514
- Ensure a cast is inserted for enum constant decls involving an implicit sign change by @tannergooding in #515
- Fixed instruction in README.md by @danhab99 in #517
- Adding a switch to minimally support pointers in generics by @tannergooding in #520
- Fix operand order for NativeMemory.Copy by @tannergooding in #523
- Add OverloadedDeclRef by @ceresgalax in #526
- Fix native crashes / asserts in libClangSharp and CXXRecordDecl Destructor property. by @ceresgalax in #525
- Don't enforce code style in build by @tannergooding in #541
- Enable matching
*
for--with-using
by @dpaoliello in #537 - Ignore the TypeVisibility and NoThrow attributes by @dpaoliello in #540
- Add wrappers for
ParmVarDecl::hasUnparsedDefaultArg
andParmVarDecl::hasUninstantiatedDefaultArg
by @dpaoliello in #546 - Add new getHas*DefaultArg C++ functions to ClangSharp.h by @dpaoliello in #548
- Updating Clang to v18.1 by @tannergooding in #545
- Fix crash when using a default argument from a base template by @dpaoliello in #547
- Exclude intrinsics from translation by @dpaoliello in #542
- Exclude template specializations unless
generate-template-bindings
is set by @dpaoliello in #551 - Make Decl.DescribedTemplate property nullable. by @ceresgalax in #530
New Contributors
- @danhab99 made their first contribution in #517
- @ceresgalax made their first contribution in #526
- @dpaoliello made their first contribution in #537
Full Changelog: v17.0.0...v18.1.0
v17.0.0
What's Changed
- Handle
format
andformat_arg
attributes as no-ops. by @alexrp in #457 - Readme: fix ClangSharpPInvokeGenerator version by @Mixaill in #459
- Updating the repo to target the latest .NET 8 preview by @tannergooding in #463
- Add support for InlineArray, generate readonly instance members, and fix signed bitfield handling by @tannergooding in #464
- Fixed anonymous type generation in C mode. by @Summpot in #467
- Ensure that various analyzers aren't enabled for .NET Standard by @tannergooding in #472
- Allow equals sign in value for parsed KVP Pairs by @kkukshtel in #471
- Add support for DisableRuntimeMarshalling and CallConvMemberFunction by @tannergooding in #480
- Regenerating bindings for libclang v17.0.4 by @tannergooding in #483
- Ensure string escape sequences work as expected by @tannergooding in #485
- Update ci.yml to use the global.json for SDK installs by @tannergooding in #486
- Ensure --include works for whole records and so on by @tannergooding in #487
- Ensure Linux is running tests by @tannergooding in #488
- Update to the stable release of .NET 8 in the global.json by @tannergooding in #493
- Ensure compatible-codegen inserts "unsafe" where required by @tannergooding in #494
- Update latest-codegen to be net8.0 by @tannergooding in #496
- Add a test covering a nested anonymous union by @tannergooding in #497
- Split the test output to its own stream in single-file mode by @tannergooding in #498
New Contributors
- @alexrp made their first contribution in #457
- @Mixaill made their first contribution in #459
- @Summpot made their first contribution in #467
- @kkukshtel made their first contribution in #471
Full Changelog: v16.0.0...v17.0.0
v16.0.0
What's Changed
- Ensure that we null out the stream for generate-multi-file by @qmfrederik in #410
- Updating repo infrastructure and use new sign client by @tannergooding in #421
- Document ability to use wildcards for with-access-specifier by @kant2002 in #418
- Fix truncated message in generated Obsolete attributes by @TechPizzaDev in #420
- Ensure that we null out the stream for generate-multi-file for all helper class generation methods. by @teo-tsirpanis in #424
- Adding a differentiator between "LTS" (default) and "STS" (latest) codegen by @tannergooding in #426
- Ensure that IsIncludedFileOrLocation checks the full path by @tannergooding in #430
- Workaround some bugs in a few boolean returning interop methods by @tannergooding in #431
- Small infrastructure cleanup by @tannergooding in #436
- Some small targeted fixes around remappings and type lookup by @tannergooding in #437
- Improve how clang type checks are done to make it more consistent and robust by @tannergooding in #438
- Improve NativeTypeName information to ensure it isn't dropped and doesn't conflict due to path changes by @tannergooding in #441
- Add a generate-native-bitfield-attribute switch by @tannergooding in #442
- Ensure the constructor uses the right name by @tannergooding in #443
- Fix generate-macro-bindings generation by @GasInfinity in #440
- Fixed broken anchor link in readme by @TheLeftExit in #453
- Updating to libClang v16.0.6 by @tannergooding in #456
New Contributors
- @qmfrederik made their first contribution in #410
- @TechPizzaDev made their first contribution in #420
- @GasInfinity made their first contribution in #440
- @TheLeftExit made their first contribution in #453
Full Changelog: v15.0.2...v16.0.0
v15.0.2
What's Changed
- Ensure System.CommandLine is included in the tool package by @tannergooding in #395
- Ensure .NET Foundation and Contributors on the FreeBSD nuspecs by @tannergooding in #397
- Add tests for anonymous enums by @reflectronic in #194
- Add support for --with-packing by @DaZombieKiller in #405
- Don't apply --with-packing overrides to fixed buffer types by @DaZombieKiller in #407
- Adding tests for --with-packing output by @DaZombieKiller in #406
- Small fixes for the dotnet tool by @tannergooding in #408
New Contributors
- @DaZombieKiller made their first contribution in #405
Full Changelog: v15.0.0...v15.0.2
v15.0.0
What's Changed
- Adding tests covering preview-codegen by @tannergooding in #376
- Adding support for UnscopedRef by @tannergooding in #377
- Add access specifier to method class by @saucecontrol in #378
- Few misc fixups to better handle some C++ patterns by @tannergooding in #384
- Updating the .editorconfig to have support newer rules by @tannergooding in #385
- Updating to Clang v15.0.0 by @tannergooding in #386
- Enable the build-nuget-release job by @tannergooding in #387
- Adding basic support for stripping text out of NativeTypeName attributes by @tannergooding in #388
- Adding support for decltype by @tannergooding in #389
- Ensure a typedef to a
typedef union Name
works with C by @tannergooding in #390 - Ensure generate-helper-types works with single-file mode by @tannergooding in #391
- Ensure CXCursor and CXType don't crash the debugger for default values by @tannergooding in #392
- Ensure that we null out the stream for generate-multi-file by @tannergooding in #393
Full Changelog: v14.0.0-rc1...v15.0.0
v14.0.0-rc1
What's Changed
- Update specified version of ClangSharpPInvokeGenerator by @will-jj in #335
- Allow private access specifiers on functions by @saucecontrol in #341
- Fix clangsharp_Type_getTemplateArgument for record decl by @xoofx in #337
- Add note about libclang/libClangSharp runtime and restore discussions by @ihnorton in #320
- Updating ClangSharp to support UTF-8 literals in preview mode by @tannergooding in #342
- Updating to use the latest System.CommandLine by @Keboo in #343
- explicit AllowMultipleArgumentsPerToken on string[] options by @miloush in #348
- Improve UTF-8 string literal, Guid, and attribute handling by @tannergooding in #352
- Ensure that bool as a struct field is correctly handled by @tannergooding in #353
- Fix paths for dotnet 6 by @kant2002 in #356
- Add support for varargs. by @Berrysoft in #344
- Ensure that --with-access-specifier works with
*=internal
by @tannergooding in #359 - Do not remove parethensis by @kant2002 in #358
- Update versions and help output in
README.md
by @SeeminglyScience in #361 - Fix
lpVtbl
field declaration when bothexplicit-vtbls
andgenerate-marker interfaces
are specified by @SeeminglyScience in #363 - Version check skip option and patch verison leniency by @Beyley in #368
- Updating VersionSuffix to rc1 by @tannergooding in #370
- Adding tests and validate handling for various global string literal variables by @tannergooding in #371
- Ensure that C incomplete arrays are correctly handled by the generator by @tannergooding in #372
- Ensure that multiple-inheritance scenarios generate unique field names by @tannergooding in #373
- Fixing C Incomplete Array to be treated as a Constant Array of length 1 by @tannergooding in #374
- Adding support for signing by @tannergooding in #375
New Contributors
- @will-jj made their first contribution in #335
- @saucecontrol made their first contribution in #341
- @xoofx made their first contribution in #337
- @ihnorton made their first contribution in #320
- @Keboo made their first contribution in #343
- @miloush made their first contribution in #348
- @Berrysoft made their first contribution in #344
- @SeeminglyScience made their first contribution in #361
- @Beyley made their first contribution in #368
Full Changelog: v14.0.0-beta1...v14.0.0-rc1
v14.0.0-beta1
What's Changed
- Updating version suffix to beta2 and move to use NUnit by @tannergooding in #308
- Ensure that non-virtual C++ instance methods without a body have an inserted parameter for pThis by @tannergooding in #309
- Adding a nightly nuget feed by @tannergooding in #310
- Add a link to the source browser by @tannergooding in #311
- Fix Nightly NuGet Feed URL by @yamachu in #312
- Add support for marking methods as manual imports and fixing the PInvokeGeneratorConfiguration to be more forward compatible by @tannergooding in #313
- Ensure anonymous enums get tracked as part of a top-level class by @tannergooding in #314
- Ensure that log-potential-typedef-remappings doesn't include typedefs from every file by @tannergooding in #316
- Add some additional handling for patterns found when generating bindings for GDI+ by @tannergooding in #317
- Fix when the base vtbl is emitted inline by @tannergooding in #318
- Update link to win32metadata. by @teo-tsirpanis in #329
- Regenerating bindings for v14.0.0 by @tannergooding in #330
New Contributors
- @yamachu made their first contribution in #312
- @teo-tsirpanis made their first contribution in #329
Full Changelog: v13.0.0-beta1...v14.0.0-beta1
v13.0.0-beta1
What's Changed
- Revert the handling for struct packing as it regresses more scenarios than it fixed by @tannergooding in #263
- Minor fix the libclangsharp build instructions by @danieljennings in #262
- Fix clangsharp_Cursor_getDefinition not handling declarations with no definition by @PathogenDavid in #264
- Merging various fixes and improvements by @tannergooding in #269
- Adding support for generating unmanaged constants by @tannergooding in #271
- Updating Cursor and Type to avoid repeated hot path allocations by @tannergooding in #272
- Updating to Clang v13.0.0 by @tannergooding in #274
- Ensure anonymous unions stay "anonymous" and not "unnamed" by @tannergooding in #275
- Fix extraneous
using System;
by @reflectronic in #276 - Print version information on
--version
by @tannergooding in #277 - Ensure that test outputs are marked "partial" by @tannergooding in #278
- Adding support for overriding the access specifier by @tannergooding in #279
- Ensure that all new kinds are being properly handled by @tannergooding in #280
- Greatly improve the understanding of the
log-potential-typedef-remappings
feature by @tannergooding in #281 - Moving forward to net6.0 and fixing a few issues around -m64 by @tannergooding in #282
- Add support for transparent structs, automatically generating the used attributes/helper types, and to simplify
NativeTypeName
output in a few scenarios by @tannergooding in #284 - Adding support for specifying a transparent struct kind by @tannergooding in #285
- Add support for avoiding pinning when returning a ref to an anonymous pointer field by @tannergooding in #286
- Add support for trimmable vtbls, marker interfaces, and SupportedOSPlatformAttribute by @tannergooding in #287
- Add support for a new --with-namespace option by @tannergooding in #288
- Updating repo for transfer to the .NET Foundation by @tannergooding in #289
- Adding support for explicitly including members to bind by @tannergooding in #290
- Adding support for overriding the output class for constants and methods by @tannergooding in #291
- Handle attributes for class remappings by @tannergooding in #292
- Ensure that top level classes/structs correctly mark themselves as unsafe and include the right namespace for tests by @tannergooding in #293
- Provide a few new features for C# 10 and .NET 6 by @tannergooding in #299
- Add a few more options to help with "feature-completing" a set of bindings by @tannergooding in #301
- Resolve dotnet-org-policy PR15 by ensuring we only link to the foundation CoC by @tannergooding in #303
- Changing CI over to use GitHub Actions by @tannergooding in #304
- Fixing up some URLs and variables used for versioning by @tannergooding in #305
- Temporarily disable packing for ClangSharpPInvokeGenerator by @tannergooding in #306
- Disable publishing of nightly builds until the permissions issue can be resolved by @tannergooding in #307
New Contributors
- @danieljennings made their first contribution in #262
Full Changelog: v12.0.0-beta2...v13.0.0-beta1
v12.0.0-beta2
What's Changed
- Updating to Clang v12.0.0 by @tannergooding in #235
- Specify llvm branch in readme by @FriendlyChicken in #236
- Document how to use local Clang on Linux by @kant2002 in #242
- Fix build with Clang 12 and install the native lib by @zeule in #244
- Handle virtual destructors by @zeule in #243
- Be explicit on which symbols are exported by @zeule in #247
- Ensure the translation unit is kept alive by @tannergooding in #248
- Single quote must be escaped otherwise ''' is generated instead of '''. by @ronaldvanmanen in #249
- Fix looking for libclang10 when 12 should be searched for by @ThadHouse in #252
- Provide more information in Desc structures by @andrew-boyarshin in #228
- Fixing some low hanging bugs. by @tannergooding in #256
- Fix additional low hanging bugs by @tannergooding in #257
- Ensure that the record packing and calling convention are correct regardless of -m32 or -m64 by @tannergooding in #258
New Contributors
- @FriendlyChicken made their first contribution in #236
- @kant2002 made their first contribution in #242
- @zeule made their first contribution in #244
- @ronaldvanmanen made their first contribution in #249
Full Changelog: v12.0.0-beta1...v12.0.0-beta2