Skip to content

0.2.0

Latest

Choose a tag to compare

@ktoso ktoso released this 09 Apr 01:17
· 20 commits to main since this release
0.2.0
3d52a15

This is a really great release, thank you for all the work to all contributors.

Highlights

  • Improvements in generic handling, especially around Tuples #657 and even labelled tuples #670
  • Specialization support -- you can now "specialize" types in swift-java.config or using a typealias SomethingCool = Something<Cool> in code #664
  • support for #if ... blocks! #678
  • returning strings and throwing funcs in jextract/FFM #651
  • Better support for Dead Code Elimination, especially important for Android #652

And a number of performance and correctness fixes all around jextract and wrap-java.

The complete changelist follows next:

What's Changed

  • update the releasing script with some nuances by @ktoso in #641
  • No dots in messages by @ktoso in #643
  • Add more JNI local frames to method calls by @madsodgaard in #645
  • jextract plugin: prefer gradlew over global gradle by @ktoso in #644
  • Prepare next development cycle after 0.1.2 release by @ktoso in #642
  • Fix compiler warnings by @sidepelican in #646
  • Better @JavaClass detection for JExtract by @madsodgaard in #647
  • jextract-jni: Add type parameters to generated java types by @sidepelican in #648
  • jextract/ffm: Support returning Strings by @ktoso in #651
  • [Android] Add support for emitting symbol list for better DCE, also add docs about binary sizes by @madsodgaard in #652
  • Fix JNI symbols not exposed in release mode by @gmondada in #650
  • Lower minimum macOS version to v13 by @llsc12 in #654
  • jextract: [SwiftType] optional, array, dictionary, and set into nominal type by @sidepelican in #649
  • jextract/wrap-java(!): add filter-include/exclude same as wrap-java has by @ktoso in #655
  • jextract: introduce importedModuleStubs config by @ktoso in #656
  • jextract/ffm: Support throwing funcs in FFM mode by @ktoso in #658
  • jextract: Add single-type mode for jextract by @ktoso in #659
  • Remove from the doc the use of unsafeFlags by @gmondada in #660
  • remove swift-format multiline trailing comma by @ktoso in #662
  • jextract/jni: Support generic types within Optional and Tuple by @sidepelican in #657
  • jextract/jni: Specialization and constrained extension support by @ktoso in #664
  • Fix linker version script output by @madsodgaard in #665
  • Small cleanups by @ktoso in #666
  • jextract/jni: handle UnsafeRawBufferPointer params by @ktoso in #668
  • jextract/jni: support generic params : DataProtocol by @ktoso in #669
  • jextract: LabeledTuple support! by @ktoso in #670
  • Add type name to macro-generated function names by @sidepelican in #674
  • Add Swift 6.3 CI by @ktoso in #672
  • Narrow down java.library.path to prevent loading stale dylibs by @sidepelican in #673
  • jextract: Evaluate IfConfigDecl and add --static-build-config option by @sidepelican in #671
  • Revert "jextract: Evaluate IfConfigDecl and add --static-build-config option" by @ktoso in #677
  • make the jni throwing runtime test actually throw by @ktoso in #675
  • jextract: Evaluate IfConfigDecl and add --static-build-config option 2 by @sidepelican in #678
  • Disable nightly-main for now, until things are more stable by @ktoso in #680
  • Allow configuring the library name to be loaded in swift-java.config by @ktoso in #682
  • jextract: handle nested arrays, e.g. [[UInt8]] by @ktoso in #679
  • jextract/jni: handle tuples with array elements by @ktoso in #685
  • jextract/jni: Make single-type mode available by @sidepelican in #686
  • Preparing release 0.2.0 by @ktoso in #688

New Contributors

Full Changelog: 0.1.2...0.2.0