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.
Audit first
Every dependency and platform channel checked for Flutter 3 before touching code.
Small steps
Migrated in reviewable steps through the existing release process, no big-bang branch.
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