Releases: smartsheet-mobile/smjni
Releases · smartsheet-mobile/smjni
Release list
3.2 - Last Release
This is the last release of SmJNI
This library is no longer actively maintained or supported.
For an actively maintained and supported fork please migrate to SimpleJNI at https://github.com/gershnik/SimpleJNI
This release adds migration warnings to C++ compilation and JniGen annotation processor invocation to alert you about migration
3.1
3.0
This is a major release focusing on runtime performance
Highlights
- Compilation now requires C++17 compiler
- Greatly reduced amount of memory allocations and copying. Most things are now done at compile, rather than run time
- Improved string conversion time from C++ to Java
- Pervasive noexcept and move semantics to improve code generation
- Using thread_local for thread local storage instead of OS interfaces
- Reduced size of java_static_method and java_constructor which in turn greatly reduces size for class wrappers that contain them
- Proper container interfaces for arrays and direct buffers
Breaking changes
In general client code using jnigen to generate all native interfaces will not be affected. If you do things manually the following will require adjustment:
- Registration of native methods is now done differently
- java_static_method has an additional template parameter for the class it operates on
- java_static_method and java_constructor require additional argument for the class object when invoked