release: 1.4.0 - #179
Conversation
Minor release, not a patch. The Return-key default on a single-line `WInput` moved from `TextInputAction.next` to `.done` (#177), which changes behaviour in every consumer that never passed `textInputAction`. Consumers are pinned with `^1.3.0`, so a patch would have landed that on everyone at the next `pub upgrade` with the version number saying nothing had changed. A minor still reaches them automatically, so the two layout fixes are not withheld, but the number now says to read the notes. Ships with those two fixes: a `justify-between` row no longer splits its width between a child that asked to grow and siblings that did not (#175), and `WKeyboardActions` hosts its toolbar in the root overlay so it lands on the keyboard rather than hundreds of points below the viewport (#176). Plus the CI fix that had every open PR red on a dirty checkout (#178) and the codeql-action bump (#174). Bump pubspec.yaml 1.3.0 -> 1.4.0 and promote ## [Unreleased] to ## [1.4.0] - 2026-08-21 in CHANGELOG.md, with the [1.4.0] link reference and the [Unreleased] compare link redirected to 1.4.0...HEAD. Sync example/pubspec.yaml, the dartdoc_options.yaml source-link tag, and the llms.txt version string. Move the wind-ui skill to the 1.4 line: the nine reference H1s plus the SKILL.md description and version marker.
|
Warning Review limit reached
Next review available in: 26 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (15)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Why 1.4.0 and not 1.3.1
The release was asked for as a patch. It is a minor, and the reason is one entry in the log.
WInputmoved its single-line Return-key default fromTextInputAction.nextto.done(#177). That changes behaviour in every consumer that never passedtextInputAction, and consumers are pinned with^1.3.0, so a patch would have landed it on all of them at the nextpub upgradewith the version number saying nothing had changed. A patch release is a promise that the upgrade is invisible, and this one is not: a form whose fields happen to sit next to each other in traversal order silently loses Return-advances-field.A minor still reaches everyone automatically under
^1.3.0, so the two layout fixes are not withheld from anyone, but the number now tells a reader to open the notes.2.0.0was the other candidate and was rejected as disproportionate for one keyboard default: it would strand every^1.3.0consumer on 1.3.x, so the two real layout fixes would reach nobody.What ships
Changed (behavioural break)
WInputsingle-line Return key defaults to.done, multiline still.newline, an explicittextInputActionstill wins. Path back for a form that relied on the old default: passtextInputAction: TextInputAction.nextper field. (fix(input): default a single-line field's Return key to done #177)Fixed
justify-betweenrow no longer splits its width between a child that asked to grow and siblings that did not. (fix(flex): let a growing child keep the free space in a justify-between row #175)WKeyboardActionshosts its toolbar in the root overlay, so it lands on the keyboard instead of hundreds of points below the viewport. (fix(keyboard-actions): host the toolbar in the root overlay #176)Added
skills/wind-ui/references/design-culture.md, the taste layer the skill never had.Quality
Release mechanics
Following the shape of the 1.3.0 release commit, six surfaces move together:
pubspec.yaml1.3.0->1.4.0example/pubspec.yaml1.3.0+1->1.4.0+1dartdoc_options.yamlblob/1.3.0->blob/1.4.0llms.txtVersion 1.3.0 stable->Version 1.4.0 stableCHANGELOG.md## [Unreleased]->## [1.4.0] - 2026-08-21,[1.4.0]link reference added,[Unreleased]compare redirected to1.4.0...HEADskills/wind-ui/dartdoc_options.yamlis the one that hides: it pins generated dartdoc line links to the release tag, so a stale value points readers at the previous release's line numbers. It was found by diffing the 1.3.0 release commit rather than by grepping for the version, which had missed it.The skill titles are the ones that rot quietly. They lagged a release twice already, at 1.2.0 and again at 1.3.0.
Gates
Run locally on the branch tip:
dart format --set-exit-if-changed: 0 changed.dart analyze lib/ test/ example/lib/: No issues found../tool/coverage.sh 90: 1698 passed, 1 skipped, coverage 94.8%.python3 tool/check-docs.py: 0 issues across 72 doc pages.dart pub publish --dry-runon a clean tree:Package has 0 warnings and 1 hint. The hint is the gitignored localpubspec_overrides.yaml, which does not exist in CI. Archive is 1 MB and carries no build output or coverage artifacts.After merge
git tag 1.4.0 && git push origin 1.4.0triggerspublish.ymland pushes to pub.dev. That step is not reversible (pub.dev retracts, it does not unpublish), so it stays a deliberate human action.