NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #23 most downloaded on pub.dev
Utilities for working with Foreign Function Interface (FFI) code.
Last release 7 months ago
11 Feb 2026
Release timing varies
gaps range from 2 weeks to 11 months
Nearly every release is documented
notes for 20 of 21 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
32 releases · first in 2019
Add ProtocolExtension.setupLogger , which the hooks runner calls to provide the logger used for validation diagnostics before any other method is invo
ProtocolExtension.setupLogger, which the hooks runner calls to provideHookInputUserDefines.path mangling absolute Windows paths: the driveHookInputUserDefines.baseUri, which can be used to resolve pathsAdd default parameter names for callbacks.
One column per quarter.
Require Dart 3.7.0 or greater to opt in to tall style formatting.
Use package:dart_flutter_team_lints.
package:dart_flutter_team_lints.DynamicLibrary.process() to @Native external functions.
https://github.com/dart-lang/native/issues/1401Update repository to point to dart-lang/native.
Migrate elementAt use to operator +.
elementAt use to operator +.Added Architecture.arm64e .
Architecture.arm64e.free (nativeFree) from malloc and
calloc allocators.Added package topics to the pubspec file.
Only zero out memory on successful allocation on Windows.
Breaking change : Overrode == and hashCode in OS , Architecture , and Sanitizer to support custom targets. These objects can no longer be used as keys…
package:hooks to ^2.2.0.== and hashCode in OS, Architecture, and Sanitizer to support custom targets. These objects can no longer be used as keys of const maps and sets.
final (runtime) maps and sets instead of const, or use the string representations (e.g., OS.name, Architecture.name) as keys if const is required.CoTaskMemAlloc and CoTaskMemFree,
which will enable support for NativeFinalizer.Revert added common C integer types as ABI-specific integers. Instead, these are available in Dart 2.17.
Revert added common C integer types as ABI-specific integers. Instead, these are available in Dart 2.17.
This release requires Dart 2.16.0 or greater.
This release requires Dart 2.16.0 or greater.
These common C integer types will make their way into dart:ffi in 2.17 and be deprecated from this package. Having them in this package enables using…
Added common C integer types as ABI-specific integers. These common C integer
types will make their way into dart:ffi in 2.17 and be deprecated from this
package. Having them in this package enables using them in Dart 2.16.
This pre-release requires Dart 2.16.0-118.0.dev or greater.
Fixed unhandled exception in withZoneArena (#107).
Fixed unhandled exception in withZoneArena (#107).
Fix quadratic deserialization performance and index corruption in Recordings.fromJson .
Recordings.fromJson.Adds a sanity check to Pointer<Utf8> and Pointer<Utf16> extension methods
that receiver is not nullptr.
Added Recordings.+ to combine two recordings.
Recordings.+ to combine two recordings.Adds the arena allocator.
Moves from static analysis with lints in package:pedantic to package:lints.
Removes all deprecated methods, use 0.3.0-nullsafety.3 for migration.
Bumping the version of this package to 1.0.0.
Removes all deprecated methods, use 0.3.0-nullsafety.3 for migration.
Deprecates the static methods on Utf8 and Utf16 and introduces extension methods to replace them.
Deprecates the static methods on Utf8 and Utf16 and introduces
extension methods to replace them.
Adds back in deprecated allocate and free to ease migration. These will be removed in the next release.
Adds back in deprecated allocate and free to ease migration.
These will be removed in the next release.
This pre-release requires Dart 2.12.0-259.9.beta or greater.
Nothing published for this version
This pre-release requires Dart 2.12.0-259.8.beta or greater.
This pre-release requires Dart 2.12.0-259.8.beta or greater.
Note that this pre-release does not work in Flutter versions containing Dart
2.12.0-260.0.dev - 2.12.0-264.0.dev.
Using Allocator.call throws a NoSuchMethodError in these versions.
See Flutter Engine #23954 for more info.
This means .ref is no longer available and Pointer should be used. See breaking change #44622 for more info.
Changes Utf8 and Utf16 to extend Opaque instead of Struct.
This means .ref is no longer available and Pointer<Utf(..)> should be used.
See breaking change #44622 for more info.
Removes allocate and free.
Instead, introduces calloc which implements the new Allocator interface.
See breaking change #44621 for more info.
This pre-release requires Dart 2.12.0-265.0.dev or greater.
Adds an optional named length argument to Utf8.fromUtf8().
Adds an optional named length argument to Utf8.fromUtf8().
Pre-release (non-stable) release supporting null safety. Requires Dart 2.12.0 or greater.
Pre-release (non-stable) release supporting null safety. Requires Dart 2.12.0 or greater.
Stable release incorporating all the previous dev release changes.
Stable release incorporating all the previous dev release changes.
Bump SDK constraint to >= 2.6.0.
Replace use of deprecated asExternalTypedData with asTypedList.
Replace use of deprecated asExternalTypedData with asTypedList.
Adds top-level allocate () and free() methods which can be used as a replacement for the deprecated Pointer.allocate () and Pointer.free() members in…
allocate<T>() and free() methods which can be used as a
replacement for the deprecated Pointer.allocate<T>() and Pointer.free()
members in dart:ffi.Nothing published for this version
* Add basic Utf16 support
* Fix documentation link
* Expand readme
Initial release supporting Utf8
Your coding agent can read these notes before it upgrades. Set up the MCP server →