Skip to content

Releases: gershnik/SimpleJNI

3.11

30 Aug 10:41
Compare
Choose a tag to compare

Native Code

  • java_string_create now has overloads that accept char8_t *, (char8_t *, size_t), char16_t *, (char16_t *, size_t) and, under C++20, any contiguous range of these types (e.g. std::vector, std::string_view, std::span etc.)
  • java_string_access is now movable
  • java_string_access gained more vector-like methods: cbegin, cend, rbegin, rend, crbegin, crend, data, empty, at, front and back.
  • java_array_access is now properly movable
  • java_array_access::at() is no longer erroneously marked noexcept
  • Under C++20, java_array_access now properly satisfies std::ranges::contiguous_range concept for arrays of primitive types and std::ranges::random_access_range for arrays of objects.
  • Various bug fixes for java_array_access iterator methods
  • Under C++20, java_array_create for primitive array types now accepts any input range as source
  • Under C++20, java_array_get_region and java_array_get_region now accept any contiguous ranges as source/destination

Annotation processors

  • Kotlin version required updated to 1.9.24
  • KSP code generator now requires KSP version 1.9.24-1.0.20

3.10

10 May 06:55
Compare
Choose a tag to compare

Native Code

  • java_string_create(JNIEnv *, const char *, size_t) exposed publicly (thank you @JonathanLennox)
  • Reduced amount of allocations during exception message extraction
  • Reduced amount and complexity of template instanciations during compilation
  • java_frame is now movable
  • Headers now correctly check for C++17 rather than C++14

Annotation processors

  • No changes

3.9

03 May 19:30
Compare
Choose a tag to compare
3.9

Native Code

  • No changes

Annotation processors

  • You can now use @CalledByNative annotation on Java/Kotlin enum members.
  • Kotlin version required updated to 1.9.23
  • KSP code generator now requires KSP version 1.9.23-1.0.20

3.8

06 Nov 08:50
Compare
Choose a tag to compare
3.8

Native Code

  • Added missing standard library includes not implicitly included on some compilers
  • Modernized CMake file somewhat

Annotation processors

  • Kotlin version required updated to 1.9.0
  • KSP code generator now requires KSP version 1.9.0-1.0.13

3.7

02 Apr 06:52
Compare
Choose a tag to compare
3.7

Native Code

  • No changes

Annotation processors

  • Kotlin version required updated to 1.8.0
  • KSP code generator now requires KSP version 1.8.0-1.0.9

3.6

18 May 21:36
Compare
Choose a tag to compare
3.6

Refresh update.

  • GCC 12 compiler is now supported
  • KSP Code Generator: KSP dependency updated to 1.6.21-1.0.5
  • Samples updated with latest Android/Kotlin/Gradle dependencies

3.5

09 Oct 21:46
Compare
Choose a tag to compare
3.5

First release under a new name in this repo.

New features

Native code

  • Small bug fix to jstatic_cast to allow more than one DEFINE_JAVA_CONVERSION for the same type

JniGen generator

  • JNIGen generator is now on Maven Central instead of a private maven repo.
  • KSP annotation processor is now available in addition to Java/KAPT one.
  • Amount of Gradle code needed to integrate JniGen has been greatly reduced
  • /samples directory now contain updated JniGen integration samples.

See Integration doc for more details about new Maven config and KSP processor