Skip to content

Release v13.11.3

Choose a tag to compare

@saropa saropa released this 01 Jun 00:06
· 1135 commits to main since this release

Fixed

  • function_always_returns_null no longer fires on @override declarations that return null. Overriding a nullable parent member (e.g. @override Color? get barrierColor => null; on a no-barrier ModalRoute) honors the parent's contract — the override cannot widen the return type, and returning anything other than null would lie about absence. The rule now skips any declaration carrying @override; if the parent's return type were non-nullable, the override would already be a compile error, so the annotation alone is a sufficient signal. No action required.
  • avoid_small_touch_targets no longer false-fires on wide-band overlays. A SizedBox or Container whose single small axis (e.g. height: 38) wrapped a GestureDetector, InkWell, or InkResponse — typically a dismiss-on-tap pill, list row, or Positioned.fill overlay — was incorrectly flagged as a small touch target even though the tap region spans the full parent width. The rule now distinguishes icon-sized targets (IconButton, Checkbox, Radio, Switch, TextButton, ElevatedButton, OutlinedButton) — where either axis under 44 px is a real concern — from region recognizers, which require both axes explicitly under 44 px to fire. Remove any project-local // ignore: avoid_small_touch_targets comments added to silence the false positive.
  • prefer_layout_builder_for_constraints no longer fires inside static utility methods that take a BuildContext. Static helpers like MenuUtils.popupMenuConstraints(BuildContext) compute absolute viewport-fraction dimensions for non-widget return types (BoxConstraints, Size, EdgeInsets); LayoutBuilder is structurally inapplicable to them because there is no parent constraint to consult and the return is data, not a widget. Instance methods that take BuildContext (the 2026-04-28 case) still fire. Remove any project-local // ignore: prefer_layout_builder_for_constraints comments added to silence the false positive on static utilities.
Maintenance
  • Python publish-tooling tests now find the repo root. The unittest suite was relocated to scripts/modules/tests/ in May without updating its parents[2] repo-root index, leaving CI's test job red against every release commit since (including Release v13.11.2). No user impact.
  • Removed post-publish auto-bump of pubspec.yaml. Releases no longer auto-commit chore: bump version to n.n.n+1. The next publish prompt now defaults to a patch bump only when CHANGELOG.md has an [Unreleased] section, so minor or major releases no longer have to undo a pre-committed patch decision and main no longer carries phantom version-bump commits for releases that never shipped. No user impact.
  • Stopped per-release churn of views.help.name across 25 locale bundles. The static value is now the localized word "Help" alone (no version suffix); the runtime createTreeView().title injection in extension/src/extension.ts continues to display the live (vX.Y.Z) from package.json, unchanged from the user's perspective. The pre-compile sync script that stamped the version on every locale was deleted, which also fixes a long-standing duplicate-version pattern that had crept into Arabic, Persian, and Polish bundles (the stripper only matched lowercase Latin v, leaving translated version parens intact across releases). No user impact.