Repository navigation
chore(deps): bump google_fonts from 8.2.1 to 9.0.0 in /example - #20
Closed
dependabot[bot] wants to merge 195 commits into
Closed
dependabot[bot] wants to merge 195 commits into
dependabot[bot] wants to merge 195 commits into
Conversation
[BREAKING] Adds custom animation support as well as more button states
Fixed wrong image path
The cache test asserted structure only (length, key order), so a mutant corrupting the value while re-inserting on promotion passed the dedicated test file. Capture the value before the promoting hit and assert it survives unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…eaking Sealing landed in 4b33036 with the break noted only in the commit body; nothing in-tree forced the next release to be a major. The Unreleased BREAKING section makes the 3.0.0 requirement visible at release time. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Marker commit: the sealing shipped in 4b33036 without a conventional breaking-change marker, so commit-range tooling would classify v2.1.2..HEAD as a minor bump. Empty by design. BREAKING CHANGE: AsyncStandardMaterialButton is sealed; it can no longer be extended outside the package. Compose AsyncButton directly for custom async buttons. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Analyzer generations disagree on NavigatorState.push: pre-3.47 flags the bare future (unawaited_futures) while 3.47+ marks it @awaitNotRequired and flags the wrapper (unnecessary_unawaited). Future.ignore() passes both; CI stable 3.47.1 failed Analyze on the wrapper. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Publishing is manual now: `dart pub publish` from the release commit; no tags. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Executed by a fresh session; the executor deletes this file in its last commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AsyncButtonSpinner's Center expanded under the bounded loose constraints ButtonStyleButton/IconButton give their child, so every non-FAB wrapper grew to fill its parent while loading. Shrink-wrap it with widthFactor/heightFactor 1. Adds a layout test over all 18 constructors in Center and Column hosts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Turn off unawaited_futures and discarded_futures and replace every unawaited(...) in the tests with a bare drop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
reset() abandons the in-flight run so a stale completion can no longer clear a newer run; a controller swapped in mid-flight adopts the run; the bound button unbinds in deactivate so an external controller detaches on unmount or swap; trigger() after dispose() asserts in debug and is a no-op in release; a second mounted binder fails a debug assert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A selected IconAsyncButton drops selectedIcon while loading so the spinner shows; a collapsed extended FAB puts the spinner in its icon slot; the five .icon/.tonalIcon constructors accept enabled; and onPressed: null with onLongPress keeps the button enabled, as in Flutter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
_ambientTextLineBox now disposes its TextPainter after reading preferredLineHeight, and clears the line-box cache from a PaintingBinding.systemFonts listener registered once, so a spinner re-measures after google_fonts / FontLoader fonts arrive. Adds leak_tracker_flutter_testing with a leak-tracked test directory, a late-font-load oracle, and measures the label line box from the idle Text instead of re-implementing the package's measurement in helpers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
All four IconAsyncButton constructors forward onHover, onLongPress (dropped while loading) and statesController to IconButton. TextAsyncButton.new forwards isSemanticButton to TextButton; .icon fixes it to true since TextButton.icon has none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
maintainSize overlays the loading view on the invisible idle child so the button keeps its idle footprint; .icon constructors and the non-collapsed extended FAB keep their icon. minLoadingDuration holds loading at least that long from the trigger start and rethrows errors after the floor. Both resolve widget -> AsyncButtonTheme -> default (false / Duration.zero) and are accepted by AsyncButton and all 18 wrapper constructors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- pubspec: drop homepage and documentation; canonical key order. - Drop .pubignore; .gitignore already governs the archive. - Add CONTRIBUTING, PR and issue templates, and dependabot. - CI: read-only permissions, timeouts, concurrency, Flutter 3.47.0 floor + stable + beta test matrix, downgrade, pana and publish dry-run jobs. - Restore publish.yaml with its tag trigger commented out; only workflow_dispatch remains, which cannot publish. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Rename the skill to material-async-button-usage (frontmatter name, license, H1) so `dart run skills@ get` installs it; fix its drift. - README: badges, `flutter pub add` install, FloatingActionButton in the pitch and table, FAB forwarding exceptions, zone / PlatformDispatcher error wording, maintainSize and minLoadingDuration, reset() and one-controller rules, Agent skill, Contributing and License sections. - Dartdoc: FAB in the wrapper lists, `onPressed: doWork`, .icon icon behaviour, IconAsyncButton tooltip vs "Loading", FAB heroTag sentinel, spinner line box, trigger() error routing. - Example: an intrinsic vs maintainSize row; example README. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A multi-child parent inflates a replacement button before it deactivates the old one, so the bind-time owner assert fired on legitimate keyed swaps, same-key type swaps and controller exchanges in a Column. Binding is now last-binder-wins with an owner-checked unbind; a debug-only post-frame check (initState, controller change, activate) still reports a second mounted button on one controller. _adopt runs in didUpdateWidget, i.e. during build: it now sets loading silently (the adopting button reads it in its build) and notifies other listeners after the frame unless the run settled, was reset, or the controller was disposed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The post-frame "owner is me" check missed an AnimatedSwitcher cross-fade of keyed buttons sharing a controller: the incoming button owns it, and the outgoing one never re-checks. _bind now returns the owner it displaced; the binding button asserts after the frame that the displaced button is gone or drives another controller. Only the displacing side checks, so a double mount is reported once. Adds a cross-fade test and a GlobalKey move between two parents mid-flight. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On a controller swap the state adopted the leaving controller's in-flight run even when an earlier sibling had just adopted another button's run into it in the same rebuild, so the later button showed a spinner for a run it never had and swallowed its own taps (chains, rotations, unkeyed list removals). build now records the run it renders as loading, and a swap adopts only that run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- minLoadingDuration: a 200 ms onPressed under a 300 ms floor must be idle at +300 ms, so a timer started after completion fails. - maintainSize layout: icon-only cases check the icon, and every case checks its hidden content stays in the tree but is not hit-testable, with exactly one spinner. - IconAsyncButton: onLongPress forwarding is an identity check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- README and skill: a label button with onPressed: null and an onLongPress stays enabled for long-press; IconAsyncButton, like IconButton, ignores onLongPress without onPressed. - IconAsyncButton.onLongPress dartdoc states the same rule. - attach dartdoc: binding is last-binder-wins; only unbinding is owner-checked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 3.1.0; CHANGELOG `## Unreleased` dated 2026-10-04. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bumps [google_fonts](https://github.com/flutter/packages/tree/main/packages) from 8.2.1 to 9.0.0. - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/google_fonts-v9.0.0/packages) --- updated-dependencies: - dependency-name: google_fonts dependency-version: 9.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
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.
Bumps google_fonts from 8.2.1 to 9.0.0.
Commits
c048cd3[google_fonts] Migrate to material_ui & cupertino_ui (#13006)1352ad2[go_router_builder] Reland material_ui migration (#12995)ba0364a[google_maps_flutter] Indicate that default iOS impl is discoraged (#12872)15e15cc[material_ui] Add Material 3 Expressive IconButton (#12832)d8933fdPlugin example apps to 9.3.1 (#13019)f0c985d[material_ui] Don't clip MenuItemButton.leadingIcon (#12986)5eb35f5[material_ui] Migrate M3 ExpansionTile template to use new gen_defaults (#12920)c983254[two_dimensional_scrollables] Exclude trailing pinned spans from the non-pinn...6b8b927[material_ui] Migrate M3 Drawer template to use new gen_defaults (#12916)897192a[material_ui] Migrate M3 Divider template to use new gen_defaults (#12915)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)