Skip to content

build: move the pinned toolchain to Flutter 3.47.5 - #82

Merged
luisburgos merged 2 commits into
mainfrom
build/flutter-3-47
Sep 25, 2026
Merged

luisburgos merged 2 commits into
mainfrom
build/flutter-3-47

Conversation

@luisburgos

Copy link
Copy Markdown
Owner

Moves the pinned toolchain from Flutter 3.44.0 to 3.47.5 (Dart 3.13.4): .fvmrc, which local fvm and the CI jobs read, the license check's separately pinned flutter_version, and the pre-push hook's comment naming the version.

The pubspec's flutter: ">=3.41.0" lower bound is unchanged. It constrains the package's consumers, not this repository's toolchain, so no release is needed.

Flutter 3.47's tooling added build/** and web/** to the analyzer excludes on first run. Those edits are kept, since they only stop the analyzer from reading generated output.

Two lints are new under the 3.47.5 analyzer and each fails flutter analyze, so they are fixed here:

  • unnecessary_unawaited in FlowinChipGroupViewPager: 3.47 annotates PageController.animateToPage with @awaitNotRequired, so the unawaited wrapper is dropped. The call is unchanged at runtime.

  • matching_super_parameters in the showcase's ThemeModeController: ValueNotifier's positional parameter is now _value, so the super parameter takes that name. Writing : super(initial) instead trips use_super_parameters.

  • lefthook run pre-push --all-files passes on 3.47.5: format, analyze, tests, spell-check and the version-bump guard.

  • Every sub-package passes pub get, format and analyze, plus tests where it has them.

  • Line coverage from flutter test --coverage stays at 100%.

  • The published showcase still builds with --wasm.
    Not verified: the very_good test --min-coverage 100 gate itself, since very_good_cli is not installed locally. That is this pull request's own CI.

The very_good_workflows references stay pinned at v1.21.0, which also works on Dart 3.13. Dependabot's bump to v1.21.1 becomes safe to accept once this merges.

Bump the SDK every tool reads: .fvmrc for local fvm and the CI jobs
that derive from it, the license check's separately pinned
flutter_version, and the pre-push hook's comment naming the version.

The pubspec's flutter lower bound is left alone. It constrains the
package's consumers, not this repository's toolchain.

Flutter 3.47's tooling added build/ and web/ to the analyzer excludes
on first run; those edits are kept, since they only stop the analyzer
from reading generated output.

Verified on 3.47.5 (Dart 3.13.4): format, analyze and tests pass for
the package and every sub-package, and the published site still builds
with --wasm. Line coverage is unchanged from 3.44.0.
Two diagnostics are new under the 3.47.5 analyzer, and each blocks
flutter analyze:

- unnecessary_unawaited in FlowinChipGroupViewPager: 3.47 annotates
  PageController.animateToPage with @awaitNotRequired, so wrapping it in
  unawaited is now redundant. The call is unchanged at runtime.
- matching_super_parameters in the showcase's ThemeModeController:
  ValueNotifier's positional parameter is now named _value, so the super
  parameter takes that name. Spelling it out as super(initial) instead
  trips use_super_parameters.
@luisburgos
luisburgos merged commit 25aac68 into main Sep 25, 2026
8 checks passed
@luisburgos
luisburgos deleted the build/flutter-3-47 branch September 25, 2026 20:23
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.

1 participant