Repository navigation
feat: upgrade flutter_rust_bridge to 2.13.0, release 3.3.2 - #26
Merged
Merged
Conversation
Regenerate the bindings with codegen 2.13.0, bump the runtime dependency on both sides (the Rust side pins =2.13.0, the root Dart dependency stays capped to the codegen minor line), install codegen 2.13.0 in CI, and release as 3.3.2. The bridge content hash is unchanged from 2.12.0, so the wire format is compatible.
pub does not support the = operator and warns when a dependency is pinned to a single version. The flutter_rust_bridge pin is deliberate (the bridge enforces runtime == codegen), so the release script now accepts exactly that one warning and still fails on anything else.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The publish gate can accept duplicate whitelisted warnings or mask another nonzero publish failure.
Review effort: Balanced
Findings: 1
What changed in this PR
Upgrades Flutter Rust Bridge to 2.13.0 and prepares the synchronized 3.3.2 release.
Changes:
- Synchronizes Dart, Rust, CI, lockfiles, podspecs, and generated bindings.
- Adds selective publish-warning handling.
- Updates analyzer exclusions and changelog.
| File | Description |
|---|---|
tool/prepare_darwin_release.sh |
Adds publish-warning filtering. |
tool/check_darwin_package_support.sh |
Updates release invariants. |
pubspec.yaml |
Bumps package and FRB versions. |
macos/fjs.podspec |
Bumps macOS pod version. |
libfjs/src/frb_generated.rs |
Regenerates Rust bindings. |
libfjs/Cargo.toml |
Bumps crate and FRB versions. |
libfjs/Cargo.lock |
Updates locked Rust dependencies. |
lib/src/frb/frb_generated.web.dart |
Updates generated web metadata. |
lib/src/frb/frb_generated.io.dart |
Updates generated native metadata. |
lib/src/frb/frb_generated.dart |
Updates generated bridge metadata. |
lib/src/frb/api/value.dart |
Regenerates value API metadata. |
lib/src/frb/api/source.dart |
Regenerates source API metadata. |
lib/src/frb/api/runtime.dart |
Regenerates runtime API metadata. |
lib/src/frb/api/error.dart |
Regenerates error API metadata. |
lib/src/frb/api/engine.dart |
Regenerates engine API metadata. |
lib/src/frb/api/bytecode.dart |
Regenerates bytecode API metadata. |
ios/fjs.podspec |
Bumps iOS pod version. |
example/pubspec.lock |
Updates example dependencies. |
example/analysis_options.yaml |
Excludes generated platform directories. |
darwin/fjs.podspec |
Bumps Darwin pod version. |
CHANGELOG.md |
Documents release 3.3.2. |
analysis_options.yaml |
Extends analyzer exclusions. |
.github/workflows/build-all-platforms.yml |
Installs FRB codegen 2.13.0. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+98
to
+101
| frb_pin_warnings="$(grep -c 'should allow more than one version' "$publish_log" || true)" | ||
| unexpected_warnings=$((total_warnings - frb_pin_warnings)) | ||
| if [ "$unexpected_warnings" -gt 0 ] || | ||
| { [ "$publish_status" -ne 0 ] && [ "$frb_pin_warnings" -eq 0 ]; } || |
The floating nightly installed locally was from June while CI installs the current one, and the newer rustc prints one fewer trait impl into the ignore header. Regenerate so both agree.
This was referenced Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Upgrades
flutter_rust_bridgefrom 2.12.0 to the latest 2.13.0 on both sides of the bridge and releases it as 3.3.2.frb_generated.dart/frb_generated.rs); the bridge content hash is unchanged from 2.12.0, so the wire format stays compatible.flutter_rust_bridge = "=2.13.0"(FRB writes this itself during codegen); the root Dart dependency pins the bare exact2.13.0— pub has no=operator, and a single-version constraint is deliberate because FRB enforces runtime == codegen at run time.tool/prepare_darwin_release.shnow tolerates exactly that one expected warning and still fails the release on any other warning or error; the self-check asserts the whitelist stays wired (and--ignore-warningsremains forbidden).flutter_rust_bridge 2.13.0(plus its new transitiveloggingdependency) andfjs 3.3.2only.Local validation: 626 Rust tests, 129 build_tool Dart tests, FRB regeneration idempotence under codegen 2.13.0 + floating nightly + cargo-expand 1.0.126, structure self-check, and a clean-tree publish dry-run.