All notable changes to this project will be documented in this file.
3.11 - 2024-08-30
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
- Kotlin version required updated to 1.9.24
- KSP code generator now requires KSP version 1.9.24-1.0.20
3.10 - 2024-05-09
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
- No changes
3.9 - 2024-05-03
- No changes
- 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 - 2023-11-06
- Added missing standard library includes not implicitly included on some compilers
- Modernized CMake file somewhat
- Kotlin version required updated to 1.9.0
- KSP code generator now requires KSP version 1.9.0-1.0.13
3.7 - 2023-04-01
- No changes
- Kotlin version required updated to 1.8.0
- KSP code generator now requires KSP version 1.8.0-1.0.9
3.6 - 2022-05-18
- 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 - 2021-10-09
First release under a new name in this repo.
- Small bug fix to
jstatic_cast
to allow more than one DEFINE_JAVA_CONVERSION for the same type
- 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