Compose Multiplatform 1.12 serisi, Android tarafındaki Jetpack Compose deneyimini iOS, web ve masaüstüne taşıyan JetBrains çatısının en güncel kararlı sürüm halkası — 1.12.0, 25 Ağustos 2026'da yayınlandı ve hemen ardından 1.12.1 patch'i 22 Eylül 2026'da geldi. Projen hâlâ 1.11 hattında duruyorsa bu yazı sana sürüm deltasını, Kotlin hizalama kuralını ve göç adımlarını satır satır anlatıyor; mimari kararlar ve production vaka analizi için Compose Multiplatform: Android + iOS production deployment yazısına bakabilirsin. Compose Multiplatform 1.12 iOS Android ortak UI tarafında neyin değiştiğini burada göreceksin.
💡 Pro Tip: Compose Compiler Gradle plugin'ini her zaman Kotlin Multiplatform plugin'iyle BİREBİR aynı sürümde tut; Compose compiler Kotlin ile aynı anda yayınlanır ve daima aynı sürüm Kotlin ile uyumludur; Compose compiler 2.0.0 ile derlenmiş eski bağımlılıklar, non-JVM hedefli çoklu platform projelerde gereksiz — hatta sonsuz — recomposition'lara yol açabiliyor.
İçindekiler
- 1.12 sürüm deltası
- Kotlin/Compose sürüm hizalama kuralı
- Mevcut projeyi 1.12'ye yükseltme
- iOS tarafında değişen davranışlar
- Performans ve başlangıç süresi ölçümü
- Ne zaman CMP, ne zaman native SwiftUI
- Bilinen kısıtlar ve geçici çözümler
- SSS
- Compose Multiplatform 1.12 hangi Kotlin sürümünü istiyor?
- Compose Multiplatform iOS'ta production'a hazır mı?
- Compose Multiplatform ile Jetpack Compose sürümleri nasıl hizalanıyor?
- Mevcut Android Compose kodunu iOS'a taşımanın maliyeti ne?
- 1.12.0 ile 1.12.1 arasındaki fark ne?
- Compose Compiler plugin sürümünü Kotlin plugin'inden farklı tutabilir miyim?
- Compose Multiplatform'da masaüstü desteği için hangi JDK sürümü gerekiyor?
- Sonuç
- Kaynaklar
1.12 sürüm deltası
Compose Multiplatform, tek bir "1.12" değil, kısa aralıklarla gelen iki sürümden oluşuyor: 1.12.0 ana sürüm, 1.12.1 ise ondan bir ay sonra gelen bakım patch'i. Projene hangisini alacağını seçerken aşağıdaki tabloya bakman yeterli.
Sürüm | Yayın tarihi | Öne çıkan değişiklik | Notlar |
|---|---|---|---|
1.12.0 | 25 Ağustos 2026 | Compose Hot Reload için MCP server (masaüstü) — AI ajanlarının çalışan bir Compose uygulamasıyla gerçek zamanlı etkileşim kurmasını sağlıyor | Ana özellik sürümü |
1.12.1 | 22 Eylül 2026 | Resources kütüphanesinde Kotlin 2.5 uyumluluk düzeltmesi (PR #5717), birden çok iOS crash/görünürlük düzeltmesi | "Changes since 1.12.0" başlıklı patch sürümü |
1.12.1'in release notu, Gradle plugin sürümünü de org.jetbrains.compose için birebir 1.12.1 olarak sabitliyor — yani build.gradle.kts dosyanda plugin sürümünü bu patch numarasıyla eşleştirmen gerekiyor. Kotlin 2.5 uyumluluk düzeltmesi dikkat çekici çünkü Kotlin 2.5.0 henüz yayınlanmadı (Aralık 2026 için planlanıyor) — üstelik release notunda bu madde "Fixes → Resources" başlığı altında, yani resources kütüphanesine özgü. JetBrains bunu ileriye dönük hazırlık olarak eklemiş; Kotlin 2.5.0 Aralık 2026 için planlandığından şimdilik bir "gereksinim" değil.
İki sürüm arasındaki dört haftalık aralık da kendi başına bir sinyal: 1.12.0 büyük bir özellik sürümüyken, 1.12.1 neredeyse tamamen "Changes since 1.12.0" başlığıyla gelen düzeltmelerden oluşuyor; tek migration kalemi LocalSystemTheme'in deprecate edilmesi (aşağıda). Yani mimari bir değişiklik beklemeden, sadece istikrar için 1.12.1'e geçmek mantıklı — büyük bir Kotlin veya Gradle sürüm atlaması yapmadan önce bile bu patch'i almanı öneririm, çünkü içerdiği iOS düzeltmeleri geriye dönük uyumlu ve yeni bir davranış değişikliği getirmiyor.
Kotlin/Compose sürüm hizalama kuralı
Compose Multiplatform'un Kotlin sürümüyle ilişkisi sabit bir eşleştirme tablosu değil, kayan bir minimum kuralı: en güncel Compose Multiplatform her zaman en güncel Kotlin sürümüyle uyumludur. Resmi uyumluluk sayfası bunu net söylüyor ve projen için pratik alt sınırı da veriyor.
Bileşen | Minimum sürüm | Önerilen |
|---|---|---|
Kotlin (genel) | 2.1.0 | 2.4.20 (güncel stabil, 7 Eylül 2026) |
Kotlin (iOS/web hedefli) | 2.1.0 | 2.2.20+ |
Compose Compiler Gradle plugin | Kotlin Multiplatform plugin ile aynı | Aynı |
Compose Multiplatform, 1.8.0 sürümünden itibaren UI framework'ü tamamen K2 derleyicisine taşıdı; 1.12 hattı da bu temelin üzerinde duruyor. Gradle dosyanda bu hizalamayı şöyle kuruyorsun:
kotlin
1plugins {2 kotlin("multiplatform") version "2.4.20"3 id("org.jetbrains.compose") version "1.12.1"4 id("org.jetbrains.kotlin.plugin.compose") version "2.4.20" // Kotlin MP plugin ile AYNI sürüm5}Aynı hizalamayı çok modüllü bir projede tek yerden yönetmek istersen Gradle version catalog'u (libs.versions.toml) kullan; iki plugin de aynı kotlin versiyon referansına bağlanır:
toml
1[versions]2kotlin = "2.4.20"3compose-multiplatform = "1.12.1"4 5[plugins]6kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }7kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }8compose-multiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }Compose Multiplatform sürüm döngüsü, Jetpack Compose (androidx) sürüm döngüsünü genelde 1-3 ay geriden takip ediyor — yani Android tarafında yeni bir Jetpack Compose sürümü çıktığında Compose Multiplatform'a yansıması hemen değil, birkaç hafta ila birkaç ay içinde oluyor.
Bu kayan kural pratikte iki şey anlamına geliyor. Birincisi: "Compose Multiplatform X sürümü Kotlin Y'yi gerektirir" tarzı bir eşleştirme tablosunu ezberlemek yerine, her yükseltmede resmi uyumluluk sayfasına tekrar bakmalısın — çünkü minimum sürüm zamanla yukarı kayıyor. İkincisi: Android tarafında Jetpack Compose'un en yeni özelliklerini gördüğünde, aynı özelliğin Compose Multiplatform'da (özellikle iOS/web tarafında) hemen kullanılabilir olmasını bekleme; 1-3 aylık gecikme payını proje planlamana dahil et.
Mevcut projeyi 1.12'ye yükseltme
1.11'den 1.12.1'e geçerken önce kütüphane koordinatlarını güncellemen gerekiyor. Burada en sık yapılan hataya dikkat et: 1.12.1 release notundaki Components tablosundaki koordinatlar TEK TİP DEĞİL. runtime, ui, foundation ve material 1.12.1 etiketiyle yayınlanırken Material3 1.12.0-alpha03, Material3 Adaptive 1.3.0-rc01, Lifecycle 2.11.0 ve Navigation 2.10.0-beta01 sürümünde duruyor — yani her satırı tablodan kopyalaman gerekiyor. Paylaşılan UI modülünde bağımlılıkları commonMain source set'i üzerinden veriyorsun:
kotlin
1kotlin {2 sourceSets {3 commonMain.dependencies {4 implementation("org.jetbrains.compose.runtime:runtime:1.12.1")5 implementation("org.jetbrains.compose.ui:ui:1.12.1")6 implementation("org.jetbrains.compose.foundation:foundation:1.12.1")7 implementation("org.jetbrains.compose.material3:material3:1.12.0-alpha03")8 }9 }10}Eski kütüphanelerle uyumluluk sorunu yaşarsan (özellikle üçüncü parti Compose bileşenleri), Kotlin/Native hedefinin binaries bloğundaki disableNativeCache seçeneğiyle derleme cache'ini kapatabilirsin. Resmi Multiplatform DSL referansı bu seçeneği yalnızca istisnai durumlarda kullanmanı söylüyor, çünkü derleme süresini uzatıyor; seçenek, cache'in kapatıldığı Kotlin version'ını ve reason'ı argüman olarak almanı zorunlu tutuyor, issue URL'i isteğe bağlı:
kotlin
1@file:OptIn(KotlinNativeCacheApi::class)2 3import java.net.URI4import org.jetbrains.kotlin.gradle.plugin.mpp.DisableCacheInKotlinVersion5import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCacheApi6 7kotlin {8 iosArm64 {9 binaries {10 framework("shared") {11 disableNativeCache(12 version = DisableCacheInKotlinVersion.`2_4_20`,13 reason = "Cache bug",14 issue = URI("https://youtrack.com/YY-1111")15 )16 }17 }18 }19}DisableCacheInKotlinVersion sabit listesi yalnızca en son üç Kotlin sürümünü taşıyor (rolling deprecation), yani Kotlin'i yükselttiğinde sabiti de güncellemen gerekiyor; API'nin tamamı da @OptIn(KotlinNativeCacheApi::class) ile opt-in istiyor.
Bir diğer göç detayı: LocalSystemTheme API'si 1.12.1'de @InternalComposeUiApi olarak geçici olarak yeniden açığa çıkarıldı ama aynı anda deprecate edildi — gelecek bir sürümde tamamen kaldırılacak. Internal işaretli olduğu için tek başına @Suppress("DEPRECATION") yetmez, @OptIn(InternalComposeUiApi::class) da gerekiyor. Kodunda hâlâ kullanıyorsan, sistem temasını okumak için platform-spesifik alternatiflere geçiş planı yapmalısın. Bu API skiko tarafında (iOS/masaüstü/web) tanımlı, Android hedefinde yok — commonMain'e değil, iosMain/jvmMain gibi platform source set'ine koy:
kotlin
1import androidx.compose.runtime.Composable2import androidx.compose.ui.InternalComposeUiApi3import androidx.compose.ui.LocalSystemTheme4import androidx.compose.ui.SystemTheme5 6// 1.12.1'de @InternalComposeUiApi olarak geri açıldı ve deprecate edildi, gelecekte kaldırılacak7@OptIn(InternalComposeUiApi::class)8@Suppress("DEPRECATION")9@Composable10fun isSystemDark(): Boolean = LocalSystemTheme.current == SystemTheme.DarkYükseltmeyi tek seferde tüm modüllerde yapmak yerine, önce paylaşılan UI modülünde dene, derleme ve testleri geçtikten sonra platform-spesifik hedeflere (iosMain, jvmMain) geç. Kütüphane koordinatlarını değiştirdikten sonra ilk yapman gereken tam bir temiz derleme (./gradlew clean build) — Compose Compiler ile Kotlin plugin sürümü arasında bir kayma varsa bu adımda görünür hale gelir, production'a gitmeden önce yakalarsın.
iOS tarafında değişen davranışlar
1.12.0 ve 1.12.1, iOS tarafında hem yeni davranışlar hem de birikmiş hata düzeltmeleri getirdi:
- Seçim tutamaçları (selection handles): 1.12.0 ile artık iOS'un native stiline uyumlu görünüyor.
- Context menu "Select": Text field'larda context menu'ye iOS'a özgü "Select" öğesi eklendi.
- VoiceOver LiveRegion desteği: Accessibility tarafında
LiveRegionsemantics artık destekleniyor, bu VoiceOver kullanıcıları için dinamik içerik duyurularını iyileştiriyor. NSLocale.toComposeLocale(): 1.12.0, platformNSLocalenesnesindenLocaleoluşturmak için bu API'yi ekledi (PR #3103).- VoiceOver'da
VerbatimTtsAnnotationveLocaleList: 1.12.0, erişilebilirlik VoiceOver tarafında bu iki attribute'ün desteğini ekledi (PR #3145). - Toolbar görünmeme hatası (iOS 16 ve öncesi): 1.12.1'de düzeltildi.
- SelectionContainer + TextField toolbar hatası: İçinde en az bir
TextFieldbulunanSelectionContainerkullanıldığında toolbar'ın görünmemesi sorunu giderildi. - AccessibilityElement dispose sonrası crash: iOS'un, dispose edilmiş bir
AccessibilityElement'in özelliklerini okumaya çalışırken oluşan çökme düzeltildi.
Bu liste özellikle erişilebilirlik ve metin seçimiyle çalışan ekranlar için önemli — eski sürümlerde bu senaryolarda workaround yazdıysan, 1.12.1'e geçince o workaround'ları kaldırıp test etmen gerekiyor.
Pratik açıdan bakınca bu değişikliklerin çoğu yeni bir API yüzeyi açmıyor, mevcut davranışı iOS'un native beklentisine yaklaştırıyor; NSLocale.toComposeLocale() gibi yeni köprü API'leri ise isteğe bağlı. Yani zorunlu bir migration adımı yok — asıl iş regresyon testi. VoiceOver kullanan bir ekranın varsa, 1.12.1'e geçtikten sonra gerçek bir iOS cihazda VoiceOver'ı açıp seçim ve context menu akışlarını elle gezmen, otomatik test paketinin yakalayamadığı davranış farklarını görmenin en güvenilir yolu.
Performans ve başlangıç süresi ölçümü
JetBrains, 1.12 serisi için resmi bir başlangıç süresi veya performans benchmark'ı yayınlamadı; release notlarında ve uyumluluk sayfasında sayısal bir iyileştirme iddiası yok. Ölçümü kendi projende yapman gerekiyor.
Bunun yerine kendi projende ölçüm yapman öneriliyor: Android tarafında Macrobenchmark, iOS tarafında Xcode Instruments'ın "App Launch" şablonu ile 1.11'den 1.12.1'e geçiş öncesi/sonrası cold-start sürelerini karşılaştırabilirsin. Ben genelde büyük bir sürüm atlaması yapmadan önce mevcut sürümde bir baseline ölçüm alıp, yükseltme sonrası aynı cihazda tekrar ölçmeyi tercih ederim — bu, JetBrains'in yayınlamadığı veriyi kendi projen özelinde üretmenin tek güvenilir yolu.
Ölçümü anlamlı kılmak için birkaç kural işine yarar: aynı fiziksel cihazda (simülatör/emülatör değil) ölç, arka planda çalışan başka uygulamaları kapat, en az 5-10 tekrar ölçüm alıp ortalama ve medyanı birlikte raporla (tek ölçüm gürültüye açık), ve ölçümü hem cold-start hem warm-start için ayrı ayrı yap. Bu disiplin olmadan aldığın "1.12'ye geçince hızlandı" izlenimi, aslında cihazın termal durumundan ya da arka plan işlemlerinden kaynaklanan bir gürültü olabilir.
Ölçüm sonuçlarını ekip içinde paylaşırken cihaz modelini, işletim sistemi sürümünü ve ölçüm tarihini de not etmeni öneririm — altı ay sonra "1.12'ye geçince hızlandı mıydı" sorusuna cevap ararken bu bağlam bilgisi olmadan sayılar anlamını kaybediyor.
Ne zaman CMP, ne zaman native SwiftUI
JetBrains'in resmi platform destek tablosu net bir etiketleme kullanıyor: iOS hedefi "Stable", Web hedefi ise hâlâ "Beta" durumunda. Bu, karar verirken önemli bir sinyal.
Compose Multiplatform'un temel vaadi, mevcut Jetpack Compose bilgini (state yönetimi, layout sistemi, animasyon API'leri, Material bileşenleri) Android dışındaki platformlarda da kullanabilmen. Ekibin zaten Compose'a yatırım yapmışsa ve iOS tarafında da aynı ekip kod yazacaksa, CMP mantıklı bir seçim.
Native SwiftUI'ı tercih etmen gereken durumlar daha çok platforma özgü ince ayarların kritik olduğu senaryolar: iOS'a özgü animasyon detayları, en güncel Apple API'lerine (ör. yeni bir SwiftUI sürümüyle gelen widget/interaktivite özellikleri) gün-bir erişim gerekiyorsa, ya da ekipte Swift/SwiftUI derinliği zaten varsa. JetBrains bu konuda resmi bir "şu durumda CMP, şu durumda native" karar matrisi yayınlamıyor; karar, ekibinin mevcut yatırımına ve platform-spesifik gereksinim yoğunluğuna göre kurman gereken bir denge.
Pratikte iki soruyu kendine sorman yeterli: Ekibin şu an Android'de Compose yazıyor mu ve iOS ekibi ayrı mı çalışıyor? Ayrıysa ve iki ekip de kendi native ekosisteminde derinse, CMP'nin ortak kod avantajı organizasyonel bariyerle karşılaşabilir. İkinci soru: uygulaman iOS'a özgü, platform native hissi gerektiren bir deneyime mi (ör. karmaşık jest tabanlı navigasyon) yoksa çoğunlukla form, liste, veri görüntüleme gibi standart UI kalıplarına mı dayanıyor? İkincisiyse CMP'nin Stable etiketli iOS hedefi genelde yeterli.
Bilinen kısıtlar ve geçici çözümler
Yükseltme öncesi bilmen gereken birkaç yapısal kısıt var:
- JDK gereksinimi: Compose Multiplatform masaüstü hedefi yalnızca JDK 11 veya üzerini destekliyor; native dağıtım paketleme (
jpackagesınırlamaları nedeniyle) için ise JDK 17 veya üzeri şart. - macOS klavye düzeni hatası: OpenJDK 11.0.12 ile macOS'ta klavye düzeni değiştirirken bilinen bir sorun var; bu sorun OpenJDK 11.0.15'te tekrarlanmıyor — hâlâ 11.0.12 kullanıyorsan güncellemen öneriliyor.
- Yalnızca 64-bit: Tüm Compose Multiplatform sürümleri yalnızca 64-bit platformları destekliyor, 32-bit hedef planlaman gerekiyorsa bu framework uygun değil.
Bu kısıtlar özellikle CI/CD pipeline'ını kuran ekipler için önemli: build agent'ında JDK 17+ olduğundan emin olmadan native paketleme (.dmg, .msi, .deb) adımını pipeline'a eklersen, jpackage adımı sessizce başarısız olabilir. macOS build agent'ında OpenJDK sürümünü sabitlemek (11.0.15 veya üzeri, ya da doğrudan 17+) de aynı nedenle CI kurulumunun standart bir parçası olmalı.
Platform | Minimum sürüm (1.12.1) |
|---|---|
Android | 5.0 (API level 21) |
iOS | 14 |
macOS | 13 (arm64) |
Windows | 10 (x86-64, arm64) |
Linux | Ubuntu 20.04 |
ALTIN İPUCU
Bu yazının en değerli bilgisi
Bu ipucu, yazının en önemli çıkarımını içeriyor.
Easter Egg
Gizli bir bilgi buldun!
Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?
Okuyucu Ödülü
Bu makaleyi buraya kadar okuduysan, 1.11'den 1.12.1'e geçiş için kullanabileceğin adım adım bir kontrol listesi hak ettin. Aşağıdaki maddeleri sırayla uygula, her adımdan sonra projeyi derleyip test et.
SSS
Compose Multiplatform 1.12 hangi Kotlin sürümünü istiyor?
Compose Multiplatform 1.12.x (1.12.0 ve 1.12.1) için minimum Kotlin 2.1.0 gerekiyor. iOS ve web gibi hızlı gelişen platformları hedefliyorsan JetBrains, Kotlin 2.2.20 veya üzerine yükseltmeni öneriyor. Bu kural sabit değil: resmi uyumluluk sayfası en güncel Compose Multiplatform'un her zaman en güncel Kotlin sürümüyle uyumlu olduğunu belirtiyor, yani proje bazında güncel Kotlin (2.4.20, 7 Eylül 2026) kullanmak daha güvenli bir tercih.
Compose Multiplatform iOS'ta production'a hazır mı?
Evet — Compose for iOS, 1.8.0 sürümünden beri "Stable" olarak etiketleniyor ve 1.12 serisi bu duruma yeni iOS'a özgü iyileştirmeler (seçim tutamaçları, context menu, VoiceOver LiveRegion desteği) ekledi. Web hedefi ise hâlâ "Beta" etiketiyle işaretli; production kararını platform bazında ayrı ayrı vermen gerekiyor.
Compose Multiplatform ile Jetpack Compose sürümleri nasıl hizalanıyor?
Compose Multiplatform, Jetpack Compose'un üzerine inşa edilir ve her bileşen kütüphanesi belirli bir sürüm etiketiyle paketlenir — 1.12.1'de runtime, ui, foundation ve material org.jetbrains.compose.*:1.12.1 koordinatıyla yayınlanırken material3 1.12.0-alpha03 koordinatında kalıyor. Compose Multiplatform sürüm döngüsü, Jetpack Compose sürüm döngüsünü genelde 1-3 ay geriden takip ediyor.
Mevcut Android Compose kodunu iOS'a taşımanın maliyeti ne?
JetBrains kademeli benimsemeyi öneriyor ve bunu ölçek olarak tarif ediyor: "Start small or go all in without extra work" — yani tek bir bileşeni, tek bir ekranı ya da tüm UI'ı paylaşabilirsin, mevcut uygulamanın içine oturuyor. Resmi kaynaklarda somut bir gün/saat rakamı verilmiyor; gerçek maliyet, projenin UI ile iş mantığını ne kadar net ayırdığına bağlı; ayrım net değilse paylaşılan composable'lar hızla platforma özgü dallanmalarla karmaşıklaşabiliyor.
1.12.0 ile 1.12.1 arasındaki fark ne?
1.12.0, 25 Ağustos 2026'da ana özellik sürümü olarak geldi (masaüstü tarafında Compose Hot Reload için MCP server dahil). 1.12.1 ise 22 Eylül 2026'da yayınlanan bir bakım patch'i: resources kütüphanesinde Kotlin 2.5 uyumluluk hazırlığı ve birden çok iOS crash/görünürlük düzeltmesi içeriyor, yeni bir büyük özellik eklemiyor.
Compose Compiler plugin sürümünü Kotlin plugin'inden farklı tutabilir miyim?
Hayır — resmi dokümantasyon, Compose Compiler Gradle plugin'inin Kotlin Multiplatform plugin'iyle aynı sürümde uygulanması gerektiğini açıkça belirtiyor. Farklı sürümler kullanmak desteklenmeyen bir yapılandırma.
Compose Multiplatform'da masaüstü desteği için hangi JDK sürümü gerekiyor?
Masaüstü hedefi için minimum JDK 11 yeterli, ama bu yalnızca çalışma zamanı için geçerli. Uygulamanı .dmg, .msi veya .deb gibi native bir paket haline getirip dağıtacaksan, JDK 17 veya üzeri zorunlu — bu sınırlama jpackage aracının kendi gereksinimlerinden kaynaklanıyor. CI pipeline'ında build agent'ını seçerken bu ayrımı gözden kaçırmamak, paketleme adımının sessizce başarısız olmasını önler.
Sonuç
Compose Multiplatform 1.12 serisi, büyük bir mimari sıçramadan çok, sürüm hizalama disiplinini ve iOS tarafındaki birikmiş hata düzeltmelerini önceliklendiren bir güncelleme. 1.12.0'ın öne çıkanı masaüstü tarafında Compose Hot Reload için MCP server, 1.12.1 ise resources kütüphanesindeki Kotlin 2.5 hazırlığı ve iOS crash düzeltmeleriyle geldi. Yükseltme yaparken en kritik adım, Compose Compiler plugin'ini Kotlin Multiplatform plugin'iyle aynı sürümde tutmak.
Mimari kararlar ve daha büyük bir production vaka analizi için Compose Multiplatform: Android + iOS production deployment yazısına, Kotlin Multiplatform tarafında benzer bir sürüm göçü deneyimi için Kotlin Multiplatform 1.1 Stable production vakası yazısına bakabilirsin. Jetpack Compose'un Android tarafındaki performans yönünü merak ediyorsan Jetpack Compose 1.7 strong skipping ve K2 derleyicisinin detayları için Kotlin 2.1 K2 derleyici ve context parameters yazıları seni tamamlıyor. Native SwiftUI ile karşılaştırmayı daha geniş bir üretim ölçeğinde görmek istersen Flutter vs SwiftUI 60K LOC karşılaştırması yazısı da faydalı bir referans.
Kaynaklar
- Compose Multiplatform ve Kotlin Uyumluluk/Sürümleme Sayfası — minimum Kotlin sürümü, K2 geçişi, JDK gereksinimleri ve platform minimumlarının resmi kaynağı.
- Compose Multiplatform 1.12.0 Release Notes — MCP server, iOS selection handle ve context menu değişikliklerinin birincil kaynağı.
- Compose Multiplatform 1.12.1 Release Notes — Kotlin 2.5 uyumluluk düzeltmesi, iOS toolbar ve accessibility crash düzeltmelerinin birincil kaynağı.
- Kotlin 2.4.20 Release — güncel stabil Kotlin sürümünün yayın tarihi.
- Kotlin Release Roadmap — Kotlin 2.5.0'ın planlanan yayın tarihi (Aralık 2026).
- JetBrains Compose Multiplatform Resmi Sayfası — platform destek etiketleri (iOS Stable, Web Beta), kademeli benimseme ifadesi ve genel konumlandırma.
- Compose Multiplatform 1.8.0 Released: Compose Multiplatform for iOS Is Stable and Production-Ready — iOS hedefinin 1.8.0 ile Stable'a geçtiğinin birincil duyurusu.
- Kotlin Multiplatform Gradle DSL Referansı —
binariesbloğundakidisableNativeCacheseçeneğinin imzası ve kullanım uyarısı. - Compose Compiler ve Kotlin Uyumluluğu — Compose compiler'ın Kotlin ile aynı anda yayınlandığının ve sürüm kaymasının recomposition'a yol açtığının birincil kaynağı.
- DisableCacheInKotlinVersion API Referansı — sabit listesi, rolling deprecation döngüsü ve opt-in gereksinimi.

