flutter-knowledge-patch
Flutter 3.29–3.41 / Dart 3.7–3.11 Knowledge Patch
Claude's baseline knowledge covers Flutter through ~3.19 and Dart through ~3.3. This skill provides features from Flutter 3.29 (Feb 2025) and Dart 3.7 (Feb 2025) onwards.
Quick Reference — Dart Language
| Feature | Version | Example |
|---|---|---|
| Null-aware elements | Dart 3.8 | [?nullableValue] — omits if null |
| Dot shorthands | Dart 3.10 | .center instead of MainAxisAlignment.center |
| Doc imports | Dart 3.8 | /// @docImport 'dart:async'; |
| Cross compilation | Dart 3.8 | dart compile exe --target-os=linux --target-arch=arm64 |
| Macros cancelled | Dart 3.7 | @JsonCodable() discontinued; use json_serializable |
See references/dart-language.md for syntax details and examples.
Quick Reference — Dart Tooling
| Feature | Version | Detail |
|---|---|---|
| Pub git tags | Dart 3.9 | tag_pattern: v{{version}} in pubspec |
| Pub workspace globs | Dart 3.11 | workspace: [pkg/*] |
dart pub cache gc |
Dart 3.11 | Clean unused cached packages |
| Build hooks (stable) | Dart 3.10 | Bundle native C++/Rust/Swift code |
| Analyzer plugins | Dart 3.10 | Custom lint rules in analysis_options.yaml |
| Flutter SDK upper bound | Dart 3.9 | flutter: 3.33.0 enforced in root packages |
See references/dart-tooling.md for configuration details.
Quick Reference — New & Changed Widgets
| Widget | Version | Purpose |
|---|---|---|
CupertinoSheetRoute |
3.29 | iOS draggable modal sheet |
RoundedSuperellipseBorder |
3.32 | Squircle (iOS-style) corners |
ClipRSuperellipse |
3.32 | Clip child to squircle shape |
Expansible |
3.32 | Unstyled expand/collapse |
RawMenuAnchor |
3.32 | Unstyled menu with keyboard nav |
DropdownMenuFormField |
3.35 | M3 dropdown for forms |
CupertinoExpansionTile |
3.35 | iOS expandable list tile |
RadioGroup |
3.35 | Replaces Radio.groupValue (breaking) |
CarouselView.builder |
3.41 | Dynamic carousel content |
RepeatingAnimationBuilder |
3.41 | Declarative continuous animations |
Badge.count(maxCount:) |
3.38 | Capped badge count ("99+") |
See references/widgets.md for code examples.
Quick Reference — Platform, Web & Native
| Feature | Version | Detail |
|---|---|---|
| Wasm without headers | 3.29 | Single-threaded by default, headers for multi-thread |
| Hot reload web | 3.32→3.35 | Experimental in 3.32, stable in 3.35 |
| Web dev config | 3.38 | web_dev_config.yaml for host/port/proxy/headers |
| Predictive back (default) | 3.38 | Android back gesture with home preview |
| Platform-specific assets | 3.41 | platforms: [web] in pubspec assets |
| Content-sized views | 3.41 | Add-to-App auto-resize (isAutoResizable) |
| Multi-window (experimental) | 3.41 | Desktop popup/tooltip/dialog windows |
| UISceneDelegate (iOS) | 3.38 | Default on iOS; migration guide available |
| AGP 9 warning | 3.41 | Do NOT upgrade — plugin migration unsupported |
See references/platform-web.md for configuration and migration details.
Quick Reference — Navigation & Animation
| Feature | Version | Detail |
|---|---|---|
FadeForwardsPageTransitionsBuilder |
3.29 | New M3 transition; default in 3.38 |
PredictiveBackPageTransitionBuilder |
3.38 | Default Android back transition |
Navigator.popUntilWithResult |
3.41 | Pop multiple screens, return value |
OverlayPortal.overlayChildLayoutBuilder |
3.38 | Render overlay in any ancestor Overlay |
| Fragment shader improvements | 3.41 | decodeImageFromPixelsSync, 128-bit textures |
See references/navigation-animation.md for code examples.
Quick Reference — Accessibility
| Feature | Version | Detail |
|---|---|---|
SelectionListener |
3.29 | Get selection text from SelectionArea |
SemanticsRole |
3.32 | Assign roles for screen readers (web) |
SensitiveContent |
3.35 | Obscure during screen sharing (Android 15+) |
SliverEnsureSemantics |
3.35 | Keep slivers in semantics tree when scrolled |
SemanticsLabelBuilder |
3.35 | Combine data into single announcement |
SliverSemantics |
3.38 | Annotate slivers for screen readers |
CalendarDatePicker.calendarDelegate |
3.32 | Non-Gregorian calendar support |
See references/accessibility.md for code examples.
Breaking Changes
| Change | Version | Migration |
|---|---|---|
Radio.groupValue deprecated |
3.35 | Use RadioGroup wrapper |
| SnackBar no auto-dismiss with action | 3.38 | User must dismiss manually |
| Default Android transition changed | 3.38 | Now FadeForwardsPageTransitionsBuilder |
UISceneDelegate default on iOS |
3.38 | See migration guide |
| Min Android SDK → API 24 | 3.35 | Android 7+ required |
| Gradle 8.7.0, AGP 8.6.0, Java 17 | 3.35 | Update build tools |
| Legacy web libs deprecated | Dart 3.7 | Use dart:js_interop + package:web |
| Merged threads on Linux desktop | 3.41 | UI + platform threads merged by default |
Reference Files
| File | Contents |
|---|---|
dart-language.md |
Null-aware elements, dot shorthands, doc imports, cross compilation |
dart-tooling.md |
Pub git tags, workspace globs, build hooks, analyzer plugins |
widgets.md |
CupertinoSheet, squircles, Expansible, RadioGroup, CarouselView |
platform-web.md |
Hot reload web, predictive back, platform assets, multi-window |
navigation-animation.md |
Page transitions, popUntilWithResult, RepeatingAnimationBuilder |
accessibility.md |
SemanticsRole, SliverSemantics, SensitiveContent, SelectionListener |
Critical Examples
Dot Shorthands (Dart 3.10+ / Flutter 3.38+)
Column(
mainAxisAlignment: .center,
children: [
Padding(padding: .all(8.0), child: Text('Hi')),
],
)
Null-Aware Elements (Dart 3.8+)
List<String> names = [?nullableName, ?user?.displayName];
Squircle Container
Container(
decoration: ShapeDecoration(shape: RoundedSuperellipseBorder(
borderRadius: BorderRadius.circular(20),
)),
)
RadioGroup (Flutter 3.35+, Breaking)
RadioGroup<String>(
groupValue: selected,
onChanged: (value) => setState(() => selected = value),
children: [Radio<String>(value: 'a'), Radio<String>(value: 'b')],
)
Platform-Specific Assets
flutter:
assets:
- path: assets/logo.png
- path: assets/web_worker.js
platforms: [web]
More from nevaberry/nevaberry-plugins
dioxus-knowledge-patch
Dioxus changes since training cutoff (latest: 0.7.4) — Signals replacing use_state, RSX macro overhaul, server functions, asset!() system, dx CLI, Element-as-Result. Load before working with Dioxus.
46rust-knowledge-patch
Rust changes since training cutoff (latest: 1.94.0) \u2014 Rust 2024 Edition, async closures, trait upcasting, new std APIs, cargo resolver v3. Load before working with Rust.
20postgresql-knowledge-patch
PostgreSQL changes since training cutoff (latest: 18.1) — JSON_TABLE, SQL/JSON functions, MERGE RETURNING, virtual generated columns, UUIDv7, temporal PRIMARY KEY. Load before working with PostgreSQL.
16bun-knowledge-patch
Bun changes since training cutoff (latest: 1.3.10) \u2014 S3 client, built-in SQL/Redis, route-based HTTP server, CSS bundler, V8 compatibility. Load before working with Bun.
14nextjs-knowledge-patch
Next.js changes since training cutoff (latest: 16.1) — proxy.ts, \"use cache\", Cache Components, navigation hooks, typed routes, auto PageProps, React 19.2. Load before working with Next.js.
14postgis-knowledge-patch
PostGIS changes since training cutoff (latest: 3.6.1) — SFCGAL CG_* rename, ST_CoverageClean, ST_AsRasterAgg, topology bigint IDs, viewport simplification, 3D SFCGAL ops. Load before working with PostGIS.
13