Skip to content
Case study · telecom · maps

Flutter 2 → 3. No broken releases.

A large, maps-heavy enterprise telecom app was pinned to Flutter 2. It was in daily use, so a broken release was not an option.

From2.x
To3.x
Regressions0
01 — The problem

Every month on the old version made it riskier.

Dependencies were ageing out and new platform requirements were landing. The app served field users every day.

02 — What I did

Three steps, all reversible.

  1. Audit first

    Every dependency and platform channel checked for Flutter 3 before touching code.

  2. Small steps

    Migrated in reviewable steps through the existing release process, no big-bang branch.

  3. Fix by module

    Breaking API changes fixed module by module, with regression checks at each step.

03 — Result

Upgraded. Unblocked.

The app moved to Flutter 3 with zero regressions reaching production, and the team could use current packages and SDK targets again.

Flutter 2.xto3.x

Flutter · Dart · Null safety · Platform channels

04 — More work

Anonymised by default.

Your app next?

Stuck on an old Flutter?

Send the repo. Get the plan in 48 hours.