Compose Compiler

Mentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
7 Agustus 2024 1.5.15 - - -

Struktur

Compose adalah kombinasi 7 ID Grup Maven dalam androidx. Setiap Grup berisi subkumpulan fungsi yang ditargetkan, masing-masing dengan kumpulan catatan rilisnya sendiri.

Tabel ini menjelaskan grup tersebut dan disertai link ke setiap kumpulan catatan rilis.

GrupDeskripsi
compose.animationMem-build animasi di aplikasi Jetpack Compose untuk memperkaya pengalaman pengguna.
compose.compilerMentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin.
compose.foundationMenulis aplikasi Jetpack Compose dengan elemen penyusun siap pakai dan memperluas dasar untuk mem-build bagian sistem desain Anda sendiri.
compose.materialMem-build UI Jetpack Compose dengan Komponen Desain Material siap pakai. Ini adalah titik entri pada tingkat yang lebih tinggi untuk Compose, yang dirancang untuk menyediakan komponen yang cocok dengan yang dijelaskan di www.material.io.
compose.material3Mem-build UI Jetpack Compose dengan Komponen Desain Material 3, evolusi berikutnya dari Desain Material. Material 3 menyertakan tema dan komponen yang diperbarui serta fitur personalisasi Material You, seperti warna dinamis. Material 3 juga didesain agar selaras dengan gaya visual dan UI sistem Android 12 yang baru.
compose.runtimeElemen penyusun yang penting untuk model pemrograman dan pengelolaan status Compose, serta runtime inti untuk ditargetkan oleh Plugin Compose Compiler.
compose.uiKomponen dasar compose UI yang diperlukan untuk berinteraksi dengan perangkat, termasuk tata letak, gambar, dan input.

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Compose, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.5

Versi 1.5.15

7 Agustus 2024

androidx.compose.compiler:compiler:1.5.15 dan androidx.compose.compiler:compiler-hosted:1.5.15 dirilis. Versi 1.5.15 berisi commit ini.

  • Rilis compiler ini menargetkan Kotlin 1.9.25.

Versi 1.5.14

14 Mei 2024

androidx.compose.compiler:compiler:1.5.14 dan androidx.compose.compiler:compiler-hosted:1.5.14 dirilis. Versi 1.5.14 berisi commit ini.

Rilis compiler ini menargetkan Kotlin 1.9.24.

Perbaikan Bug

  • Memastikan bahwa isi inline diwujudkan saat informasi sumber dinonaktifkan. (Idddb8)

Versi 1.5.13

1 Mei 2024

androidx.compose.compiler:compiler:1.5.13 dan androidx.compose.compiler:compiler-hosted:1.5.13 dirilis. Versi 1.5.13 berisi commit ini.

Fitur baru

  • Pengabaian yang kuat tidak lagi dianggap eksperimental dan aman untuk digunakan dalam produksi. Perilaku ini akan menjadi perilaku default dalam rilis mendatang. (I6c8c4)

Perbaikan Bug

  • Memperbaiki kompatibilitas biner untuk fungsi @Composable dengan parameter class nilai yang memiliki nilai default dan menggabungkan nilai non-primitif. (I89465
  • Perbaikan upstream untuk kompilasi JS dan Native dari multiplatform Compose. Lihat rentang commit di atas untuk mengetahui detail selengkapnya.

Versi 1.5.12

17 April 2024

androidx.compose.compiler:compiler:1.5.12 dan androidx.compose.compiler:compiler-hosted:1.5.12 dirilis. Versi 1.5.12 berisi commit ini.

Perbaikan Bug

  • Memperbaiki masalah terkait kompilasi inkremental dengan Kotlin 1.9.23. (Ifca55)
  • Memperbaiki jenis non-nullable dalam parameter nilai untuk class inline non-primitif. (Ie6bb5)

Versi 1.5.11

20 Maret 2024

androidx.compose.compiler:compiler:1.5.11 dan androidx.compose.compiler:compiler-hosted:1.5.11 dirilis. Versi 1.5.11 berisi commit ini.

Catatan

  • Mulai versi ini, compiler kini akan memanggil startReplaceGroup, bukan startReplacableGroup saat modul dikompilasi dengan runtime yang berisi metode ini. startReplaceGroup diperkenalkan di runtime di Compose Runtime 1.7.0-alpha03. Panggilan ke startRestartGroup hanya dibuat saat menargetkan runtime versi 1.7.0-alpha03 atau yang lebih baru.

  • Memanggil startReplaceGroup, bukan startReplaceableGroup, memungkinkan runtime mendeteksi perubahan secara lebih efisien, tetapi dapat memengaruhi urutan perubahan yang dideteksi oleh Composer dan dikirim ke Applier. Hal ini dapat menyebabkan perubahan perilaku yang tidak begitu terlihat jika Applier mengandalkan urutan deteksi operasi ini.

Fitur Baru

  • Dukungan untuk Kotlin 1.9.23

Perbaikan Bug

  • Memperbaiki jenis generik eksternal bertingkat yang disimpulkan sebagai Tidak Stabil. (I3437f, b/327643787)
  • Mendukung beberapa file konfigurasi stabilitas. (I8db14, b/325326744)
  • Compose Compiler kini mengubah fungsi yang diganti dengan benar dengan menelusuri class dasar/penggantian secara rekursif. (I2c9f9, b/316196500)
  • Pastikan memoisasi referensi fungsi tidak mencoba mengambil induk implisit dari deklarasi lokal saat tidak digunakan secara langsung. (Ib1267)
  • Memperbaiki pembuatan kode untuk lambda crossinline composable (sulit menemukan bug ini tanpa mengaktifkan "nonSkippingGroupOptimization"). (Icb2fd, b/325502738)

Versi 1.5.10

21 Februari 2024

androidx.compose.compiler:compiler:1.5.10 dan androidx.compose.compiler:compiler-hosted:1.5.10 dirilis. Versi 1.5.10 berisi commit ini.

Perbaikan Bug

  • Mendukung literal live di dalam blok init. (b/320397488)
  • Menggunakan parameter dispatcher untuk memeriksa apakah fungsi berada di dalam class lokal (b/323123439)

Versi 1.5.9

7 Februari 2024

androidx.compose.compiler:compiler:1.5.9 dan androidx.compose.compiler:compiler-hosted:1.5.9 dirilis. Versi 1.5.9 berisi commit ini.

Perbaikan Bug

  • Memperbaiki panggilan composable di penginisialisasi objek anonim. (b/320261458, 96315c)
  • Menghitung deklarasi lokal rekursif sebagai rekaman. (b/318745941, e7b4b0)
  • Memperbaiki perilaku perubahan remember intrinsik yang terkait dengan referensi metode Java dengan memaksa .changed untuk jenis fungsi dengan remember intrinsik. (b/319810819, 77128e)
  • Menambahkan pengoptimalan eksperimental yang akan menghapus grup di sekitar fungsi yang tidak dapat dilewati seperti yang ditandai secara eksplisit sebagai @NonSkippableComposable dan fungsi yang secara implisit tidak dapat dilewati seperti fungsi inline dan fungsi yang menampilkan nilai non-Unit seperti remember.
  • Pengoptimalan ini dapat diaktifkan dengan meneruskan opsi plugin, -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true ke compiler Kotlin. (I1688f)

Versi 1.5.8

10 Januari 2024

androidx.compose.compiler:compiler:1.5.8 dan androidx.compose.compiler:compiler-hosted:1.5.8 dirilis. Versi 1.5.8 berisi commit ini.

Fitur Baru

  • Dukungan untuk Kotlin 1.9.22

Perbaikan Bug

  • Memperbaiki bug saat build Compose Compiler menampilkan pengecualian saat di-build menggunakan Java21. Pengguna yang menggunakan Compose Compiler dari Google Maven (yaitu, tidak mem-build-nya sendiri) tidak pernah terpengaruh oleh bug ini. (b/316644294)
  • Memperbaiki bug saat error COMPOSABLE_EXPECTED dilaporkan untuk beberapa pemanggil lambda yang tidak disematkan. (b/309364913)
  • Menambahkan error kompilasi untuk parameter default dalam fungsi terbuka (sebelumnya hanya dibatasi untuk fungsi abstrak). Compose saat ini tidak mendukung penggantian parameter default dari fungsi yang diganti, dan penggantian fungsi composable dengan parameter default gagal saat runtime. Gunakan @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") untuk menyembunyikan, tetapi perhatikan bahwa mengganti fungsi tersebut tanpa memberikan nilai default untuk parameter akan menyebabkan error saat runtime.(b/317490247)
  • Memperbaiki bug dalam remember intrinsik yang mencegah nilai disebarkan dengan benar. (b/316327367)

Kontribusi Eksternal

  • Memperbaiki kesalahan ketik dokumentasi. (aosp/288106)

Versi 1.5.7

19 Desember 2023

androidx.compose.compiler:compiler:1.5.7 dan androidx.compose.compiler:compiler-hosted:1.5.7 dirilis. Versi 1.5.7 berisi commit ini.

Perbaikan Bug

  • Memperbaiki error runtime compose saat parameter kunci remember() memanggil fungsi Composable (b/315855015)
  • Memperbaiki error runtime Compose saat return@ digunakan. (b/315821171)
  • Hindari penggunaan jalur absolut di kunci memoisasi yang memungkinkan penggunaan cache build yang lebih baik. (b/313937484)

Versi 1.5.6

6 Desember 2023

androidx.compose.compiler:compiler:1.5.6 dan androidx.compose.compiler:compiler-hosted:1.5.6 dirilis. Versi 1.5.6 berisi commit ini.

Fitur Baru

  • Dukungan untuk Kotlin 1.9.21

Perbaikan Bug

  • Mengaktifkan remember intrinsik - transformasi compiler yang menyisipkan remember di plugin compiler Compose dan mengganti perbandingan .equals dengan perbandingan int dari meta parameter untuk parameter stabil. Hal ini menyebabkan lebih sedikit slot yang digunakan dan lebih sedikit perbandingan yang dilakukan saat runtime. Opsi ini dapat dinonaktifkan dengan memberikan argumen plugin compiler: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • Memperbaiki memoisasi referensi fungsi yang diadaptasi dan argumen inline. (b/312738720)
  • Mewujudkan grup saat keluar dari panggilan fungsi inline (b/312242547)

Kontribusi Eksternal

  • Memperbaiki error runtime k/native dan k/wasm karena tidak adanya pernyataan return dalam fungsi Composable saat merupakan pernyataan terakhir dan menampilkan const null (aosp/2835716)

Versi 1.5.5

29 November 2023

androidx.compose.compiler:compiler:1.5.5 dan androidx.compose.compiler:compiler-hosted:1.5.5 dirilis. Versi 1.5.5 berisi commit ini.

Perbaikan Bug

  • Memperbaiki error selama pencarian jenis composable yang diganti (Ib6d2c, b/297665426)
    • Menambahkan stabilityConfigurationPath ke parameter yang diketahui (sebelumnya bug mencegah penggunaan flag file konfigurasi). (b/309765121)
    • Perbaikan memoisasi (I081d1, I4d7bf)
    • Perbaikan rekomposisi dengan memperhitungkan status parameter Tidak pasti dalam remember intrinsik (b/263402091)
    • Memperbaiki informasi baris proses debug untuk mengingat intrinsik (Ic8cf5)
    • Memperbaiki error (penurunan IR gagal) selama pencarian jenis composable yang diganti pada waktu kompilasi (b/297665426)

Kontribusi Eksternal

Versi 1.5.4

7 November 2023

androidx.compose.compiler:compiler:1.5.4 dan androidx.compose.compiler:compiler-hosted:1.5.4 dirilis. Versi 1.5.4 berisi commit ini.

Update Dependensi

  • Compose Compiler kini kompatibel dengan Kotlin 1.9.20

Fitur Baru

  • Menambahkan opsi eksperimental untuk mengaktifkan mode skipping kuat. Mode skipping kuat memungkinkan composable dengan parameter tidak stabil dilewati. Selain itu, lambda dengan pengambilan yang tidak stabil akan di-memo. Fitur ini bersifat eksperimental dan tidak dianggap siap untuk penggunaan produksi. (22421e)
  • Menambahkan tanda untuk mengaktifkan/menonaktifkan informasi sumber/pelacakan. (4d45f09)
  • Mengizinkan konfigurasi stabilitas class eksternal melalui file konfigurasi. (If40eb)

Perbaikan Bug

  • Memperbaiki keluar awal dari fungsi composable saat informasi sumber tidak dikumpulkan. (fe6267)
  • Memperbaiki lanjutkan dari fungsi composable. (948362)
  • Memperbaiki resolusi saat fungsi composable dipanggil dari dalam pemanggilan fungsi yang memiliki beberapa overload yang bergantung pada jenis nilai yang ditampilkan ekspresi. (2d36d0)
  • Memperbaiki memoisasi saat referensi fungsi tidak memiliki penerima pengiriman. (fc2326)
  • Memperbaiki pemeriksaan kotor yang mencegah rekomposisi lambda dalam beberapa situasi. (db3699)
  • Memperbaiki stabilitas saat mengompilasi secara bertahap di seluruh modul. (7d3e127)
  • Kurangi cakupan @DontMemoize hanya ke ekspresi lambda. (7a7fa52)
  • Memperbaiki Variabel yang tidak diambil dengan benar saat menggunakan antarmuka fun Composable sebagai lambda. (5ae3556)

Kontribusi Eksternal

  • Menggunakan simbol persamaan struktural untuk perbandingan numerik dan null (c612a0)

Versi 1.5.3

29 Agustus 2023

androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3, dan androidx.compose.compiler:compiler-hosted:1.5.3 dirilis. Versi 1.5.3 berisi commit ini.

Pembaruan Dependensi

  • Versi Kotlin diupdate ke 1.9.10

Versi 1.5.2

23 Agustus 2023

androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2, dan androidx.compose.compiler:compiler-hosted:1.5.2 dirilis. Versi 1.5.2 berisi commit ini.

Perbaikan Bug

  • Menyisipkan nomor baris untuk pernyataan return dalam fungsi composable yang menampilkan konstanta. (I42d89)
  • Memperbaiki kebocoran memori yang disebabkan oleh beralih ke titik entri plugin compiler baru. (4f0a101)
  • Berhenti mengubah antarmuka fun non-composable di compiler Compose. Hal ini menyebabkan antarmuka fun ditangani dengan cara yang sama seperti lambda, termasuk aturan memoisasi. (28b3ce9)
  • Gunakan jenis argumen vararg untuk menyimpulkan stabilitas di situs panggilan. (bc83645)

Versi 1.5.1

26 Juli 2023

androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1, dan androidx.compose.compiler:compiler-hosted:1.5.1 dirilis. Versi 1.5.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki penanda peristiwa rekaman aktivitas komposisi dalam fungsi @ReadOnlyComposable dengan pengembalian awal yang menyebabkan kerusakan rekaman aktivitas.

Versi 1.5.0

18 Juli 2023

androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0, dan androidx.compose.compiler:compiler-hosted:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.

Dukungan K2 eksperimental

  • Compose compiler 1.5.0 memberikan dukungan eksperimental untuk compiler K2. Beberapa fitur Compose belum didukung dengan K2 dan akan hadir di versi compiler mendatang.

Perubahan penting sejak versi 1.4.0

  • Versi Kotlin diupdate ke 1.9.0.
  • Argumen bernama untuk panggilan lambda @Composable tidak digunakan lagi. Fitur ini mengandalkan API compiler internal dan tidak akan didukung oleh K2.
  • Menambahkan diagnostik untuk memverifikasi anotasi @Composable pada panggilan yang diharapkan/sebenarnya. Kedua deklarasi diharapkan memiliki anotasi yang cocok.

Versi 1.4.8

Versi 1.4.8

28 Juni 2023

androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8, dan androidx.compose.compiler:compiler-hosted:1.4.8 dirilis. Versi 1.4.8 berisi commit ini.

Fitur Baru

  • Versi compiler Kotlin target dinaikkan menjadi 1.8.22.

Perbaikan Bug

  • Pesan error yang ditingkatkan untuk penggantian @Composable. Sekarang, alat ini menunjukkan ketidakcocokan anotasi dengan benar.
  • Memberi peringatan tentang anotasi @Composable yang berlebihan pada lambda inline yang tidak boleh ditandai sebagai composable. Fitur ini tidak akan didukung dengan compiler K2.

Versi 1.4.7

Versi 1.4.7

3 Mei 2023

androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7, dan androidx.compose.compiler:compiler-hosted:1.4.7 dirilis. Versi 1.4.7 berisi commit ini.

Fitur Baru

  • Dukungan untuk Kotlin 1.8.21
  • Menambahkan versi primitif State API, yang memungkinkan nilai Int, Long, Float, dan Double dilacak dalam objek State tanpa menimbulkan penalti untuk autoboxing.

Versi 1.4.6

Versi 1.4.6

19 April 2023

androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6, dan androidx.compose.compiler:compiler-hosted:1.4.6 dirilis. Versi 1.4.6 berisi commit ini.

Perbaikan Bug

  • Compose Compiler kini bergantung pada Java11 (bukan Java17 yang diperlukan oleh Compose Compiler versi 1.4.5) untuk lebih mendukung pengguna yang masih menggunakan Java versi lama.

Versi 1.4.5

Versi 1.4.5

12 April 2023

androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5, dan androidx.compose.compiler:compiler-hosted:1.4.5 dirilis. Versi 1.4.5 berisi commit ini.

CATATAN Build Compose Compiler ini mengharuskan lingkungan build Anda menggunakan Java 17+. Berdasarkan masukan pengguna, kami akan menghapus persyaratan ini kembali ke Java 11 dan menindaklanjuti dengan rilis lain (1.4.6) untuk lebih mendukung pengguna yang menggunakan versi Java yang lebih lama.

Fitur Baru

Dukungan untuk Kotlin 1.8.20

Perbaikan Bug

  • Memperluas persyaratan penggantian operator pemanggilan composable ke class dan antarmuka yang memperluas antarmuka lambda dengan anotasi yang sesuai.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Memungkinkan penggunaan anotasi @Composable pada operator getValue dan menandai pengambil yang dihasilkan untuk delegasi sebagai composable di IR untuk memastikannya ditransformasikan dengan benar nanti. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Memperbaiki error runtime compose internal (Diharapkan applyChanges() telah dipanggil) untuk fungsi inline.b/274786923
  • Hindari pengambilan ProcessCancelledException karena memiliki arti khusus di IDE.b/274725600

Kontribusi Eksternal

Versi 1.4.4

Versi 1.4.4

22 Maret 2023

androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4, dan androidx.compose.compiler:compiler-hosted:1.4.4 dirilis. Versi 1.4.4 berisi commit ini.

Perbaikan Bug

  • Memperbaiki pengembalian lambda inline Composable (72172b)
  • Mengizinkan composable menampilkan Nothing (Jangan membuat error saat menggunakan TODO dalam fungsi composable) 3aea8d)

Versi 1.4.3

Versi 1.4.3

22 Februari 2023

androidx.compose.compiler:compiler:1.4.3 dirilis. Versi 1.4.3 berisi commit ini.

Perbaikan Bug

  • Memperbaiki panggilan composable bersyarat dalam argumen panggilan composable (Ie93edb)

Versi 1.4.2

Versi 1.4.2

8 Februari 2023

androidx.compose.compiler:compiler:1.4.2 dirilis. Versi 1.4.2 berisi commit ini.

Fitur Baru

  • Dukungan untuk Kotlin 1.8.10

Perbaikan Bug

  • Menambahkan grup dalam isi lambda yang tidak dapat dilewati untuk menghindari bug rekomposisi.

Versi 1.4.1

Versi 1.4.1

8 Februari 2023

androidx.compose.compiler:compiler:1.4.1 dirilis. Versi 1.4.1 berisi commit ini.

Perbaikan Bug

  • Menonaktifkan pengoptimalan remember intrinsik yang sebelumnya telah memperkenalkan beberapa bug pembuatan kode.
  • Menonaktifkan remember intrinsik dalam fungsi yang berisi parameter vararg.
  • Memperbaiki tindakan melewatkan yang keliru dalam composable dengan parameter default
  • Menambahkan pesan error penggantian defensif jika gagal memeriksa kompatibilitas Kotlin.
  • Menghapus pembuatan kode yang terlewat dari lambda inline

Versi 1.4.0

17 Januari 2023

androidx.compose.compiler:compiler:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.

Perubahan penting sejak versi 1.3.0

  • Dukungan untuk Kotlin 1.8.0
  • Menonaktifkan remember intrinsik
  • Class data alat UI Group kini memiliki kolom, isInline, yang menunjukkan apakah grup tersebut untuk panggilan ke fungsi composable inline. Jika isInline adalah true, maka panggilan tersebut untuk fungsi composable inline. Namun, nilainya mungkin salah (false) untuk panggilan ke fungsi composable inline yang berasal dari modul yang dikompilasi dengan versi plugin compiler compose yang tidak menghasilkan informasi fungsi inline.
  • ImmutableCollection dan elemen seinduk Persisten kini dianggap stabil.
  • Parameter baru di AnimatedContent untuk label alat
  • Memperbaiki pembuatan kode yang salah untuk lambda inline

Versi 1.4.0-alpha02

11 November 2022

androidx.compose.compiler:compiler:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.7.21

Versi 1.4.0-alpha01

9 November 2022

androidx.compose.compiler:compiler:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki kemampuan untuk menampilkan lebih awal dari fungsi composable inline (b/255350755)
  • Memperbaiki bug dalam penurunan umpan yang merusak dukungan Kotlin/JS di Compose (6a40f8).

Versi 1.3

Versi 1.3.2

4 Oktober 2022

androidx.compose.compiler:compiler:1.3.2 dirilis. Versi 1.3.2 berisi commit ini.

Fitur Baru

  • Versi ini mencakup update ke Kotlin 1.7.20

Versi 1.3.1

7 September 2022

androidx.compose.compiler:compiler:1.3.1 dirilis. Versi 1.3.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki IllegalStateException saat Compose Compiler salah menandai jenis unit sebagai composable dalam beberapa situasi. (b/237863365)
  • Pengguna kini harus menentukan versi Kotlin pilihan mereka saat menyembunyikan pemeriksaan versi compiler (I9e5e2)

Versi 1.3.0

10 Agustus 2022

androidx.compose.compiler:compiler:1.3.0 dirilis. Versi 1.3.0 berisi commit ini.

Versi 1.3.0-rc02

3 Agustus 2022

androidx.compose.compiler:compiler:1.3.0-rc02 dirilis. Versi 1.3.0-rc02 berisi commit ini.

Versi 1.3.0-rc01

27 Juli 2022

androidx.compose.compiler:compiler:1.3.0-rc01 dirilis. Versi 1.3.0-rc01 berisi commit ini.

Versi 1.3.0-beta01

20 Juli 2022

androidx.compose.compiler:compiler:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.7.10

Versi 1.2

Versi 1.2.0

29 Juni 2022

androidx.compose.compiler:compiler:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.

Perubahan penting sejak 1.1.0

Versi 1.2.0-rc02

22 Juni 2022

androidx.compose.compiler:compiler:1.2.0-rc02 dirilis. Versi 1.2.0-rc02 berisi commit ini.

Perbaikan Bug

  • Menghapus pembuatan kode Peristiwa Rekaman Aktivitas composable (aosp/2127922)

Versi 1.2.0-rc01

15 Juni 2022

androidx.compose.compiler:compiler:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.

Versi 1.2.0-beta03

1 Juni 2022

androidx.compose.compiler:compiler:1.2.0-beta03 dirilis. Versi 1.2.0-beta03 berisi commit ini.

Versi 1.2.0-beta02

18 Mei 2022

androidx.compose.compiler:compiler:1.2.0-beta02 dirilis. Versi 1.2.0-beta02 berisi commit ini.

Versi 1.2.0-beta01

11 Mei 2022

androidx.compose.compiler:compiler:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.

  • Ini adalah rilis beta pertama 1.2. Tidak ada perubahan sejak versi alfa terakhir.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.6.21

Versi 1.2.0-alpha08

20 April 2022

androidx.compose.compiler:compiler:1.2.0-alpha08 dirilis. Versi 1.2.0-alpha08 berisi commit ini.

Versi 1.2.0-alpha07

6 April 2022

androidx.compose.compiler:compiler:1.2.0-alpha07 dirilis. Versi 1.2.0-alpha07 berisi commit ini.

Versi 1.2.0-alpha06

23 Maret 2022

androidx.compose.compiler:compiler:1.2.0-alpha06 dirilis. Versi 1.2.0-alpha06 berisi commit ini.

Versi 1.2.0-alpha05

9 Maret 2022

androidx.compose.compiler:compiler:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit ini.

Versi 1.2.0-alpha04

23 Februari 2022

androidx.compose.compiler:compiler:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit ini.

Versi 1.2.0-alpha03

9 Februari 2022

androidx.compose.compiler:compiler:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.

Versi 1.2.0-alpha02

26 Januari 2022

androidx.compose.compiler:compiler:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.

Versi 1.2.0-alpha01

12 Januari 2022

androidx.compose.compiler:compiler:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.6.10.

Versi 1.1

Versi 1.1.1

23 Februari 2022

androidx.compose.compiler:compiler:1.1.1 dirilis. Versi 1.1.1 berisi commit ini.

Perbaikan Bug

Versi 1.1.0

9 Februari 2022

androidx.compose.compiler:compiler:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Perubahan penting sejak versi 1.0.0

  • Dukungan yang stabil untuk Efek overscroll Android 12
  • Peningkatan penentuan ukuran target sentuh
  • Perhatikan bahwa, sehubungan dengan Compose 1.0, komponen Material akan memperluas ruang tata letaknya untuk memenuhi panduan aksesibilitas Material terkait ukuran target sentuh. Misalnya, target sentuh Button akan diperluas hingga ukuran minimum 48x48dp, meskipun Anda menyetel ukuran Button menjadi lebih kecil. Tindakan ini akan menyelaraskan Compose Material ke perilaku Komponen Desain Material yang sama, sehingga memberikan perilaku yang konsisten jika Anda menggabungkan Views dan Compose. Perubahan ini juga memastikan bahwa saat Anda membuat UI menggunakan komponen Compose Material, persyaratan minimum untuk aksesibilitas target sentuh akan terpenuhi.
  • Dukungan yang stabil untuk Navigation Rail
  • Menstabilkan sejumlah API yang sebelumnya masih eksperimental
  • Dukungan untuk versi Kotlin yang lebih baru

Versi 1.1.0-rc03

26 Januari 2022

androidx.compose.compiler:compiler:1.1.0-rc03 dirilis. Versi 1.1.0-rc03 berisi commit ini.

Perbaikan Bug

  • Diupdate agar mendukung Compose Material 1.1.0-rc03

Versi 1.1.0-rc02

16 Desember 2021

androidx.compose.compiler:compiler:1.1.0-rc02 dirilis. Versi 1.1.0-rc02 berisi commit berikut ini.

Update dependensi

  • Compose Compiler 1.1.0-rc02 kompatibel dengan Kotlin 1.6.10.

Versi 1.1.0-rc01

15 Desember 2021

androidx.compose.compiler:compiler:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perubahan dependensi

  • Compose Compiler 1.1.0-rc01 kompatibel dengan Kotlin 1.6.0.
  • Build 1.6.10 yang kompatibel tersedia melalui SNAPSHOT androidx.dev dengan buildId 8003490. Cuplikan dependensi berikut akan mengonfigurasi SNAPSHOT untuk Compose Compiler:

    Tambahkan cuplikan berikut ke file build.gradle root untuk project Anda:

    buildscript {
        repositories {
            google()
            jcenter()
            maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' }
        }
    }
    

    Tambahkan cuplikan berikut ke file build.gradle untuk aplikasi atau modul yang menggunakan Compose:

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Versi 1.1.0-beta04

1 Desember 2021

androidx.compose.compiler:compiler:1.1.0-beta04 dirilis. Versi 1.1.0-beta04 berisi commit ini.

Fitur Baru

  • Diupdate agar kompatibel dengan Kotlin 1.6.0

Versi 1.1.0-beta03

17 November 2021

androidx.compose.compiler:compiler:1.1.0-beta03 dirilis. Versi 1.1.0-beta03 berisi commit ini.

Versi 1.1.0-beta02

3 November 2021

androidx.compose.compiler:compiler:1.1.0-beta02 dirilis. Versi 1.1.0-beta02 berisi commit ini.

Versi 1.1.0-beta01

27 Oktober 2021

androidx.compose.compiler:compiler:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.

Versi 1.1.0-alpha06

13 Oktober 2021

androidx.compose.compiler:compiler:1.1.0-alpha06 dirilis. Versi 1.1.0-alpha06 berisi commit ini.

Versi 1.1.0-alpha05

29 September 2021

androidx.compose.compiler:compiler:1.1.0-alpha05 dirilis. Versi 1.1.0-alpha05 berisi commit ini.

Versi 1.1.0-alpha04

15 September 2021

androidx.compose.compiler:compiler:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit ini.

Versi 1.1.0-alpha03

1 September 2021

androidx.compose.compiler:compiler:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.

Fitur Baru

  • Compose Compiler kini mendukung versi Compose Runtime yang lebih lama (1.0). Sebelum perubahan ini, Compose Compiler hanya kompatibel dengan Compose Runtime versi yang sama atau yang lebih baru. Setelah perubahan ini, Compose Compiler kompatibel dengan versi Compose Runtime yang lebih lama (1.0). (aosp/1796968)
  • Mengupdate Compose 1.1.0-alpha03 agar bergantung pada Kotlin 1.5.30. (I74545)

Versi 1.1.0-alpha02

18 Agustus 2021

androidx.compose.compiler:compiler:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit ini.

Versi 1.1.0-alpha01

4 Agustus 2021

androidx.compose.compiler:compiler:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.

Versi 1.0

Versi 1.0.5

3 November 2021

androidx.compose.compiler:compiler:1.0.5 dirilis. Versi 1.0.5 berisi commit ini.

Perbaikan Bug

  • Memperbaiki instance derivedStateOf pelacakan error. (aosp/1792247)

Versi 1.0.4

13 Oktober 2021

androidx.compose.compiler:compiler:1.0.4 dirilis. Versi 1.0.4 berisi commit ini.

Update Dependensi

  • Diupdate agar bergantung pada Kotlin 1.5.31

Versi 1.0.3

29 September 2021

androidx.compose.compiler:compiler:1.0.3 dirilis. Versi 1.0.3 berisi commit ini.

Update Dependensi

  • Diupdate agar bergantung pada Kotlin 1.5.30

Versi 1.0.2

1 September 2021

androidx.compose.compiler:compiler:1.0.2 dirilis. Versi 1.0.2 berisi commit ini.

Diupdate untuk mendukung rilis Compose 1.0.2. Compose 1.0.2 masih kompatibel dengan Kotlin 1.5.21.

Versi 1.0.1

4 Agustus 2021

androidx.compose.compiler:compiler:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.

Update Dependensi

  • Diupdate agar bergantung pada Kotlin 1.5.21.

Versi 1.0.0

28 Juli 2021

androidx.compose.compiler:compiler:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.

Fitur utama 1.0.0

Ini adalah rilis stabil pertama Compose. Lihat blog Rilis Compose resmi untuk mengetahui detail selengkapnya.

Versi 1.0.0-rc02

14 Juli 2021

androidx.compose.compiler:compiler:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini.

Versi 1.0.0-rc01

1 Juli 2021

androidx.compose.compiler:compiler:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.

Versi 1.0.0-beta09

16 Juni 2021

androidx.compose.compiler:compiler:1.0.0-beta09 dirilis. Versi 1.0.0-beta09 berisi commit ini.

Versi 1.0.0-beta08

2 Juni 2021

androidx.compose.compiler:compiler:1.0.0-beta08 dirilis. Versi 1.0.0-beta08 berisi commit ini.

Versi 1.0.0-beta07

18 Mei 2021

androidx.compose.compiler:compiler:1.0.0-beta07 dirilis. Versi 1.0.0-beta07 berisi commit ini.

Versi 1.0.0-beta06

5 Mei 2021

androidx.compose.compiler:compiler:1.0.0-beta06 dirilis. Versi 1.0.0-beta06 berisi commit ini.

Versi 1.0.0-beta05

21 April 2021

androidx.compose.compiler:compiler:1.0.0-beta05 dirilis. Versi 1.0.0-beta05 berisi commit ini.

Versi 1.0.0-beta04

7 April 2021

androidx.compose.compiler:compiler:1.0.0-beta04 dirilis. Versi 1.0.0-beta04 berisi commit ini.

Versi 1.0.0-beta03

24 Maret 2021

androidx.compose.compiler:compiler:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit ini.

Versi 1.0.0-beta02

10 Maret 2021

androidx.compose.compiler:compiler:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.

Versi 1.0.0-beta01

24 Februari 2021

androidx.compose.compiler:compiler:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

Ini adalah rilis pertama Compose 1.0.0 Beta.

Versi 1.0.0-alpha12

10 Februari 2021

androidx.compose.compiler:compiler:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.

Versi 1.0.0-alpha11

28 Januari 2021

androidx.compose.compiler:compiler:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.

Versi 1.0.0-alpha10

13 Januari 2021

androidx.compose.compiler:compiler:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.

Versi 1.0.0-alpha09

16 Desember 2020

androidx.compose.compiler:compiler:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit ini.

Versi 1.0.0-alpha08

2 Desember 2020

androidx.compose.compiler:compiler:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.

Versi 1.0.0-alpha07

11 November 2020

androidx.compose.compiler:compiler:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.

Fitur Baru

  • Inferensi & Propagasi Stabilitas. Plugin Compose Compiler akan menganalisis jenis yang dikompilasi untuk menyimpulkan apakah memenuhi syarat untuk pengoptimalan tertentu pada runtime. Inferensi hasil ini kemudian disintesis sebagai metadata ke dalam class untuk digunakan oleh compiler dalam modul lain. Selain itu, hasil runtime dari inferensi ini diteruskan dalam metadata yang diteruskan ke panggilan composable selama komposisi. Hal ini memerlukan protokol metadata yang berbeda untuk fungsi composable, yang berarti bahwa fungsi composable yang dikompilasi dengan compiler alpha07 tidak akan kompatibel secara biner dengan fungsi composable yang dikompilasi dengan versi compiler sebelumnya. (aosp/1431988)

Versi 1.0.0-alpha06

28 Oktober 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.

Versi 1.0.0-alpha05

14 Oktober 2020

androidx.compose.compiler:compiler:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Versi 1.0.0-alpha04

1 Oktober 2020

androidx.compose.compiler:compiler:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.

androidx.compose:compose-compiler telah difaktorkan ulang ke androidx.compose.compiler:compiler. Rilis ini merupakan rilis pertama di grup baru.