0.8.0-wip
- Breaking Change: The generated impl class for interfaces is now an
interface
. - Breaking Change (#792]):
static final String
fields get converted to JString
getters instead of static const String
fields in Dart.
0.7.0
- Breaking Change (#563): Added
JBuffer
and JByteBuffer
classes as default classes for java.nio.Buffer
and java.nio.ByteBuffer
respectively. - Breaking Change: Made the type classes
final
. - Added
ignore_for_file: lines_longer_than_80_chars
to the generated file preamble. - Added an explicit cast in generated
<Interface>.implement
code to allow dart analyze
to pass when strict-casts
is set.
0.6.0
- Breaking Change (#707): Renamed
delete*
to release*
. - Breaking Change (#585): Renamed constructors from
ctor1
, ctor2
, ... to new1
, new2
, ... - Breaking Change: Specifying a class always pulls in nested classes by default. If a nested class is specified in config, it will be an error.
- Breaking Change: Removed
suspend_fun_to_async
flag from the config. It‘s now happening by default since we read the Kotlin’s metadata and reliably identify the suspend fun
s. - Fixed a bug where the nested classes would be generated incorrectly depending on the backend used for generation.
- Fixed a bug where ASM backend would produce the incorrect parent for multi-level nested classes.
- Fixed a bug where the backends would produce different descriptors for the same method.
- Added
enable_experiment
option to config. - Created an experiment called
interface_implementation
which creates a .implement
method for interfaces, so you can implement them using Dart. - Save all
jnigen
logs to a file in .dart_tool/jnigen/logs/
. This is useful for debugging.
0.5.0
- Breaking Change (#746): Removed support for
importMap
in favor of the newly added interop mechanism with importing yaml files. - Breaking Change (#746):
java.util.Set
, java.util.Map
, java.util.List
, java.util.Iterator
and the boxed types like java.lang.Integer
, java.lang.Double
, ... will be generated as their corresponding classes in package:jni
. - Strings now use UTF16.
0.4.0
- Breaking Change (#705): Type arguments are now named instead of positional.
- Type parameters can now be inferred when possible.
- Fixed a bug where passing a
long
argument truncated it to int
in pure dart bindings. - Removed array extensions from the generated code.
- Added the ability to use source dependencies from Gradle.
- Fixed an issue with the field setter.
- Fixed an issue where exceptions were not properly thrown in pure Dart bindings.
0.3.0
- Added the option to convert Kotlin
suspend fun
to Dart async methods. Add suspend_fun_to_async: true
to jnigen.yaml
.
0.2.0
- Support generating bindings for generics.
0.1.1
- Windows support for running tests and examples on development machines.
0.1.0
- Initial version: Basic bindings generation, maven and android utilities