RepoJournal
Mobile platforms

Mobile platforms

Flutter, Swift, and Kotlin - the mobile platforms developers ship on

Pick a date

The Wire · Showcase

FLUTTER LOCKS DOWN XCODE VERSIONS, SWIFT TIGHTENS SENDABLE RULES

By RepoJournal · Filed · About Mobile platforms

Flutter blocked a dangerous downgrade path in Xcode project files while Swift toolchain hardens concurrency guarantees across three separate commits.

Flutter shipped a critical fix that prevents the build system from downgrading `project.pbxproj` version numbers when a higher version already exists [1], closing a long-standing issue where migrations could corrupt Xcode project state. In parallel, the Skia graphics engine rolled forward nine revisions [2] with improvements to CanvasKit path handling and PNG gainmap support, while Flutter's empty app template got reformatted to match current Dart style conventions [3]. Over on the Swift side, the compiler tightened sendability checking for isolated classes to reject the illegal `@MainActor` plus Sendable plus non-Sendable superclass combination [4], a pattern that exists in production but will become an error in a future minor version. Swift also fixed invalid extension handling to prevent them from leaking into generated Clang headers [5] and made runtime lookups gracefully fail when encountering type mismatches in mangled names [6]. Kotlin's JavaScript export now respects file-level annotations in the Analysis API [7], while the test framework gained lazy message-producing lambda overloads for assertions [8].

Action items

References

  1. [1] Prevent downgrading `project.pbxproj` when greater version number (#186250) flutter/flutter
  2. [2] Roll Skia from d7196b0b4939 to 2ffd155313f5 (9 revisions) (#188081) flutter/flutter
  3. [3] [flutter_tools] Format empty app template with latest dart format (#187443) flutter/flutter
  4. [4] [Sema] Reject Sendable on isolated class with non-Sendable superclass ↗ apple/swift
  5. [5] [Sema] A few invalid `extension` fixes ↗ apple/swift
  6. [6] [Runtime] Gracefully fail when looking up a mangled name with an integer where a type is required. ↗ apple/swift
  7. [7] [JS] Respect file-level annotations in Analysis API-based TypeScript export ↗ JetBrains/kotlin
  8. [8] KT-31305: Introduce kotlin.test assertions overloads accepting a message-producing lambda ↗ JetBrains/kotlin

FAQ

What changed in Mobile platforms on June 17, 2026?
Flutter blocked a dangerous downgrade path in Xcode project files while Swift toolchain hardens concurrency guarantees across three separate commits.
What should Mobile platforms teams do about it?
Review Xcode project file migrations in your build pipeline - the version downgrade fix prevents silent corruption • Check for @MainActor isolated classes with non-Sendable superclasses - they will error in Swift's next minor version • Update Kotlin test assertions to use lazy message lambdas for expensive error message construction
Which Mobile platforms repositories shipped on June 17, 2026?
flutter/flutter, apple/swift, JetBrains/kotlin

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.