Migrate to Flutter 3.47 and Dart 3.13, support material_ui, release 5.0.0-dev.1 - #25
Merged
Merged
Conversation
…essiveOnContainerColors
…create huge code diff when all lints are corrected
…big diff but no code change)
…port and work with Dart 3.13
…t compile breaking Dart 3.13 final on parameters.
…ed FlexColorPicker lib needs it until it is also upgraded.
… v5.0.0-dev.1 just because we will publish a dev release of the pkg first
…d of flutter format
…stale comments and docs
…am16` property was missing from `copyWith`, `operator ==`, `hashCode` and `debugFillProperties`.
… that upstream does not have.
…olor awkward-zone tone 60 branch Covers the last IDE-reported coverage misses: - CorePalette and CorePalettes operator == identical(this, other) short circuits via self comparison tests, plus explicit CorePalette equality and hashCode checks. - DynamicColor.getTone isBackground awkward-zone adjustment to tone 60, taken when tone 49 cannot reach the required contrast ratio against a dark background. The existing test only covered the tone 49 branch. These lines carry no DA records in flutter test --coverage lcov output, so they only show up in branch-aware IDE coverage tooling. All lib/src files now report 100% coverage there as well.
… reduced the published package archive from 13 MB to about 0.5 MB. Untracked the git-ignored, Flutter tool generated example platform files (`generated_plugin_registrant.*`, `generated_plugins.cmake` and `GeneratedPluginRegistrant.swift` for Windows, Linux and macOS). They are regenerated by `flutter pub get` and builds, and current Flutter project templates git-ignore them. They are no longer part of the published package either. - Added a root `.pubignore`. It restates the publishing-relevant `.gitignore` rules (a `.pubignore` replaces the `.gitignore` in the same directory for publishing decisions) and additionally excludes internal repository content from the published archive: `AGENTS.md`, `docs/`, `scripts/`, and the image folders `doc_assets/` and `example/screenshots/`. The README references its images via absolute GitHub URLs, so pub.dev does not need them in the archive. Excluding `docs/` also resolves the pub layout warning about a plural top-level docs directory.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #25 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 43 43
Lines 2916 2770 -146
==========================================
- Hits 2916 2770 -146 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Motivation
Migrate FlexSeedScheme to Flutter 3.47 and Dart 3.13 and prepare the 5.0.0-dev.1 release. Per Flutter's official recommendation the bump of the required Flutter SDK makes this a major release, even though it contains no breaking or new APIs. The dev release is published first to verify pub pana scoring, the Codecov upload and the web demo deploy before the official 5.0.0.
Functional changes
Migration
material_uiandcupertino_uipackages.page_width: 120formatting (large mechanical diffs).MaterialUiCompatibilityBridgefor the not-yet-migrated FlexColorPicker (to be removed in 5.0.1).Bug fixes (the only produced-color change)
FlexTones.surfaceTintToneis now actually applied to the producedColorScheme.surfaceTinton thetonespath, as always intended. PreviouslysurfaceTintwas always assignedprimary. ChangessurfaceTintonly, forultraContrast,candyPop,chromaand customFlexToneswheresurfaceTintTone != primaryTone. Visual impact is minimal (elevation overlay only). Documented under BREAKING in the changelog.FlexTones.useCam16was missing fromcopyWith,operator ==,hashCodeanddebugFillProperties. Fixed; produces no color changes (Cam16.fromIntandHct.fromIntreturn identical hue/chroma), but equality previously reported configs differing only inuseCam16as equal.surfaceTintfallback deliberately staysMaterialDynamicColors.primaryforColorScheme.fromSeedparity; now documented in code so it is not mistaken for a bug.Documentation
FlexSchemeVariantUI info strings (description/configDetails), example app comments and UI texts, tests, CONTRIBUTING, workflow comments.respectMonochromeSeedheadline bullet and a Color Channel Getters section. All screenshots intentionally unchanged.Tests and coverage
candyPopandchroma; expressive opt-out branch lock;useCam16regression tests; 14 MCUcoverage:ignoremarkers replaced with real tests (DynamicColor tone edge cases, TemperatureCache, Score fallback, QuantizerWsmeans empty cluster). Remaining ignores sit on verified dead code only.Packaging and CI
dart pub publishdry run: 0 warnings. Untracked the Flutter-tool-generated example platform files (current template practice) and added a root.pubignore; published archive shrinks from 13 MB to ~0.5 MB.codecov-actionbumped from EOL v3 to v5 (file:→files:); stale workflow comments fixed.releaseskill, stale-info trap list in the docs skill.Verification
fvm dart analyze: no issues (package and example)dart format --set-exit-if-changed: cleanfvm flutter test --coverage: 1006/1006 pass, 100% line coveragedart pub publish --dry-run: 0 warnings, 508 KB archiveAPI and behavior risk
No public API additions, removals or signature changes; FlexColorScheme inherits this surface unchanged. Produced
ColorSchemes are byte-identical to 4.x except thesurfaceTintfix above.FlexSchemeVariantUI string updates are documented patch-level changes. The v5 web demo link goes live when the GitHub release for 5.0.0-dev.1 triggers the deploy workflow.