NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #5081 most downloaded on crates.io
Flutter/Dart <-> Rust binding generator, feature-rich, but seamless and simple
Last release 22 days ago
12 Sep 2026
Ships unpredictably
gaps range from 2 weeks to 9 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
205 releases · first in 2021
Fix potential name collision with port argument #305 (thanks @valeth)
Separate generated definitions from implementations #298
When running codegen, create folders for output paths if they don't exist #286 (thanks @SecondFlight)
One column per quarter.
Redesign documentation and make it a mdBook #272
syn dependency from macros to speed up #277 (thanks @Desdaemon)Marker attributes for expressiveness #261 (thanks @Desdaemon)
Support enum structs (Rust's expressive enums with fields) #256 (thanks @Desdaemon)
* Bump versions of dependencies
Support field-less enum types #239 (thanks @Desdaemon)
Fix bug that returning u32 from Rust results in wrong value received by Dart #234
* Update example and doc.
Add support for unit return type #198 (thanks @surban)
Enrich metadata of generated ffi calls - now we can have more "reflection" information.
Remove extra newline on empty comment #203 (thanks @Desdaemon)
Implement Vec #193 (thanks @Desdaemon)
Vec<String> #193 (thanks @Desdaemon)ThreadPoolExecutor to make debugging easier when looking at threads.Copy Rust comments over to Dart generated file (#182, thanks @Desdaemon)
Support synchronous function calls in addition to existing asynchronous Future and Stream approaches (#175, #176)
lint for the Dart package.Support more types of the formVec and ZeroCopyBuffer >, such as Vec and ZeroCopyBuffer > to be transformed into Float32List in Dart. (#162, #153)
Vec<primitive_type> and ZeroCopyBuffer<Vec<primitive_type>>, such as Vec<f32>
and ZeroCopyBuffer<Vec<f32>> to be transformed into Float32List in Dart. (#162, #153)Vec<ZeroCopyBuffer<Vec<u8>>> is in
output argument.ffigen emits any [SEVERE] log messages.Wire2Api<Option<T>> generated code.Add Linux and Windows out-of-the-box support for the with_flutter example.
with_flutter example.Add --skip-add-mod-to-lib flag.
--skip-add-mod-to-lib flag.stdarg.h automatically (related: #108 and #53).--llvm-path flag.Enable Option types to be transformed (thanks @Desdaemon)
Option<T> types to be transformed (thanks @Desdaemon)Streams: call function once, "return" multiple times with different data.FlutterRustBridgeSetupMixin (an optional helper class), which allows custom setup hooks before ffi can be
executed.hint parameter in generated Dart code, allowing users to pass custom data to the Dart executor, thus increasing
flexibility.Handler, now it is much easier to customize your own handler functionality.Box::new(FnOnce), thus enables better inlining for ffi function calls.FlutterRustBridgeTimeoutMixin. If used, a timeout exception will be thrown for ffi calls that do not return
within time limit.Generate dummy_method_to_enforce_bundling to avoid "symbols not found" problems in iOS release build
dummy_method_to_enforce_bundling to avoid "symbols not found" problems in iOS release buildFix bugs and add features (details to be written later)
Fix bugs and add features (details to be written later)
Fix bugs and add features (details to be written later)
* Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →