The Wire · Showcase
FLUTTER GPU GOES ASYNC, SWIFT CLOSES CONFORMANCE GAPS, KOTLIN WASM COROUTINES LAND
By RepoJournal · Filed · About Mobile platforms
Flutter's ShaderLibrary breaks synchronous loading to work across all platforms, while Swift tightens type conformance handling and Kotlin ships stack-switching coroutines for WebAssembly.
Flutter shipped a breaking change that matters: ShaderLibrary.fromAsset now returns a Future instead of loading synchronously [1]. This is the right move. Asset reads can't work synchronously everywhere, so the framework is consolidating on one async entry point for all platforms. If you're building with flutter_gpu, plan for this change before your next integration. Meanwhile, Flutter's test infrastructure got stricter [2] with cross-import checking now covering flutter_test itself, and the Windows renderer got a fix for transposed width/height dimensions that were corrupting empty frame sizes [3]. On the Swift side, the compiler now specializes chains of nested closures correctly [4], which matters for AutoDiff pullbacks that use stacked closures. Swift also fixed conformance handling for types conditioned on non-copyable constraints [5], solving a bug where the wrong generic signature was used during conformance emission. The stdlib gained missing extracting() functions for buffer pointers [6] as part of SE-0488 completion. In Kotlin, WebAssembly coroutines with stack switching officially landed [7] [8], complete with test adjustments and incremental compilation support [9] [10] [11]. This is the foundation for proper async/await behavior in Wasm targets.
Action items
- → Plan for ShaderLibrary.fromAsset async migration if using flutter_gpu flutter/flutter [plan]
- → Update flutter tests to comply with cross-import checker before next lint run flutter/flutter [plan]
- → Test Swift compiler with new closure specialization on complex AutoDiff code apple/swift [monitor]
- → Validate Kotlin Wasm coroutine stack switching in your build pipeline JetBrains/kotlin [monitor]
References
- [1] [Flutter GPU] Make ShaderLibrary.fromAsset asynchronous ↗ flutter/flutter
- [2] [Test cross_imports] Check cross imports in flutter_test/** ↗ flutter/flutter
- [3] Fixing corrupted window size OnEmptyFrameGenerated due to transpsed width/height (#187954) flutter/flutter
- [4] [SILOptimizer] Enable iterative specialization of nested closure chains ↗ apple/swift
- [5] IRGen: handle conformances conditioned on T.A: ~Copyable ↗ apple/swift
- [6] [stdlib] Complete the implementation of SE-0488 ↗ apple/swift
- [7] [Wasm] Coroutines With Stack Switching: introduce WasmCoroutineMode annotation (KT-76207) JetBrains/kotlin
- [8] [Wasm] Coroutines With Stack Switching: introduce types and type synthetics for use in codegen (KT-76207) JetBrains/kotlin
- [9] [Wasm] Coroutines With Stack Switching: suppress coroutine intrinsicSemantics tests for Stack Switching (KT-76207) JetBrains/kotlin
- [10] [Wasm] Coroutines With Stack Switching: adjust stepping state machine tests (KT-76207) JetBrains/kotlin
- [11] [Wasm] Coroutines With Stack Switching: IC (KT-76207) JetBrains/kotlin
FAQ
- What changed in Mobile platforms on June 14, 2026?
- Flutter's ShaderLibrary breaks synchronous loading to work across all platforms, while Swift tightens type conformance handling and Kotlin ships stack-switching coroutines for WebAssembly.
- What should Mobile platforms teams do about it?
- Plan for ShaderLibrary.fromAsset async migration if using flutter_gpu • Update flutter tests to comply with cross-import checker before next lint run • Test Swift compiler with new closure specialization on complex AutoDiff code
- Which Mobile platforms repositories shipped on June 14, 2026?
- flutter/flutter, apple/swift, JetBrains/kotlin