Releases: dotnet/ClangSharp
Releases · dotnet/ClangSharp
Previous Next
v21.1.8.4
What's Changed
- Fix VersionTuple.IsEmpty. by @rolfbjarne in #693
- Add Copilot instructions and fix two small irregularities by @tannergooding in #701
- Split large hand-written generator files into cohesive partials by @tannergooding in #702
- Fix native library resolution for dotnet tools on Linux by @Happypig375 in #700
- Fix incorrect 64-bit alignment computation for records with a vtable by @tannergooding in #703
- Fix potential null dereference of ObjCTypeParamList in Cursor argument and type-param APIs by @tannergooding in #704
- Avoid boxing in flag enum checks by using bitwise tests by @tannergooding in #705
- Fix ValueLazy caching being defeated by readonly fields by @tannergooding in #706
- Avoid allocating per-instance lazy factory delegates using function pointers by @tannergooding in #707
- Cache normalized file names to avoid re-allocating them per cursor by @tannergooding in #708
- Fix generation of long-typed defines when on Linux by @Exanite in #699
- Collapse Desc flag boilerplate into shared helpers by @tannergooding in #710
- Unify duplicated bool type transforms into a shared helper by @tannergooding in #711
- Hoist XmlWriterSettings and dispose StringWriter in XmlOutputBuilder by @tannergooding in #713
- Use SearchValues for qualified-name separator scans by @tannergooding in #712
- Standardize argument-name validation in OutputBuilderFactory by @tannergooding in #714
- Avoid allocating per-cursor LazyList factory delegates using function pointers by @tannergooding in #715
- Split the largest generator methods into dedicated partial files by @tannergooding in #716
- Decompose GetCursorName into focused private helpers by @tannergooding in #717
- Promote anonymous-name prefixes to consts with helper predicates by @tannergooding in #718
- Drop net8.0 and modernize DllImportResolver invocation-list enumeration by @tannergooding in #719
- Harden generator against malformed macro and uuid inputs by @tannergooding in #720
- Fix template-argument accessors for function and variable template specializations by @tannergooding in #721
- Centralize anonymous type-kind tag literal and use range slicing by @tannergooding in #722
- Use global.json SDK for the nightly publish jobs by @tannergooding in #723
- Return a success exit code for --version by @tannergooding in #724
- Fix missing closing parenthesis for non-int transparent struct boolean conversion by @tannergooding in #725
- Fix missing semicolon on non-const global struct initializers by @tannergooding in #726
- Fix invalid codegen for bool bitfields by @tannergooding in #727
- Concatenate adjacent string literals in deprecated attribute messages by @tannergooding in #728
- Don't emit a namespace closing brace for file-scoped namespaces in single-file output by @tannergooding in #729
- Strip enum member type name from sibling references in initializers by @tannergooding in #730
- Qualify nested type references with their containing types by @tannergooding in #731
- Don't dereference a null type when building a template argument name by @tannergooding in #732
- Qualify anonymous enum references with their backing class for exclude-using-statics-for-enums by @tannergooding in #733
- Map nullptr type to void* instead of the invalid type name null by @tannergooding in #734
- Fix invalid single-file codegen for generate-helper-types by @tannergooding in #735
- Disambiguate nested record names that clash with a sibling field by @tannergooding in #736
- Fix method class over-indentation under file-scoped namespaces by @tannergooding in #737
- Emit single-file helper types below the method class instead of mid-file by @tannergooding in #738
- Don't crash on undefined function-like macros by @tannergooding in #739
- Insert explicit byte-pointer casts for void pointer arithmetic by @tannergooding in #740
- Add opt-in uint, nint, and nuint indexers for fixed buffer helper structs by @tannergooding in #741
- Fix incorrect expectedCursorKind for UsingEnumDecl by @tannergooding in #742
- Ensure SAL/C++ attributes on fields generate a CppAttributeList by @tannergooding in #743
- Fix compatible-mode remap of pointer-to-fnptr-typedef fields by @tannergooding in #744
- Lower a type remapped to a fixed-size buffer to a pointer by @tannergooding in #745
- Add a package README for ClangSharpPInvokeGenerator by @tannergooding in #746
- Don't emit duplicate members for structs with multiple vtbl bases by @tannergooding in #748
- Replace System.CommandLine with a custom argument parser by @tannergooding in #749
- Model multiple-inheritance vtbl bases as ABI-correct subobjects by @tannergooding in #750
- Support struct field type remapping via --with-type by @tannergooding in #751
- Add a generation best-practices guide for ClangSharpPInvokeGenerator by @tannergooding in #752
- Replace inline generator-test golden strings with a checked-in baseline harness by @tannergooding in #753
- Add docs for library use and the XML binding format by @tannergooding in #754
- Model nested multiple inheritance of polymorphic bases as ABI-correct subobjects by @tannergooding in #755
- Give a clear diagnostic when the output location conflicts with the file mode by @tannergooding in #756
- Add default remappings for well known fixed-width and pointer-width typedefs by @tannergooding in #757
- Auto-detect an installed clang resource directory on Unix by @tannergooding in #758
- Annotate generated bindings with GeneratedCodeAttribute by @tannergooding in #759
- Expose Type.UnqualifiedType by @tannergooding in #760
- Pass
thisas a pointer when a callee expects one by @tannergooding in #761 - Ensure unsigned enum initializers cast to the signed underlying type by @tannergooding in #762
- Project C++ copy assignment
operator=as a C# assignment orop_Assignby @tannergooding in #763 - Don't emit function-local type declarations inline in the method body by @tannergooding in #764
- Unify identical ThisAsPointerTest baselines and document the convention by @tannergooding in #767
- Pass operator-call arguments by reference where the parameter expects it by @tannergooding in #766
- Qualify hoisted function-local anonymous records by their function by @tannergooding in #765
- Add --typePrefixStrip for stripping a prefix from type and enum member names by @tannergooding in #768
- Fix crash on out-of-line class-template member definitions and harden getVtblIdx by @tannergooding in #769
- Add --with-enum-member-strip for per-enum member name stripping by @tannergooding in #770
- Add --with-conditional to wrap single-file output in a preprocessor conditional by @tannergooding in #772
- Degrade gracefully on C++ pointer-to-member types by @tannergooding in #771
- Extend --with-conditional to multi-file output by @tannergooding in #774
- Don't emit unnecessary unchecked scope for native-int literals by @tannergooding in https://github.c...
v21.1.8.3
What's Changed
- Fix ArgumentOutOfRangeException in Type and Decl constructors during ObjC AST traversal by @dalexsoto in #690
New Contributors
- @dalexsoto made their first contribution in #690
Full Changelog: v21.1.8.2...v21.1.8.3
v21.1.8.2
What's Changed
- Add Attr.PrettyPrint(). by @rolfbjarne in #665
- Add support for protocols in @interface definitions (ObjCInterfaceDecl). by @rolfbjarne in #672
- Fix ObjC[Category|Interface]Decl.TypeParamList. by @rolfbjarne in #673
- Add Type.IsObjCInstanceType. by @rolfbjarne in #670
- Add CXXRecordDecl.IsPOD. by @rolfbjarne in #668
- Add IntegerLiteral.UnsignedValue. by @rolfbjarne in #674
- Add Attr.ObjCRuntimeNameMetadataName. by @rolfbjarne in #676
- Implement CXCursor.IsExternC for VarDecls. by @rolfbjarne in #680
- Add ObjCPropertyDecl.GetPropertyAttributes(). by @rolfbjarne in #667
- Add ObjCMethodDecl.MethodFamily. by @rolfbjarne in #671
- Expose ObjCTypeParamDecl->hasExplicitBound|getVariance to ClangSharp. by @rolfbjarne in #677
- Expose AvailabilityAttr in its various forms to ClangSharp. by @rolfbjarne in #669
- Expose NamedDecl->getQualifiedNameAsString() to ClangSharp. by @rolfbjarne in #682
- Improve performance when fetching Decls. by @rolfbjarne in #679
- Updating the version to v20.1.8.2 by @tannergooding in #684
Full Changelog: v20.1.8...v21.1.8.2
v21.1.8
What's Changed
- feat: support single quote digits separator by @davidelettieri in #639
- Migrate to slnx by @tannergooding in #640
- Update testing framework by @ds5678 in #646
- Ensure that AggressiveInlining is emitted for the IID helpers by @tannergooding in #649
- Fix infinite recursion in IsType by @ds5678 in #644
- Improve method naming for conversions to pointers by @ds5678 in #643
- Fix compiler warning by always returning a value. by @rolfbjarne in #650
- Fix a few compiler warnings. by @rolfbjarne in #651
- Update to Clang v21.1.8 by @tannergooding in #656
- Check 'ObjCCategoryDecl->getTypeParamList()' for null before trying to use the result. by @rolfbjarne in #655
- Update assert in CXCursor after update to Clang v21. by @rolfbjarne in #660
- Fix creating ObjCInterfaceType instances. by @rolfbjarne in #662
- Add ObjCMethodDecl.IsPropertyAccessor. by @rolfbjarne in #661
- Added special handling of bool to byte remapping in indirect fields. … by @ghord in #659
- Fix handling ElaboratedType and TypeWithKeyword instances of id/SEL/Class. by @rolfbjarne in #663
- Add ObjCMethodDecl.Selector. by @rolfbjarne in #664
- Updating to libClangSharp v21.1.8.1 by @tannergooding in #666
New Contributors
- @davidelettieri made their first contribution in #639
- @rolfbjarne made their first contribution in #650
- @ghord made their first contribution in #659
Full Changelog: v20.1.2.4...v21.1.8
v20.1.2.4
What's Changed
- Fix missing type casts when using bitfields with remapped types (and some other cases) by @Exanite in #626
- Ensure state is cleared and continue to multi-target .NET 8 for the interop bindings by @tannergooding in #637
Full Changelog: v20.1.2.3...v20.1.2.4
v20.1.2.3
What's Changed
- Ensure the agnostic tool package is still produced by @tannergooding in #622
- Ensure nightly and stable packages also get the agnostic version built by @tannergooding in #623
- Don't include PDB symbols in the release NAOT tool package by @tannergooding in #624
- Make sure to null out the factory after first allocation by @tannergooding in #627
- Adjust how nested anonymous record naming conflicts are resolved by @tannergooding in #628
- Add support for generated instance methods being marked readonly by @tannergooding in #629
- Few more fixes to ensure existing codegen doesn't regress by @tannergooding in #630
Full Changelog: v20.1.2.2...v20.1.2.3
v20.1.2.2
What's Changed
- Update build native documentation by @ds5678 in #602
- Fix missing import of namespace for Unsafe by @yaqian256 in #610
- Remove LLVMSharp files by @ds5678 in #608
- Fix compile error when generating code involving unsigned int bitshifts by @Exanite in #612
- Reduce allocations and improve throughput by @tannergooding in #619
- Add support for per-RID tools by @tannergooding in #620
- Fix the yml by @tannergooding in #621
New Contributors
- @ds5678 made their first contribution in #602
- @yaqian256 made their first contribution in #610
- @Exanite made their first contribution in #612
Full Changelog: v20.1.2.1...v20.1.2.2
v20.1.2.1
What's Changed
- Ensure that the import resolver checks for libclang-20 by @tannergooding in #600
Full Changelog: v20.1.2...v20.1.2.1
v20.1.2
What's Changed
- fix InvalidCastException when inheriting c++ struct constructors by @lishinko in #595
- Rengerate bindings for libClang 20.1.2 by @tannergooding in #596
New Contributors
Full Changelog: v18.1.0.4...v20.1.2
v18.1.0.4
What's Changed
- Add Parameter Types to InheritDoc comments by @curin in #590
- Fix incorrect template argument kind by @MrJul in #578
- Fix crash when accessing property TemplateTypeParmDecl.DefaultArgument by @ceresgalax in #528
- Add AssociatedDecl property to SubstTemplateTypeParamType. by @ceresgalax in #529
- Add DontUseUsingStaticsForGuidMember by @curin in #594
New Contributors
Full Changelog: v18.1.0.3...v18.1.0.4
Previous Next