Skip to content

0.3.0

Choose a tag to compare

@ktoso ktoso released this 14 May 05:44
· 100 commits to main since this release
0.3.0
01642a7

Thank you everyone for your contributions!

Highlights

  • jextract/jni:
    • Improved performance of getting associated values from enum cases
    • Improved control over library names and static library loading blocks
    • Multiple fixes for tuples: including support for returning optional tuples and nesting complex types in them
    • .swiftinterface file reading is now working correctly again
    • Initial qualified lookups for types like MyModule.MyType
    • Nested typealiases and many improvements around typealiseses and specializations

What's Changed

  • Prepare next development cycle after 0.2.0 release by @ktoso in #689
  • jextract/jni: Skip generating empty JNI cache enums by @sidepelican in #690
  • Avoid javadoc linter warnings by @ktoso in #691
  • Small refactorings and cleanups by @sidepelican in #692
  • Add overrideStaticBlockLibraryLoading configuration option by @ktoso in #693
  • jextract: Use fully qualified java.lang.String to avoid shadowing by @sidepelican in #696
  • jextract: Support .swiftinterface files for --input-swift by @sidepelican in #695
  • jextract: Implement identifier escaping for functions and enum cases by @sidepelican in #697
  • Refactor how we pass swift names into SwiftQualifiedTypeName by @ktoso in #698
  • Use loadLibraryWithFallbacks when loading in static{} in jni mode by @ktoso in #701
  • Fix JNI generation for sending closures by @iDevid in #700
  • Support JDK17 style code snippets; {@snippet is only since JDK18 by @ktoso in #702
  • javakit: Add more runtime tests for arrays to the sample app by @ktoso in #703
  • Initial module qualified lookups by @ktoso in #704
  • Fix Java package mapping for dependent modules by @iDevid in #699
  • jextract: Fix duplicate rawValue generation for enums by @sidepelican in #707
  • Lower JDK version for modules not using ffm by @ktoso in #708
  • jextract/jni: Move enum case classes inside the Case interface by @sidepelican in #709
  • Make module imports public to survive internal imports by default by @ktoso in #710
  • Add @suite to test classes missing it by @sidepelican in #713
  • Allow swift-collections up to next major by @tkrajacic in #712
  • jextract: Initial typealias handling by @ktoso in #714
  • Fix Swift documentation parsing and adds - Throws support by @madsodgaard in #716
  • jextract/jni: Use switch expressions in getCase() by @sidepelican in #717
  • jextract: Suppress InternalImportsByDefault related warnings by @sidepelican in #719
  • Refactor to use more strongly-typed interfaces by @sidepelican in #721
  • jextract/jni: Add nativeJavaType to TranslatedResult for explicit type handling by @sidepelican in #722
  • jextract/jni: Support optional tuple return values 2 by @sidepelican in #723
  • jextract/jni: Fix code generation for optional String in tuples by @sidepelican in #724
  • jextract: Fix access level check for MinimumInputAccessLevelMode.package by @sidepelican in #726
  • jextract/jni: Handle single-element tuples correctly by @sidepelican in #725
  • wrap-java: Fix escaped method calls and handle $ prefix by @sidepelican in #729
  • jextract: Support nested typealiases by @sidepelican in #731
  • jextract/ffm: Treat underscore labels as empty suffixes in function overloads by @sidepelican in #735
  • jextract/jni: Handle unexpected types gracefully in Map by @sidepelican in #732
  • jextract/jni: Overhaul enum associated value retrieval by @sidepelican in #727
  • jextract: Fix compilation errors in constrained generic extensions by @sidepelican in #734
  • Fix extension constraint matching for multiple constraints by @ktoso in #736
  • Conformance constraints on specializations by @ktoso in #737
  • jextract/jni: Fix compilation of nested generic types by @sidepelican in #738
  • Make SwiftNominalType.genericArguments non-optional by @sidepelican in #739
  • jextract/jni: Overhaul generic specialization to prevent cache contamination by @sidepelican in #741
  • jextract/jni: Fix label-based overloading for JNI by @sidepelican in #742
  • Build and path handling adjustments to handle both old build system and swift-build by @ktoso in #740
  • Preparing release 0.3.0 by @ktoso in #745

New Contributors

Full Changelog: 0.2.0...0.3.0