NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #5292 most downloaded on pub.dev
Rust for native business logic, Flutter for flexible and beautiful GUI
Last release today
07 Oct 2026
Release timing varies
gaps range from 2 weeks to 5 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
6 versions withdrawn
withdrawn after publishing
3 years old
95 releases · first in 2023
One column per quarter.
chore: adopt damem layout for agent memory and skills by @temeddix in #696
Use Ty for Python type checking by @temeddix in #676
Full Changelog: v8.10.0...v8.10.1
--locked.Bump docker/setup-buildx-action from 3 to 4 by @dependabot [bot] in #670
Full Changelog: v8.9.1...v8.10.0
Update Cargokit by @temeddix in #663
Full Changelog: v8.9.0...v8.9.1
debug_print! macro uses debugPrint from Flutter.Bump docker/build-push-action from 5 to 6 by @dependabot [bot] in #654
Full Changelog: v8.8.1...v8.9.0
Use ALL Ruff rules by @temeddix in #652
ALL Ruff rules by @temeddix in #652Full Changelog: v8.8.0...v8.8.1
Make Clippy happy and fix CI broken due to GitHub changes by @temeddix in #644
Cargo.lock to the CLI crate by @temeddix in #645Full Changelog: v8.7.2...v8.8.0
fix: Fix #630 by @Losses in #633
Full Changelog: v8.7.1...v8.7.2
Check signal name only for signals by @markuslevonyak in #626
Full Changelog: v8.7.0...v8.7.1
Bump creyD/prettier_action from 4.5 to 4.6 by @dependabot in #621
rustSignalStream by @temeddix in #624Full Changelog: v8.6.0...v8.7.0
rustSignalStream is possible. This is useful when you're building and mounting a new widget.Respect Serde's skip attribute by @Noah765 in #617
Full Changelog: v8.5.0...v8.6.0
#[serde(skip)] attributes are supported.Now SignalPiece can be derived on structs with recursive structure.
SignalPiece can be derived on structs with recursive structure.Experimental support for eLinux has been added.
The problem of libhub.so not being found on Android has been fixed. This was because of the new Flutter template updated by Google. If you experience
libhub.so not being found on Android has been fixed. This was because of the new Flutter template updated by Google. If you experience any issues, we recommend replacing the android directory under the Flutter project with the latest one.Now signal structs with numbers in their names work properly with rinf gen.
rinf gen.DartSignalBinary generated code contained an extra curly bracket.Now finalizeRust properly blocks the Dart thread until Rust async runtime is completely dropped.
finalizeRust properly blocks the Dart thread until Rust async runtime is completely dropped.The trait bounds of signal traits have been reorganized.
DartSignal and DartSignalBinary are now non-generic traits. This allows for cleaner and more straightforward signal handling.
DartSignal and DartSignalBinary are now non-generic traits. This allows for cleaner and more straightforward signal handling.To migrate from Rinf version 7, refer to this section in the documentation.
- This is a release candidate.
- This is a beta version.
- This is an alpha version.
Pinned the version of automatically installed protoc.
protoc.It is now possible to use other Flutter packages that rely on Rust by removing a mechanism that might cause symbol conflicts.
Flutter tests now run on Linux, just as they do on other platforms.
Deprecated dart:js and dart:html have been replaced with dart:js_interop and package:web.
dart:js and dart:html have been replaced with dart:js_interop and package:web.Fixed JavaScript bindings on the web, resolving errors related to the missing rinf JavaScript object in web workers.
rinf JavaScript object in web workers.Upgraded allo-isolate to fix crashes on Android.
allo-isolate to fix crashes on Android.Fixed a problem where generated Rust message structs were unable to import other messages.
Optimized certain async APIs in the rinf crate for better performance.
rinf crate for better performance.The initial template and example code has been improved.
To migrate from Rinf version 6, please refer to this section in the documentation.
tokio. While it is provided by default in the template, you can now choose whichever async runtime you prefer.flutter run command with the necessary arguments can now be obtained by running rinf server.- This is a beta version.
- This is an alpha version.
Now it's possible to add attributes to generated message structs in Rust.
Now, the message channels work after reopening the app following the use of the back button on mobile devices.
The return type of Rust's main function can now be anything.
main function can now be anything.New feature bevy for treating Dart signals as Bevy events was added.
bevy for treating Dart signals as Bevy events was added.The get_dart_signal_receiver function now returns Result. You need to use unwrap or ? to retrieve Dart signal receivers from the generated message str
get_dart_signal_receiver function now returns Result. You need to use unwrap or ? to retrieve Dart signal receivers from the generated message structs.assignRustSignal to the initializeRust function, which can be imported using import 'package:rinf/rinf.dart'; in Dart.rt-multi-thread crate feature.backtrace crate feature.Fixed linefeed problem in published files.
Generated message channels are now more efficient.
finalizeRust() function in Dart has been removed. The tokio async runtime, which holds Rust logic, still drops automatically when the app ends.prost version to 0.12.6.Fixed a bug with Dart's extension methods in the generated message code.
Now it's possible to set the dynamic library's path.
rinf message generates more memory-efficient and cleaner code.Early Dart signals are now stored in the tokio channel instead of being ignored. Their performance is also slightly better.
rinf template command anymore.tokio is enabled by default in the template, not tokio_with_wasm.rinf.message.rust_serde, was added to make generated Rust message files compatible with serde.Early Dart signals have become more stable.
Now the memory allocation and drop is done in each language.
This version supports Flutter 3.22.
Now sendSignalToRust and send_signal_to_dart methods no longer require null or None, making the API much cleaner. To make them include binary data, wr
sendSignalToRust and send_signal_to_dart methods no longer require null or None, making the API much cleaner. To make them include binary data, write [RINF:DART-SIGNAL-BINARY] or [RINF:RUST-SIGNAL-BINARY] in Protobuf files.Allowed enum and oneof statements to work in Protobuf message files.
enum and oneof statements to work in Protobuf message files.- Fixed a linting issue.
Updated tokio_with_wasm to a newer version that addresses performance issues with spawn_blocking.
tokio_with_wasm to a newer version that addresses performance issues with spawn_blocking.sample_functions.rs file.Added support for some Linux distributions where patching Flutter SDK is not possible.
flutter upgrade --force.cd error on Windows.pub.dev package score.Now early Rust signals on startup works properly, even if the widgets are not built yet. rustSignalStream will remember Rust signals that were receive
rustSignalStream will remember Rust signals that were received before widgets were built, and give them to the first listener.Now the native library file is loaded as dynamic library, not static library, on iOS and macOS, like other platforms. This reduces the possibility of
rinf template checks pubspec.yaml instead of lib/main.dart to ensure that the current folder is a Flutter project.The start and stop mechanism of Rust has become more stable.
Fixed a small glitch with codegen.
The interface code has been organized. Now the bridge Rust module is gone and the API makes more sense. Please refer to the example code to upgrade.
bridge Rust module is gone and the API makes more sense. Please refer to the example code to upgrade.Now custom installation of protoc works. This is useful when you don't have full access to GitHub APIs, which is needed for automatic protoc installat
protoc works. This is useful when you don't have full access to GitHub APIs, which is needed for automatic protoc installation.Now rustSignalStreams listen can be called multiple times.
rustSignalStreams listen can be called multiple times.- Improved CLI output texts. - js Dart package was removed.
js Dart package was removed.Your coding agent can read these notes before it upgrades. Set up the MCP server →