Skip to content

Releases: dart-lang/native

package:hooks v1.0.3

21 Apr 09:33
4fd805a

Choose a tag to compare

  • Deprecated recordedUsagesFile in LinkInput.
  • Added recordedUses getter to LinkInput.
  • Added dependency on package:record_use.

package:native_toolchain_c v0.18.0

21 Apr 09:33
4fd805a

Choose a tag to compare

Pre-release
  • Made CLinker.run Logger argument optional. It now defaults to a logger
    printing to stdout and stderr.
  • For LinkerOptions.treeshake, skip bundling a dynamic library if symbolsToKeep is empty.

package:hooks_runner v1.2.1

14 Apr 09:03
2f0b168

Choose a tag to compare

  • Add PROCESSOR_ARCHITECTURE to environment variables allowlist.

package:hooks_runner v1.2.0

10 Apr 07:50
ba57a55

Choose a tag to compare

  • Add toJson() and fromJson() to BuildResult to support serialization.

jnigen-v0.16.0

08 Apr 05:29
1509309

Choose a tag to compare

0.16.0

  • Breaking Change: All Java wrapper classes have been migrated to extension
    types. The main effects are:
    • No more nullable JType classes, only JType classes, and the JType
      class is simplified.
    • It is no longer necessary to pass around the JType in many cases where it
      used to be required.
  • Add docs about debugging.
  • Add support for Kotlin interfaces with suspend functions. These can now be
    implemented using Dart functions that return a Future.
  • Namespace primitive types to avoid collisions with generated API names, eg
    bool.
  • Kotlin suspend functions with no result (a return type of Unit) now return
    Future<void> in Dart instead of Future<JObject>.
  • Improve error message for unsupported Java class file versions in summary
    generation.
  • Generated extension types now implement their Java interfaces.
  • Instance members of generated extension types have been moved to extension
    methods.
  • Breaking Change: Class methods like getFoo, isFoo, and setFoo are now
    getters and setters in Dart.
  • Add compile time version checks to verify consistency of package:jni's
    versions vs JNIgen's generated code.

jni_flutter-v1.0.1

08 Apr 05:30
c7ebf68

Choose a tag to compare

1.0.1

  • Add an example app.
  • Fixed release mode crash by adding Proguard rules to preserve plugin Java
    classes.

jni_flutter-v1.0.0

08 Apr 05:30
1509309

Choose a tag to compare

1.0.0

  • Initial version: Adds the androidApplicationContext and
    androidActivity(int engineId) APIs, which used to be part of package:jni.

jni-v1.0.0

08 Apr 05:29
1509309

Choose a tag to compare

1.0.0

  • Breaking Change: The Flutter specific APIs Jni.androidApplicationContext
    and Jni.androidActivity(int engineId) have been moved to a new
    package:jni_flutter. If you are using package:jni on Android you may need to
    add this new package as a dependency.
  • Breaking Change: All Java wrapper classes have been migrated to extension
    types. The main effects are:
    • All collections (JList, JMap etc) are now direct code generated wrappers
      around the Java objects, so are less Darty. Instead there are now Darty
      adapter classes you can access via asDart().
    • No more nullable JType classes, only JType classes, and the JType
      class is simplified.
    • It is no longer necessary to pass around the JType in many cases where it
      used to be required.
  • Added Jni.captureStackTraceOnRelease which defaults to false. When this is
    set, the stack traces of the release points will be stored for JObjects to
    help debug DoubleReleaseError and UseAfterReleaseErrors. This includes the
    points where JObjects have been registered to be released by an arena via
    JObject.releaseBy.
  • Changed the behavior of JObject.releasedBy. It now does not throw a
    DoubleReleaseError if the object was manually released before the end of
    arena.
  • Added JThrowable class which inherits from JObject and implements
    Exception.
  • Breaking Change: JniException has been deleted. Java exceptions are now
    thrown as JThrowable instead. JThrowable holds an actual Java exception,
    instead of just holding a string message. It's a JObject, so the usual
    .isA and .as methods work to cast the JThrowable to the underlying Java
    exception.
  • Breaking Change: Class methods like getFoo, isFoo, and setFoo are now
    getters and setters in Dart.
  • Breaking Change: APIs of JBoolean, JByte, JCharacter, JDouble,
    JFloat, JInteger, JLong, JNumber, JShort, and JString have changed
    to be more consistent with other APIs. For example, JBoolean.booleanValue is
    now JBoolean.toDartBool.
  • Fixed bugs that were
    causing crashes in interfaces after app close and reopen.
  • Add compile time version checks to verify consistency of package:jni's
    versions vs JNIgen's generated code.

package:hooks_runner v1.1.1

25 Mar 12:18
abe1770

Choose a tag to compare

  • Bump package:record_use to 0.6.0.

package:record_use v0.6.0

25 Mar 12:18
abe1770

Choose a tag to compare

Pre-release
  • Breaking Change: Changed the JSON format and Dart API in various ways.