Flutter News September 2026 (2/2)

Flutter on iPhone Duo and missing displayFeatures, retraction in material_ui, Flutter 3.47.5, and beta 3.49.

NetGlade

|
netglade flutter app news august 2026

1. Flutter on the iPhone Duo: it runs, but it can't see the fold

Apple unveiled the iPhone Duo on September 9, its first foldable phone — a 7.6" inner display, a 5.4" outer one, the A20 Pro chip, $1,999 to start, shipping October 23. Late in September the official Flutter Dev account posted a video on LinkedIn captioned "We just checked, Flutter still runs everywhere", showing a Flutter app running across the unfolded inner display. So running is not the problem.

Knowing anything about the device is. MediaQuery.displayFeatures is documented as populated on Android only, so on the iPhone Duo it returns an empty list — an app cannot tell whether the phone is open, closed or halfway, where the crease falls, or what the hinge angle is. The day after Apple's announcement that gap produced proposal flutter/flutter#192515, which suggests mapping the iOS 27.1 reserved-region APIs onto the existing DisplayFeature model: .division becomes fold, .occlusion (the under-display camera) becomes cutout. It carries a P2 priority and is assigned to a member of the iOS team.

Actual code arrived from the community on September 18: PR #193025 adds a FlutterDisplayFeaturesMonitor built on UIHingeInteraction and UIView.reservedRegions, with fourteen tests. It is still a draft awaiting CI, with discussion circling whether to keep compile-time SDK guards, pin a builder to Xcode 27.1, or fall back to runtime API lookup. Anyone unwilling to wait can reach for the foldable package from the same author, which hit 1.0.0 on September 18 and 1.0.5 by month's end. It exposes hinge angle, fold posture and fold/camera regions, and stays inert on non-foldable devices.

Source: Apple Newsroom, flutter/flutter #193025, Sep 2026

2. material_ui and cupertino_ui: the weekly cadence takes its first hit

The first month of decoupled design packages showed both sides of the coin. The speed: material_ui shipped four versions during September, cupertino_ui three. The cost: material_ui 1.3.0 and cupertino_ui 1.1.0, both published on September 15 within the same minute, are now marked retracted on pub.dev. Replacements followed within a week — cupertino_ui 1.1.1 on the 21st and material_ui 1.4.0 on the 22nd. Neither the changelog nor the package page gives a reason for the retraction.

Two things stand out in the content. material_ui 1.4.0 raised the minimum to Flutter 3.47 and Dart 3.13, added a sortIconBuilder for DataTable and PaginatedDataTable, and fixed PopupMenuButton semantics along with colour handling in DatePickerThemeData. 1.5.0, on September 28, brought Material 3 Expressive to IconButton plus a run of accessibility fixes: exposing selected state on Autocomplete options, wrapping DrawerHeader in semantics, and adding ignorePointer to TooltipThemeData for WCAG compliance. This is exactly the point of the decoupling — fixes like these would previously have waited for a quarterly release.

Source: material_ui — pub.dev, Sep 2026

3. Flutter 3.47.5, and the 3.49 beta opens

Stable 3.47.5 shipped on September 18 with Dart SDK 3.13.4 and three fixes: occasional crashes while debugging on physical iOS 27 devices, a Widget Previewer crash when re-expanding a preview group caused by a type error in scroll restoration, and a flutter_tools crash with an unhandled FormatException when the Dart Development Service fails to start.

Three days later the 3.49.0-0.1.pre beta branch opened with Dart 3.14.0. It heads toward the stable 3.50 in November — the release where Material and Cupertino inside the SDK are scheduled for formal deprecation. No public feature notes yet. For completeness: stable 3.47.6 landed on October 1 with Dart 3.13.5 and is currently the newest.

Source: flutter/flutter — CHANGELOG, Sep 2026

4. From Node.js to full-stack Dart: the GenLatte case study

On September 22 Craig Labenz wrote up how he converted GenLatte — the Flutter coffee stand from Google Cloud Next that combines Flutter, Firebase and Gemini — from a Node.js backend to an all-Dart stack. Fifteen-plus separate Cloud Run services collapsed into a single Firebase Function, with routing through a BackendMessage system borrowed from Serverpod.

Three architectural changes carried it: shared models via the genlatte_data package gave end-to-end type safety, client-side writes moved into explicit server functions, and Firestore triggers were replaced by explicit calls. The toolkit: freezed for sealed classes, data_layer and data_layer_firestore_admin, Firebase Functions for Dart, and Cloud Firestore. The server bill reportedly dropped to a fraction of the original, though the post gives no concrete figures.

Source: Flutter Blog — Craig Labenz, Sep 2026

5. FlutterConf LATAM lands in Mexico for the first time

On September 22 and 23 the FlutterConf LATAM conference ran at the Universidad Tecnológica de Cancún. The move from Quito to Cancún is deliberate — the organisers are aiming to bridge the Latin American and North American scenes. One talk worth flagging: Lucas Josefiak of Widgetbook on Self-Healing Flutter UI with Widgetbook: Teaching Coding Agents to Judge Their Own Work, squarely on this year's theme of agents checking their own output.

Source: FlutterConf Latam 2026

6. Worth a look: flutter_local_ai, one API over local models

The community package flutter_local_ai by kekko7072 released version 0.2.0 on September 24 (and 0.2.1 on the 27th). It hides four different local inference backends behind a single Dart API: Apple Foundation Models, Android Gemini Nano, Windows AI Foundry and the Chrome Prompt API. Text, streaming, tool calling, JSON schemas and genUI specs are all supported. If you are doing on-device AI across platforms and would rather not write four integrations, it is worth a look.

Source: flutter_local_ai — pub.dev, Sep 2026

Your weekly Flutter and mobile app development briefing, brought to you by NetGlade, using AI.

Stay in the Loop

Developing with 💚 since 2014

Stay in the Loop

Developing with 💚 since 2014

Stay in the Loop

Developing with 💚 since 2014