RepoJournal

$ cat mobile/week/2026-08-31.log

Mobile platforms

Mobile platforms

the week in review · Aug 31 – Sep 6, 2026

Flutter tool moves to constructor injection

Four commands migrate to modular DI, Swift and Kotlin land compiler refinements, and Flutter rolls dependencies.

449 commits 282 PRs merged 1 releases 6 briefings covered

What shipped: The big through-line is Flutter's tool migrating four core commands to modular dependency injection: DoctorCommand [1], ChannelCommand [2], CustomDevicesCommand [3], and InstallCommand [4]. These are breaking changes for tool internals but not runtime behavior. Flutter also rolled Skia and Fuchsia Linux SDK dependencies [5][6][7][8], and added mouseCursor to RawScrollbar [9] plus FadeInImageTransition.fadeInOver [10]. Android got a fix to skip scheduling engine frames on detached FlutterJNI [11]. Swift removed a redundant array-index overflow check [12] and expanded constant folding for availability queries [13]; Kotlin exposed boxed methods for overrides in final classes [14].

Why it matters: For Flutter tool contributors, command classes now use constructor injection, so any custom tooling that instantiates these commands directly will break. The Swift array-index check removal is invisible from source but improves SILOptimizer efficiency; Kotlin's boxed-method exposure affects how overrides in final classes are represented in bytecode, which may matter for reflection-based tooling. None of these affect runtime behavior for everyday app developers.

Also: Flutter fixed semantics geometry, UTF-16 deletion, and iOS keyboard accents [ref:4-day], Swift advanced async runtime for per-function CPU control [ref:day], and Swift and Kotlin shipped minor compiler fixes [ref:day]. [15][16][17][18]

References

  1. [1] [tool] Migrate DoctorCommand to modular dependency injection (#190758) ↗ flutter/flutter
  2. [2] [tool] Migrate ChannelCommand to modular dependency injection (#190751) ↗ flutter/flutter
  3. [3] [tool] Migrate CustomDevicesCommand to modular dependency injection (#190770) ↗ flutter/flutter
  4. [4] [tool] Migrate InstallCommand to modular dependency injection (#190771) ↗ flutter/flutter
  5. [5] Roll Skia from 588b550a4dd8 to 24a8072e4046 (1 revision) (#192050) ↗ flutter/flutter
  6. [6] Roll Skia from 3ae8e3d1e335 to ce359c7fbfe6 (1 revision) (#192037) ↗ flutter/flutter
  7. [7] Roll Fuchsia Linux SDK from o9DikEfRoFyVK3LKD... to EPzxifoyt36b5qiBy... (#192048) ↗ flutter/flutter
  8. [8] Roll Skia from ce359c7fbfe6 to 588b550a4dd8 (1 revision) (#192040) ↗ flutter/flutter
  9. [9] Add mouseCursor to RawScrollbar (#185750) ↗ flutter/flutter
  10. [10] Add FadeInImageTransition.fadeInOver to fade the image in over the placeholder (#186246) ↗ flutter/flutter
  11. [11] [Android] Do not schedule engine frames on a detached FlutterJNI (#191204) ↗ flutter/flutter
  12. [12] [SILOptimizer] Drop the overflow check of an array-index addition ↗ apple/swift
  13. [13] SILOptimizier: Expand constant folding for platform availability queries ↗ apple/swift
  14. [14] [SLC] Expose boxed methods for overrides in final classes ↗ JetBrains/kotlin
  15. [15] [Lifetimes] Form a lifetime dependency on the guaranteed base of a borrow accessor call ↗ apple/swift
  16. [16] Sema: Minor improvements to subtyping checks ↗ apple/swift
  17. [17] [Swift Export] Use type checks as fallback for sealedType functions ↗ JetBrains/kotlin
  18. [18] [cxx-interop] Check @cxx function signatures for C++ representability ↗ apple/swift

$ ls mobile/week/ # the briefings behind this review