Releases: gershnik/SimpleJNI
Releases · gershnik/SimpleJNI
3.11
Native Code
java_string_create
now has overloads that acceptchar8_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 movablejava_string_access
gained more vector-like methods:cbegin
,cend
,rbegin
,rend
,crbegin
,crend
,data
,empty
,at
,front
andback
.java_array_access
is now properly movablejava_array_access::at()
is no longer erroneously markednoexcept
- Under C++20,
java_array_access
now properly satisfiesstd::ranges::contiguous_range
concept for arrays of primitive types andstd::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
andjava_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
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
Native Code
- No changes
Annotation processors
- You can now use
@CalledByNative
annotation on Java/Kotlinenum
members. - Kotlin version required updated to 1.9.23
- KSP code generator now requires KSP version 1.9.23-1.0.20
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
3.6
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