Skip to content

fix!: raise the minimum Flutter to 3.35.5 for FRB 2.13 - #27

Merged
iota9star merged 4 commits into
mainfrom
fix/raise-minimum-flutter-3355
Sep 30, 2026
Merged

iota9star merged 4 commits into
mainfrom
fix/raise-minimum-flutter-3355

Conversation

@iota9star

Copy link
Copy Markdown
Member

Summary

The v3.3.2 publish run failed in the minimum-compatibility fixture: flutter_rust_bridge 2.13.0 (merged in #26) requires Dart SDK >=3.9.2, and the previous floor of Flutter 3.24.0 / Dart 3.5.0 cannot resolve it.

This raises the supported toolchain floor to Flutter 3.35.5 / Dart 3.9.2 (the stable release that ships Dart 3.9.2), across:

  • pubspec.yaml environment (sdk: ^3.9.2, flutter: ">=3.35.5")
  • the minimum-compatibility fixture SDK range
  • libfjs/cargokit.yaml flutter_version
  • precompile-binaries.yml FLUTTER_VERSION
  • the self-check exact-line invariants

Verified locally by downloading a real Flutter 3.35.5 SDK and running tool/check_minimum_flutter_compatibility.sh --expected-version 3.35.5: dependency resolution succeeds and the public API compiles.

Consumers on Flutter <3.35.5 can stay on fjs 3.3.1 (FRB 2.12). Marked as a breaking CHANGELOG entry for 3.3.2.

FRB 2.13.0 requires Dart SDK >=3.9.2, so the previous 3.24.0/Dart
3.5.0 floor can no longer resolve the runtime dependency; the
minimum-compatibility fixture failed during the v3.3.2 publish.
Raise the floor to Flutter 3.35.5 (the release that ships Dart
3.9.2) across pubspec, cargokit pins, the precompile workflow, and
the self-check invariants. Verified locally by compiling the public
API against a real 3.35.5 SDK.
Copilot AI balanced review requested due to automatic review settings September 30, 2026 04:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The toolchain floors and their validation points are consistently updated with no unresolved issues.

Review effort: Balanced
Findings: None

What changed in this PR

Raises the minimum supported Flutter/Dart versions to satisfy FRB 2.13.0 requirements.

Changes:

  • Sets Flutter 3.35.5 and Dart 3.9.2 as minimum versions.
  • Aligns precompiled-binary tooling and compatibility checks.
  • Documents the breaking compatibility change.
File Description
pubspec.yaml Raises package SDK constraints.
CHANGELOG.md Documents the breaking toolchain requirement.
libfjs/​cargokit.yaml Updates the precompile recipe’s Flutter version.
.github/​workflows/​precompile-binaries.yml Runs precompilation with Flutter 3.35.5.
tool/​check_minimum_flutter_compatibility.sh Updates the compatibility fixture’s Dart constraint.
tool/​check_darwin_package_support.sh Updates synchronized-version assertions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

The Darwin job pinned Flutter 3.44.0, whose Dart formatter rewrites
one FFI signature in the generated bridge differently than current
stable, so regeneration was not reproducible between the pinned job
and typical dev machines. Use the stable channel like the build legs
so the regen check, CI, and local development share one formatter.
Dart 3.13.4 (Flutter 3.47.5, what CI stable resolves to) formats
the generated bridge files differently than 3.13.1; regenerate with
the matching formatter so the reproducibility check passes on CI.
@iota9star
iota9star merged commit 8acc949 into main Sep 30, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants