คอมไพเลอร์ Compose

แปลงฟังก์ชัน @Composable และเปิดใช้การเพิ่มประสิทธิภาพด้วยปลั๊กอินคอมไพเลอร์ Kotlin
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
7 สิงหาคม 2024 1.5.15 - - -

โครงสร้าง

Compose คือการรวมรหัสกลุ่ม Maven 7 รายการภายใน androidx แต่ละกลุ่ม มีฟังก์ชันการทำงานย่อยที่กำหนดเป้าหมายไว้ โดยแต่ละกลุ่มจะมีชุดหมายเหตุประจำรุ่นของตัวเอง

ตารางนี้อธิบายกลุ่มและลิงก์ไปยังชุดหมายเหตุประจำรุ่นแต่ละชุด

กลุ่มคำอธิบาย
compose.animationสร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack Compose เพื่อยกระดับประสบการณ์ของผู้ใช้
compose.compilerแปลงฟังก์ชัน @Composable และเปิดใช้การเพิ่มประสิทธิภาพด้วยปลั๊กอินคอมไพเลอร์ Kotlin
compose.foundationเขียนแอปพลิเคชัน Jetpack Compose ด้วยองค์ประกอบพื้นฐานที่พร้อมใช้งาน และขยายรากฐานเพื่อสร้างชิ้นส่วนระบบการออกแบบของคุณเอง
compose.materialสร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design ที่พร้อมใช้งาน นี่คือจุดแรกเข้าของ Compose ในระดับที่สูงขึ้น ซึ่งออกแบบมาเพื่อจัดหาคอมโพเนนต์ที่ตรงกับคอมโพเนนต์ที่อธิบายไว้ที่ www.material.io
compose.material3สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design 3 ซึ่งเป็นวิวัฒนาการขั้นถัดไปของ Material Design Material 3 มีการปรับปรุงการกำหนดธีมและคอมโพเนนต์ รวมถึงฟีเจอร์การปรับเปลี่ยน Material You ในแบบของคุณ เช่น สีแบบเปลี่ยนอัตโนมัติ และออกแบบมาให้สอดคล้องกับสไตล์ภาพและ UI ของระบบ Android 12 ใหม่
compose.runtimeบล็อกการสร้างพื้นฐานของรูปแบบการเขียนโปรแกรมและการจัดการสถานะของ Compose รวมถึงรันไทม์หลักสำหรับปลั๊กอินคอมไพเลอร์ Compose เพื่อกำหนดเป้าหมาย
compose.uiคอมโพเนนต์พื้นฐานของ UI ของ Compose ที่จำเป็นต่อการโต้ตอบกับอุปกรณ์ ซึ่งรวมถึงเลย์เอาต์ การวาด และอินพุต

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ใน Compose คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ แอปหรือโมดูล

ดึงดูด

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"
    }
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยให้ Jetpack ทำงานได้ดีขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา

รุ่น 1.5

เวอร์ชัน 1.5.15

7 สิงหาคม 2024

androidx.compose.compiler:compiler:1.5.15 และ androidx.compose.compiler:compiler-hosted:1.5.15 เปิดตัวแล้ว เวอร์ชัน 1.5.15 มีการเปลี่ยนแปลงเหล่านี้

  • การเปิดตัวคอมไพเลอร์นี้มีเป้าหมายเป็น Kotlin 1.9.25

เวอร์ชัน 1.5.14

14 พฤษภาคม 2024

androidx.compose.compiler:compiler:1.5.14 และ androidx.compose.compiler:compiler-hosted:1.5.14 เปิดตัวแล้ว เวอร์ชัน 1.5.14 มีการคอมมิตเหล่านี้

การเปิดตัวคอมไพเลอร์นี้มีเป้าหมายเป็น Kotlin 1.9.24

การแก้ไขข้อบกพร่อง

  • ตรวจสอบว่าเนื้อหาในบรรทัดแสดงเมื่อปิดข้อมูลแหล่งที่มา (Idddb8)

เวอร์ชัน 1.5.13

1 พฤษภาคม 2024

androidx.compose.compiler:compiler:1.5.13 และ androidx.compose.compiler:compiler-hosted:1.5.13 เปิดตัวแล้ว เวอร์ชัน 1.5.13 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

  • การข้ามอย่างรวดเร็วไม่ได้อยู่ระหว่างการทดสอบอีกต่อไป และปลอดภัยสำหรับการใช้งานจริง ซึ่งจะเป็นลักษณะการทำงานเริ่มต้นในการเปิดตัวรุ่นถัดไป (I6c8c4)

การแก้ไขข้อบกพร่อง

  • แก้ไขความเข้ากันได้แบบไบนารีสำหรับฟังก์ชัน @Composable ที่มีพารามิเตอร์คลาสค่าซึ่งมีค่าเริ่มต้นและห่อหุ้มค่าที่ไม่ใช่ค่าดั้งเดิม (I89465
  • การแก้ไขที่ส่งต่อสำหรับ JS และการคอมไพล์เนทีฟจาก Compose Multiplatform ดูรายละเอียดทั้งหมดได้ที่ช่วงการคอมมิตด้านบน

เวอร์ชัน 1.5.12

17 เมษายน 2024

androidx.compose.compiler:compiler:1.5.12 และ androidx.compose.compiler:compiler-hosted:1.5.12 เปิดตัวแล้ว เวอร์ชัน 1.5.12 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาเกี่ยวกับการคอมไพล์แบบเพิ่มทีละรายการด้วย Kotlin 1.9.23 (Ifca55)
  • แก้ไขประเภทที่กำหนดให้ต้องมีค่าในพารามิเตอร์ค่าสำหรับคลาสอินไลน์ที่ไม่ใช่แบบดั้งเดิม (Ie6bb5)

เวอร์ชัน 1.5.11

20 มีนาคม 2024

androidx.compose.compiler:compiler:1.5.11 และ androidx.compose.compiler:compiler-hosted:1.5.11 เปิดตัวแล้ว เวอร์ชัน 1.5.11 มีการเปลี่ยนแปลงเหล่านี้

Notes

  • ตั้งแต่เวอร์ชันนี้เป็นต้นไป คอมไพเลอร์จะเรียกใช้ startReplaceGroup แทน startReplacableGroup เมื่อคอมไพล์โมดูลด้วยรันไทม์ที่มีเมธอดนี้ startReplaceGroup เปิดตัวในรันไทม์ใน Compose Runtime 1.7.0-alpha03 ระบบจะสร้างการเรียกไปยัง startRestartGroup เมื่อกำหนดเป้าหมายเป็นรันไทม์เวอร์ชัน 1.7.0-alpha03 ขึ้นไปเท่านั้น

  • การเรียกใช้ startReplaceGroup แทน startReplaceableGroup จะช่วยให้รันไทม์ตรวจหาการเปลี่ยนแปลงได้อย่างมีประสิทธิภาพมากขึ้น แต่อาจส่งผลต่อลำดับที่ Composer ตรวจหาการเปลี่ยนแปลงและส่งไปยัง Applier ซึ่งอาจส่งผลให้เกิดการเปลี่ยนแปลงลักษณะการทำงานเล็กน้อยหาก Applier อาศัยลำดับการตรวจหาการดำเนินการเหล่านี้

ฟีเจอร์ใหม่

  • รองรับ Kotlin 1.9.23

การแก้ไขข้อบกพร่อง

  • แก้ไขประเภททั่วไปภายนอกที่ซ้อนกันซึ่งอนุมานว่าไม่เสถียร (I3437f, b/327643787)
  • รองรับไฟล์การกำหนดค่าความเสถียรหลายไฟล์ (I8db14, b/325326744)
  • ตอนนี้ Compose Compiler จะแปลงฟังก์ชันที่ลบล้างได้อย่างถูกต้องโดยการเดินผ่านคลาสพื้นฐาน/การลบล้างแบบเรียกซ้ำ (I2c9f9, b/316196500)
  • ตรวจสอบว่าการจดจำฟังก์ชันอ้างอิงไม่ได้พยายามจับภาพองค์ประกอบหลักโดยนัยของการประกาศในเครื่องเมื่อไม่ได้ใช้โดยตรง (Ib1267)
  • แก้ไขการสร้างโค้ดสำหรับ Composable Crossinline Lambda (พบข้อบกพร่องนี้ได้ยากหากไม่ได้เปิดใช้ "nonSkippingGroupOptimization") (Icb2fd, b/325502738)

เวอร์ชัน 1.5.10

21 กุมภาพันธ์ 2024

androidx.compose.compiler:compiler:1.5.10 และ androidx.compose.compiler:compiler-hosted:1.5.10 เปิดตัวแล้ว เวอร์ชัน 1.5.10 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • รองรับค่าตัวอักษรแบบสดภายในบล็อก init (b/320397488)
  • ใช้พารามิเตอร์ Dispatcher เพื่อตรวจสอบว่าฟังก์ชันอยู่ภายในคลาสในเครื่องหรือไม่ (b/323123439)

เวอร์ชัน 1.5.9

7 กุมภาพันธ์ 2024

androidx.compose.compiler:compiler:1.5.9 และ androidx.compose.compiler:compiler-hosted:1.5.9 เปิดตัวแล้ว เวอร์ชัน 1.5.9 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขการเรียกที่สามารถคอมโพสได้ในตัวเริ่มต้นออบเจ็กต์ที่ไม่ระบุตัวบุคคล (b/320261458, 96315c)
  • นับการประกาศในเครื่องแบบเรียกซ้ำเป็นการจับภาพ (b/318745941, e7b4b0)
  • แก้ไขลักษณะการทำงานของการเปลี่ยนแปลงการจดจำโดยธรรมชาติที่เกี่ยวข้องกับการอ้างอิงเมธอด Java โดยบังคับให้ .changed สำหรับประเภทฟังก์ชันที่มีการจดจำโดยธรรมชาติ (b/319810819, 77128e)
  • เพิ่มการเพิ่มประสิทธิภาพเวอร์ชันทดลองที่จะนำกลุ่มรอบๆ ฟังก์ชันที่ข้ามไม่ได้ออก เช่น ฟังก์ชันที่ทำเครื่องหมายอย่างชัดเจนเป็น @NonSkippableComposable และฟังก์ชันที่ข้ามไม่ได้โดยนัย เช่น ฟังก์ชันในบรรทัดและฟังก์ชันที่แสดงผลค่าที่ไม่ใช่หน่วย เช่น remember
  • คุณเปิดใช้การเพิ่มประสิทธิภาพนี้ได้โดยส่งตัวเลือกปลั๊กอิน -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true ไปยังคอมไพเลอร์ Kotlin (I1688f)

เวอร์ชัน 1.5.8

10 มกราคม 2024

androidx.compose.compiler:compiler:1.5.8 และ androidx.compose.compiler:compiler-hosted:1.5.8 เปิดตัวแล้ว เวอร์ชัน 1.5.8 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รองรับ Kotlin 1.9.22

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่ทำให้การสร้าง Compose Compiler สร้างข้อยกเว้นเมื่อสร้างโดยใช้ Java21 ผู้ใช้ที่ใช้ Compose Compiler จาก Google Maven (กล่าวคือไม่ได้สร้างด้วยตนเอง) ไม่เคยได้รับผลกระทบจากข้อบกพร่องนี้ (b/316644294)
  • แก้ไขข้อบกพร่องที่ทำให้มีการรายงานข้อผิดพลาด COMPOSABLE_EXPECTED สำหรับผู้โทรบางรายของ Lambda ที่ไม่ได้ฝัง (b/309364913)
  • เพิ่มข้อผิดพลาดในการคอมไพล์สำหรับพารามิเตอร์เริ่มต้นในฟังก์ชันแบบเปิด (ก่อนหน้านี้จำกัดเฉพาะฟังก์ชันแบบนามธรรม) ขณะนี้ Compose ไม่รองรับการแทนที่พารามิเตอร์เริ่มต้นจากฟังก์ชันที่ลบล้าง และการลบล้างฟังก์ชันที่ใช้ร่วมกันได้ด้วยพารามิเตอร์เริ่มต้นจะล้มเหลวในรันไทม์ ใช้ @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") เพื่อระงับ แต่โปรดทราบว่าการลบล้างฟังก์ชันดังกล่าวโดยไม่ระบุค่าเริ่มต้นสำหรับพารามิเตอร์จะทําให้เกิดข้อขัดข้องขณะรันไทม์ (b/317490247)
  • แก้ไขข้อบกพร่องในฟังก์ชันการจดจำโดยธรรมชาติซึ่งทำให้ค่าไม่แพร่กระจายอย่างถูกต้อง (b/316327367)

การมีส่วนร่วมภายนอก

  • แก้ไขการพิมพ์ผิดในเอกสาร (aosp/288106)

เวอร์ชัน 1.5.7

19 ธันวาคม 2023

androidx.compose.compiler:compiler:1.5.7 และ androidx.compose.compiler:compiler-hosted:1.5.7 เปิดตัวแล้ว เวอร์ชัน 1.5.7 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องของรันไทม์ Compose เมื่อพารามิเตอร์คีย์ remember() เรียกใช้ฟังก์ชันที่ประกอบกันได้ (b/315855015)
  • แก้ไขการทำงานล้มเหลวของรันไทม์การเขียนเมื่อใช้ return@ (b/315821171)
  • หลีกเลี่ยงการใช้เส้นทางแบบสัมบูรณ์ในคีย์การจดจำ ซึ่งจะช่วยให้ใช้แคชของบิลด์ได้ดียิ่งขึ้น (b/313937484)

เวอร์ชัน 1.5.6

6 ธันวาคม 2023

androidx.compose.compiler:compiler:1.5.6 และ androidx.compose.compiler:compiler-hosted:1.5.6 เปิดตัวแล้ว เวอร์ชัน 1.5.6 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รองรับ Kotlin 1.9.21

การแก้ไขข้อบกพร่อง

  • เปิดใช้การจดจำโดยธรรมชาติ - การแปลงคอมไพเลอร์ที่แทรกการจดจำในปลั๊กอินคอมไพเลอร์ Compose และแทนที่.equalsด้วยการเปรียบเทียบ int ของข้อมูลเมตาพารามิเตอร์สำหรับพารามิเตอร์ที่เสถียร ซึ่งจะส่งผลให้มีการใช้ช่องน้อยลงและมีการเปรียบเทียบน้อยลงในขณะรันไทม์ คุณปิดใช้ตัวเลือกนี้ได้โดยระบุอาร์กิวเมนต์ปลั๊กอินคอมไพเลอร์: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false (If675f)
  • แก้ไขการจดจำฟังก์ชันอ้างอิงที่ดัดแปลงและอาร์กิวเมนต์ในบรรทัด (b/312738720)
  • ตระหนักถึงกลุ่มเมื่อออกจากฟังก์ชันการเรียกใช้แบบอินไลน์ (b/312242547)

การมีส่วนร่วมภายนอก

  • แก้ไขการขัดข้องของรันไทม์ k/native และ k/wasm เนื่องจากไม่มีคำสั่ง return ในฟังก์ชันที่ใช้ร่วมกันได้เมื่อเป็นคำสั่งสุดท้ายและแสดงผลค่าคงที่ null (aosp/2835716)

เวอร์ชัน 1.5.5

29 พฤศจิกายน 2023

androidx.compose.compiler:compiler:1.5.5 และ androidx.compose.compiler:compiler-hosted:1.5.5 เปิดตัวแล้ว เวอร์ชัน 1.5.5 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องระหว่างการค้นหาประเภทที่เขียนได้ซึ่งมีการลบล้าง (Ib6d2c, b/297665426)
    • เพิ่ม stabilityConfigurationPath ลงในพารามิเตอร์ที่รู้จัก (ก่อนหน้านี้ข้อบกพร่องทำให้ใช้แฟล็กไฟล์การกำหนดค่าไม่ได้) (b/309765121)
    • การแก้ไขการจดจำ (I081d1, I4d7bf)
    • แก้ไขการประกอบใหม่โดยการพิจารณาสถานะพารามิเตอร์ที่ไม่แน่นอนในการจดจำโดยสัญชาตญาณ (b/263402091)
    • แก้ไขข้อมูลบรรทัดการแก้ไขข้อบกพร่องสำหรับการจดจำโดยสัญชาตญาณ (Ic8cf5)
    • แก้ไขข้อขัดข้อง (ลด IR ไม่สำเร็จ) ระหว่างการค้นหาประเภทที่ประกอบได้ที่ลบล้างในเวลาคอมไพล์ (b/297665426)

การมีส่วนร่วมภายนอก

  • บันทึกการอ้างอิงฟังก์ชันที่เสถียรพร้อมอาร์กิวเมนต์ (I4d7bf, b/302680514)

เวอร์ชัน 1.5.4

7 พฤศจิกายน 2023

androidx.compose.compiler:compiler:1.5.4 และ androidx.compose.compiler:compiler-hosted:1.5.4 เปิดตัวแล้ว เวอร์ชัน 1.5.4 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ Compose Compiler ใช้ได้กับ Kotlin 1.9.20 แล้ว

ฟีเจอร์ใหม่

  • เพิ่มตัวเลือกทดลองเพื่อเปิดใช้โหมดข้ามอย่างรวดเร็ว โหมดข้ามอย่างเข้มงวดช่วยให้ข้าม Composable ที่มีพารามิเตอร์ที่ไม่เสถียรได้ นอกจากนี้ ระบบยังจะบันทึกฟังก์ชัน Lambda ที่มีการจับภาพที่ไม่เสถียรไว้ด้วย ฟีเจอร์นี้อยู่ในขั้นทดลองและยังไม่พร้อมสำหรับการใช้งานจริง (22421e)
  • เพิ่ม Flag เพื่อเปิด/ปิดใช้ข้อมูลแหล่งที่มา/การติดตาม (4d45f09)
  • อนุญาตให้กำหนดค่าความเสถียรของคลาสภายนอกผ่านไฟล์การกำหนดค่า (If40eb)

การแก้ไขข้อบกพร่อง

  • แก้ไขการออกก่อนเวลาจากฟังก์ชันที่ประกอบกันได้เมื่อไม่ได้รวบรวมข้อมูลแหล่งที่มา (fe6267)
  • แก้ไขการดำเนินการต่อจากฟังก์ชันที่ประกอบกันได้ (948362)
  • แก้ไขความละเอียดเมื่อมีการเรียกใช้ฟังก์ชันที่ประกอบกันได้จากภายในการเรียกใช้ฟังก์ชันที่มีการโอเวอร์โหลดหลายรายการซึ่งขึ้นอยู่กับประเภทการแสดงผลของนิพจน์ (2d36d0)
  • แก้ไขการจดจำเมื่อการอ้างอิงฟังก์ชันไม่มีตัวรับการเรียกใช้ (fc2326)
  • แก้ไขการตรวจสอบที่ไม่สมบูรณ์ซึ่งทำให้ไม่สามารถประกอบแลมบ์ดาใหม่ได้ในบางสถานการณ์ (db3699)
  • แก้ไขความเสถียรเมื่อคอมไพล์แบบเพิ่มทีละโมดูล (7d3e127)
  • ลดขอบเขตของ @DontMemoize ให้เหลือเฉพาะนิพจน์ Lambda (7a7fa52)
  • แก้ไขตัวแปรที่บันทึกไม่ถูกต้องเมื่อใช้อินเทอร์เฟซฟังก์ชันที่ใช้ร่วมกันได้เป็น Lambda (5ae3556)

การมีส่วนร่วมภายนอก

  • ใช้สัญลักษณ์ความเท่ากันเชิงโครงสร้างสำหรับการเปรียบเทียบตัวเลขและค่า Null (c612a0)

เวอร์ชัน 1.5.3

สิงหาคม 29, 2023

androidx.compose.compiler:compiler:1.5.3 androidx.compose.compiler:compiler-daemon:1.5.3 และ androidx.compose.compiler:compiler-hosted:1.5.3 ออกแล้ว เวอร์ชัน 1.5.3 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • อัปเดตเวอร์ชัน Kotlin เป็น 1.9.10

รุ่น 1.5.2

23 สิงหาคม 2023

androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2 และ androidx.compose.compiler:compiler-hosted:1.5.2 เปิดตัวแล้ว เวอร์ชัน 1.5.2 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แทรกหมายเลขบรรทัดสำหรับคำสั่ง return ในฟังก์ชันที่ใช้ร่วมกันได้ซึ่งแสดงผลค่าคงที่ (I42d89)
  • แก้ไขหน่วยความจำรั่วที่เกิดจากการเปลี่ยนไปใช้จุดแรกเข้าของปลั๊กอินคอมไพเลอร์ใหม่ (4f0a101)
  • หยุดการแปลงอินเทอร์เฟซฟังก์ชันที่ไม่สามารถคอมโพสได้ในคอมไพเลอร์ Compose ซึ่งจะทำให้ระบบจัดการอินเทอร์เฟซที่สนุกสนานในลักษณะเดียวกับ Lambda รวมถึงกฎการจดจำ (28b3ce9)
  • ใช้ประเภทอาร์กิวเมนต์ vararg เพื่ออนุมานความเสถียรในเว็บไซต์การโทร (bc83645)

รุ่น 1.5.1

26 กรกฎาคม 2023

androidx.compose.compiler:compiler:1.5.1 androidx.compose.compiler:compiler-daemon:1.5.1 และ androidx.compose.compiler:compiler-hosted:1.5.1 ออกแล้ว เวอร์ชัน 1.5.1 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขเครื่องหมายเหตุการณ์การติดตามการเขียนองค์ประกอบใน@ReadOnlyComposableฟังก์ชันที่มีการคืนค่าก่อนเวลา ซึ่งทำให้การติดตามเสียหาย

เวอร์ชัน 1.5.0

18 กรกฎาคม 2023

androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0 และ androidx.compose.compiler:compiler-hosted:1.5.0 เปิดตัวแล้ว เวอร์ชัน 1.5.0 มีคอมมิตเหล่านี้

การรองรับ K2 เวอร์ชันทดลอง

  • คอมไพเลอร์ Compose 1.5.0 รองรับคอมไพเลอร์ K2 ในเวอร์ชันทดลอง ฟีเจอร์การเขียนบางอย่างยังไม่รองรับ K2 และจะพร้อมใช้งานในคอมไพเลอร์เวอร์ชันในอนาคต

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.4.0

  • อัปเดตเวอร์ชัน Kotlin เป็น 1.9.0
  • เราได้เลิกใช้งานอาร์กิวเมนต์ที่มีชื่อสำหรับการเรียกใช้ Lambda ของ @Composable แล้ว ฟีเจอร์นี้ใช้ API ของคอมไพเลอร์ภายในและ K2 จะไม่รองรับ
  • เพิ่มการวินิจฉัยเพื่อยืนยัน@Composableคำอธิบายประกอบในการเรียกใช้ expect/actual การประกาศทั้ง 2 รายการควรมีคำอธิบายประกอบที่ตรงกัน

เวอร์ชัน 1.4.8

เวอร์ชัน 1.4.8

28 มิถุนายน 2023

androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8 และ androidx.compose.compiler:compiler-hosted:1.4.8 เปิดตัวแล้ว เวอร์ชัน 1.4.8 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • อัปเดตเวอร์ชันคอมไพเลอร์ Kotlin เป้าหมายเป็น 1.8.22

การแก้ไขข้อบกพร่อง

  • ปรับปรุงข้อความแสดงข้อผิดพลาดสำหรับ@Composableการลบล้าง ตอนนี้จะชี้ให้เห็นความไม่ตรงกันของคำอธิบายประกอบอย่างถูกต้อง
  • เตือนเกี่ยวกับคำอธิบายประกอบ @Composable ที่ซ้ำซ้อนในแลมบ์ดาแบบอินไลน์ที่ไม่ควรทำเครื่องหมายเป็นแบบที่ใช้ร่วมกันได้ คอมไพเลอร์ K2 ไม่รองรับฟีเจอร์นี้

เวอร์ชัน 1.4.7

เวอร์ชัน 1.4.7

3 พฤษภาคม 2023

androidx.compose.compiler:compiler:1.4.7 androidx.compose.compiler:compiler-daemon:1.4.7 และ androidx.compose.compiler:compiler-hosted:1.4.7 ออกแล้ว เวอร์ชัน 1.4.7 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • การรองรับ Kotlin 1.8.21
  • เพิ่มเวอร์ชันดั้งเดิมของ State API ซึ่งช่วยให้ติดตามค่า Int, Long, Float และ Double ในออบเจ็กต์ State ได้โดยไม่ต้องเสียค่าปรับสำหรับการแปลงอัตโนมัติ

เวอร์ชัน 1.4.6

เวอร์ชัน 1.4.6

19 เมษายน 2023

androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6 และ androidx.compose.compiler:compiler-hosted:1.4.6 เปิดตัวแล้ว เวอร์ชัน 1.4.6 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • ตอนนี้ Compose Compiler ขึ้นอยู่กับ Java11 (แทนที่จะเป็น Java17 ที่ Compose Compiler เวอร์ชัน 1.4.5 กำหนด) เพื่อรองรับผู้ใช้ที่ยังคงใช้ Java เวอร์ชันเก่าได้ดียิ่งขึ้น

เวอร์ชัน 1.4.5

เวอร์ชัน 1.4.5

12 เมษายน 2023

androidx.compose.compiler:compiler:1.4.5 androidx.compose.compiler:compiler-daemon:1.4.5 และ androidx.compose.compiler:compiler-hosted:1.4.5 ออกแล้ว เวอร์ชัน 1.4.5 มีคอมมิตเหล่านี้

หมายเหตุ การสร้าง Compose Compiler นี้กำหนดให้สภาพแวดล้อมการสร้างของคุณต้องใช้ Java 17 ขึ้นไป เราจะลดข้อกำหนดนี้กลับไปเป็น Java 11 ตามความคิดเห็นของผู้ใช้ และจะออกเวอร์ชันอื่น (1.4.6) เพื่อรองรับผู้ใช้ที่ใช้ Java เวอร์ชันเก่าได้ดียิ่งขึ้น

ฟีเจอร์ใหม่

รองรับ Kotlin 1.8.20

การแก้ไขข้อบกพร่อง

  • ส่งต่อข้อกำหนดของการลบล้างตัวดำเนินการเรียกใช้ที่ประกอบได้ไปยังคลาสและอินเทอร์เฟซที่ขยายอินเทอร์เฟซ Lambda ด้วยคำอธิบายประกอบที่เกี่ยวข้องf8f2f78a1a769c2373201027f12700e772e4e97e
  • อนุญาตให้ใช้คำอธิบายประกอบ @Composable ในตัวดำเนินการ getValue และทำเครื่องหมาย Getter ที่สร้างขึ้นสำหรับ Delegate เป็น Composable ใน IR เพื่อให้มั่นใจว่ามีการแปลงอย่างถูกต้องในภายหลัง f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • แก้ไขข้อผิดพลาดรันไทม์ภายในของ Compose (คาดว่าจะมีการเรียกใช้ applyChanges()) สำหรับฟังก์ชันอินไลน์b/274786923
  • หลีกเลี่ยงการบันทึก ProcessCancelledException เนื่องจากมีความหมายพิเศษใน IDEb/274725600

การมีส่วนร่วมภายนอก

เวอร์ชัน 1.4.4

เวอร์ชัน 1.4.4

22 มีนาคม 2023

androidx.compose.compiler:compiler:1.4.4 androidx.compose.compiler:compiler-daemon:1.4.4 และ androidx.compose.compiler:compiler-hosted:1.4.4 ออกแล้ว เวอร์ชัน 1.4.4 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขการคืนค่าของฟังก์ชันแลมบ์ดาแบบอินไลน์ที่ประกอบได้ (72172b)
  • อนุญาตให้ Composable แสดงผล Nothing (อย่าสร้างข้อผิดพลาดเมื่อใช้ TODO ในฟังก์ชัน Composable) 3aea8d)

เวอร์ชัน 1.4.3

เวอร์ชัน 1.4.3

22 กุมภาพันธ์ 2023

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.4.3 เวอร์ชัน 1.4.3 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขการเรียกใช้ที่สามารถเขียนร่วมกันแบบมีเงื่อนไขในอาร์กิวเมนต์ของการเรียกใช้ที่สามารถเขียนร่วมกัน (Ie93edb)

เวอร์ชัน 1.4.2

เวอร์ชัน 1.4.2

8 กุมภาพันธ์ 2023

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.4.2 เวอร์ชัน 1.4.2 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • การรองรับ Kotlin 1.8.10

การแก้ไขข้อบกพร่อง

  • เพิ่มกลุ่มในเนื้อหาของ Lambda ที่ข้ามไม่ได้เพื่อหลีกเลี่ยงข้อบกพร่องในการจัดองค์ประกอบใหม่

เวอร์ชัน 1.4.1

เวอร์ชัน 1.4.1

8 กุมภาพันธ์ 2023

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.4.1 เวอร์ชัน 1.4.1 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • ปิดใช้การเพิ่มประสิทธิภาพการจดจำโดยธรรมชาติซึ่งก่อนหน้านี้ทำให้เกิดข้อบกพร่องในการสร้างโค้ด 2-3 รายการ
  • ปิดใช้การจดจำโดยธรรมชาติในฟังก์ชันที่มีพารามิเตอร์ vararg
  • แก้ไขการข้ามที่ไม่ถูกต้องใน Composable ที่มีพารามิเตอร์เริ่มต้น
  • เพิ่มข้อความแสดงข้อผิดพลาดสำรองเพื่อป้องกันหากตรวจสอบความเข้ากันได้ของ Kotlin ไม่สำเร็จ
  • นำการข้ามการสร้างโค้ดออกจาก Lambda แบบอินไลน์

เวอร์ชัน 1.4.0

17 มกราคม 2023

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.4.0 เวอร์ชัน 1.4.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงสำคัญตั้งแต่เวอร์ชัน 1.3.0

  • รองรับ Kotlin 1.8.0
  • ปิดการจดจำโดยธรรมชาติแล้ว
  • ตอนนี้คลาสข้อมูลเครื่องมือ UI Group มีฟิลด์ isInline ที่ระบุว่ากลุ่มนี้ใช้สำหรับการเรียกฟังก์ชันที่ประกอบกันได้แบบอินไลน์หรือไม่ หาก isInline เป็น true แสดงว่าการเรียกใช้เป็นฟังก์ชันที่ประกอบกันได้แบบอินไลน์ อย่างไรก็ตาม ค่าอาจเป็นเท็จสำหรับการเรียกฟังก์ชันที่สามารถคอมโพสแบบอินไลน์ซึ่งมาจากโมดูลที่คอมไพล์ด้วยปลั๊กอินคอมไพเลอร์ Compose เวอร์ชันที่ไม่ได้สร้างข้อมูลฟังก์ชันอินไลน์
  • ตอนนี้ ImmutableCollection และพี่น้องที่คงอยู่ของ ImmutableCollection ถือว่าเสถียรแล้ว
  • พารามิเตอร์ใหม่ใน AnimatedContent สำหรับป้ายกำกับเครื่องมือ
  • แก้ไขการสร้างโค้ดที่บกพร่องสำหรับ Lambda แบบอินไลน์

เวอร์ชัน 1.4.0-alpha02

11 พฤศจิกายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.4.0-alpha02 เวอร์ชัน 1.4.0-alpha02 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับ Kotlin 1.7.21

เวอร์ชัน 1.4.0-alpha01

9 พฤศจิกายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.4.0-alpha01 เวอร์ชัน 1.4.0-alpha01 มีคอมมิตต่อไปนี้

การแก้ไขข้อบกพร่อง

  • แก้ไขความสามารถในการกลับจากฟังก์ชันที่ประกอบกันได้แบบอินไลน์ก่อนเวลาอันควร (b/255350755)
  • แก้ไขข้อบกพร่องในการลดระดับตัวล่อซึ่งทำให้การรองรับ Kotlin/JS ใน Compose หยุดทำงาน (6a40f8)

เวอร์ชัน 1.3

เวอร์ชัน 1.3.2

4 ตุลาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.3.2 เวอร์ชัน 1.3.2 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เวอร์ชันนี้มีการอัปเดตเป็น Kotlin 1.7.20

เวอร์ชัน 1.3.1

7 กันยายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.3.1 เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไข IllegalStateException ที่คอมไพเลอร์ Compose ทำเครื่องหมายประเภทหน่วยเป็นแบบที่ใช้ร่วมกันได้โดยไม่ถูกต้องในบางกรณี (b/237863365)
  • ตอนนี้ผู้ใช้ต้องระบุเวอร์ชัน Kotlin ที่ต้องการเมื่อระงับการตรวจสอบเวอร์ชันคอมไพเลอร์ (I9e5e2)

เวอร์ชัน 1.3.0

10 สิงหาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.3.0 เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้

เวอร์ชัน 1.3.0-rc02

3 สิงหาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.3.0-rc02 เวอร์ชัน 1.3.0-rc02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.3.0-rc01

27 กรกฎาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.3.0-rc01 เวอร์ชัน 1.3.0-rc01 มีคอมมิตเหล่านี้

เวอร์ชัน 1.3.0-beta01

20 กรกฎาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.3.0-beta01 เวอร์ชัน 1.3.0-beta01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับ Kotlin 1.7.10

เวอร์ชัน 1.2

เวอร์ชัน 1.2.0

29 มิถุนายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0 เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0

เวอร์ชัน 1.2.0-rc02

22 มิถุนายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-rc02 เวอร์ชัน 1.2.0-rc02 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • นำการสร้างโค้ดเหตุการณ์การติดตามที่ประกอบได้ออก (aosp/2127922)

เวอร์ชัน 1.2.0-rc01

15 มิถุนายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-rc01 เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-beta03

1 มิถุนายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-beta03 เวอร์ชัน 1.2.0-beta03 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-beta02

18 พฤษภาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-beta02 เวอร์ชัน 1.2.0-beta02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-beta01

11 พฤษภาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-beta01 เวอร์ชัน 1.2.0-beta01 มีคอมมิตเหล่านี้

  • นี่คือรุ่นเบต้า 1.2 รุ่นแรก ไม่มีการเปลี่ยนแปลงใดๆ ตั้งแต่เวอร์ชันอัลฟ่าล่าสุด

ฟีเจอร์ใหม่

  • เพิ่มการรองรับ Kotlin 1.6.21

เวอร์ชัน 1.2.0-alpha08

20 เมษายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha08 เวอร์ชัน 1.2.0-alpha08 มีคอมมิตต่อไปนี้

เวอร์ชัน 1.2.0-alpha07

6 เมษายน 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha07 เวอร์ชัน 1.2.0-alpha07 มีคอมมิตต่อไปนี้

เวอร์ชัน 1.2.0-alpha06

23 มีนาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha06 เวอร์ชัน 1.2.0-alpha06 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha05

9 มีนาคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha05 เวอร์ชัน 1.2.0-alpha05 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha04

23 กุมภาพันธ์ 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha04 เวอร์ชัน 1.2.0-alpha04 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha03

9 กุมภาพันธ์ 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha03 เวอร์ชัน 1.2.0-alpha03 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha02

26 มกราคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha02 เวอร์ชัน 1.2.0-alpha02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha01

12 มกราคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.2.0-alpha01 เวอร์ชัน 1.2.0-alpha01 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับ Kotlin 1.6.10

เวอร์ชัน 1.1

เวอร์ชัน 1.1.1

23 กุมภาพันธ์ 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.1 เวอร์ชัน 1.1.1 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไข NullPointerException ที่ androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • แก้ไขข้อขัดข้องที่เกิดจากเนื้อหาในคลิปบอร์ดขณะอ่านจากคลิปบอร์ดใน Android (I06020, b/197769306)
  • แก้ไข RTL ใน LazyVerticalGrid (aosp/1931080, b/207510535)

เวอร์ชัน 1.1.0

9 กุมภาพันธ์ 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0 เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0

  • รองรับเอฟเฟกต์การเลื่อนเกินของ Android 12 อย่างเสถียร
  • การปรับปรุงขนาดเป้าหมายการสัมผัส
  • โปรดทราบว่าเมื่อใช้ Compose 1.0 คอมโพเนนต์ Material จะขยายพื้นที่เลย์เอาต์เพื่อให้เป็นไปตามหลักเกณฑ์การช่วยเหลือพิเศษของ Material สำหรับขนาดเป้าหมายการสัมผัส เช่น เป้าหมายการสัมผัสของปุ่มจะขยายเป็นขนาดขั้นต่ำ 48x48dp แม้ว่าคุณจะตั้งค่าขนาดของปุ่มให้เล็กกว่านี้ก็ตาม ซึ่งจะทําให้ Compose Material มีลักษณะการทํางานเหมือนกับคอมโพเนนต์ Material Design และมีลักษณะการทํางานที่สอดคล้องกันหากคุณใช้ทั้ง View และ Compose การเปลี่ยนแปลงนี้ยังช่วยให้มั่นใจได้ว่าเมื่อคุณสร้าง UI โดยใช้คอมโพเนนต์ Material ของ Compose ระบบจะปฏิบัติตามข้อกำหนดขั้นต่ำสำหรับการช่วยเหลือพิเศษของเป้าหมายการสัมผัส
  • การรองรับ Navigation Rail ที่เสถียร
  • เปลี่ยน API ที่เคยอยู่ในระยะทดลองจำนวนหนึ่งให้เป็น API ที่เสถียร
  • การรองรับ Kotlin เวอร์ชันใหม่กว่า

เวอร์ชัน 1.1.0-rc03

26 มกราคม 2022

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-rc03 เวอร์ชัน 1.1.0-rc03 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • อัปเดตเพื่อรองรับ Compose Material 1.1.0-rc03

เวอร์ชัน 1.1.0-rc02

16 ธันวาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-rc02 เวอร์ชัน 1.1.0-rc02 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • คอมไพเลอร์ Compose 1.1.0-rc02 ใช้ได้กับ Kotlin 1.6.10

เวอร์ชัน 1.1.0-rc01

15 ธันวาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-rc01 เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงการขึ้นต่อกัน

  • คอมไพเลอร์ Compose 1.1.0-rc01 ใช้ได้กับ Kotlin 1.6.0
  • 1.6.10 บิลด์ที่เข้ากันได้พร้อมใช้งานผ่าน androidx.dev SNAPSHOT ที่มี buildId 8003490 ข้อมูลโค้ดการขึ้นต่อกันต่อไปนี้จะ กำหนดค่า SNAPSHOT สำหรับคอมไพเลอร์ Compose

    เพิ่มข้อมูลโค้ดต่อไปนี้ลงในไฟล์ build.gradle ระดับรูทของโปรเจ็กต์

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

    เพิ่มข้อมูลโค้ดต่อไปนี้ลงในไฟล์ build.gradle ของแอปหรือโมดูล ที่ใช้ Compose

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

เวอร์ชัน 1.1.0-beta04

1 ธันวาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-beta04 เวอร์ชัน 1.1.0-beta04 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • อัปเดตให้เข้ากันได้กับ Kotlin 1.6.0

เวอร์ชัน 1.1.0-beta03

17 พฤศจิกายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-beta03 เวอร์ชัน 1.1.0-beta03 มีคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-beta02

3 พฤศจิกายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-beta02 เวอร์ชัน 1.1.0-beta02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-beta01

27 ตุลาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-beta01 เวอร์ชัน 1.1.0-beta01 มีคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-alpha06

13 ตุลาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-alpha06 เวอร์ชัน 1.1.0-alpha06 มีคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-alpha05

29 กันยายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-alpha05 เวอร์ชัน 1.1.0-alpha05 มีคอมมิตต่อไปนี้

เวอร์ชัน 1.1.0-alpha04

15 กันยายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-alpha04 เวอร์ชัน 1.1.0-alpha04 มีคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-alpha03

1 กันยายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-alpha03 เวอร์ชัน 1.1.0-alpha03 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • ตอนนี้คอมไพเลอร์ Compose รองรับ Compose Runtime เวอร์ชันเก่า (1.0) แล้ว ก่อนการเปลี่ยนแปลงนี้ คอมไพเลอร์ Compose จะใช้ได้กับรันไทม์ Compose เวอร์ชันเดียวกันหรือเวอร์ชันที่ใหม่กว่าเท่านั้น หลังจากทำการเปลี่ยนแปลงนี้แล้ว ตัวคอมไพล์ Compose จะใช้งานร่วมกับ Compose Runtime (1.0) เวอร์ชันเก่าได้ (aosp/1796968)
  • อัปเดต Compose 1.1.0-alpha03 ให้ขึ้นอยู่กับ Kotlin 1.5.30 (I74545)

เวอร์ชัน 1.1.0-alpha02

18 สิงหาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-alpha02 เวอร์ชัน 1.1.0-alpha02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-alpha01

4 สิงหาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.1.0-alpha01 เวอร์ชัน 1.1.0-alpha01 มีคอมมิตต่อไปนี้

รุ่น 1.0

เวอร์ชัน 1.0.5

3 พฤศจิกายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.5 เวอร์ชัน 1.0.5 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องในการติดตาม derivedStateOf ของอินสแตนซ์ (aosp/1792247)

เวอร์ชัน 1.0.4

13 ตุลาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.4 เวอร์ชัน 1.0.4 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • อัปเดตให้ขึ้นอยู่กับ Kotlin 1.5.31

เวอร์ชัน 1.0.3

29 กันยายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.3 เวอร์ชัน 1.0.3 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • อัปเดตให้ขึ้นอยู่กับ Kotlin 1.5.30

เวอร์ชัน 1.0.2

1 กันยายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.2 เวอร์ชัน 1.0.2 มีคอมมิตเหล่านี้

อัปเดตเพื่อรองรับการเปิดตัว Compose 1.0.2 Compose 1.0.2 ยังคงใช้ได้กับ Kotlin 1.5.21

เวอร์ชัน 1.0.1

4 สิงหาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.1 เวอร์ชัน 1.0.1 มีคอมมิตเหล่านี้

การอัปเดตการขึ้นต่อกัน

  • อัปเดตให้ขึ้นอยู่กับ Kotlin 1.5.21

เวอร์ชัน 1.0.0

28 กรกฎาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0 เวอร์ชัน 1.0.0 มีคอมมิตเหล่านี้

ฟีเจอร์หลักของเวอร์ชัน 1.0.0

นี่คือ Compose เวอร์ชันเสถียรเวอร์ชันแรก โปรดดูรายละเอียดเพิ่มเติมในบล็อกการเปิดตัว Compose อย่างเป็นทางการ

เวอร์ชัน 1.0.0-rc02

14 กรกฎาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-rc02 เวอร์ชัน 1.0.0-rc02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-rc01

1 กรกฎาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-rc01 เวอร์ชัน 1.0.0-rc01 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta09

16 มิถุนายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta09 เวอร์ชัน 1.0.0-beta09 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta08

2 มิถุนายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta08 เวอร์ชัน 1.0.0-beta08 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta07

18 พฤษภาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta07 เวอร์ชัน 1.0.0-beta07 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta06

5 พฤษภาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta06 เวอร์ชัน 1.0.0-beta06 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta05

21 เมษายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta05 เวอร์ชัน 1.0.0-beta05 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta04

7 เมษายน 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta04 เวอร์ชัน 1.0.0-beta04 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta03

24 มีนาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta03 เวอร์ชัน 1.0.0-beta03 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta02

10 มีนาคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta02 เวอร์ชัน 1.0.0-beta02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta01

24 กุมภาพันธ์ 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-beta01 เวอร์ชัน 1.0.0-beta01 มีคอมมิตเหล่านี้

นี่คือรุ่นแรกของ Compose 1.0.0 Beta

เวอร์ชัน 1.0.0-alpha12

10 กุมภาพันธ์ 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha12 เวอร์ชัน 1.0.0-alpha12 มีคอมมิตต่อไปนี้

เวอร์ชัน 1.0.0-alpha11

28 มกราคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha11 เวอร์ชัน 1.0.0-alpha11 มีคอมมิตต่อไปนี้

เวอร์ชัน 1.0.0-alpha10

13 มกราคม 2021

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha10 เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-alpha09

16 ธันวาคม 2020

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha09 เวอร์ชัน 1.0.0-alpha09 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-alpha08

2 ธันวาคม 2020

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha08 เวอร์ชัน 1.0.0-alpha08 มีคอมมิตต่อไปนี้

เวอร์ชัน 1.0.0-alpha07

11 พฤศจิกายน 2020

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha07 เวอร์ชัน 1.0.0-alpha07 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • การอนุมานและการเผยแพร่ความเสถียร ปลั๊กอินคอมไพเลอร์ Compose จะวิเคราะห์ประเภทที่คอมไพล์เพื่ออนุมานว่ามีสิทธิ์รับการเพิ่มประสิทธิภาพบางอย่างโดยรันไทม์หรือไม่ จากนั้นระบบจะสังเคราะห์ผลลัพธ์ที่อนุมานนี้เป็นข้อมูลเมตาในคลาสเพื่อให้คอมไพเลอร์ใช้ในโมดูลอื่นๆ นอกจากนี้ ระบบจะส่งผลลัพธ์รันไทม์ของการอนุมานเหล่านี้ในข้อมูลเมตาที่ส่งไปยังการเรียกที่สามารถคอมโพสได้ในระหว่างการคอมโพส จึงจำเป็นต้องใช้โปรโตคอลข้อมูลเมตาที่แตกต่างกันสำหรับฟังก์ชันที่ใช้ร่วมกันได้ ซึ่งหมายความว่าฟังก์ชันที่ใช้ร่วมกันได้ที่คอมไพล์ด้วยคอมไพเลอร์ alpha07 จะไม่เข้ากันได้กับฟังก์ชันที่ใช้ร่วมกันได้ที่คอมไพล์ด้วยคอมไพเลอร์เวอร์ชันก่อนหน้า (aosp/1431988)

เวอร์ชัน 1.0.0-alpha06

28 ตุลาคม 2020

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha06 เวอร์ชัน 1.0.0-alpha06 มีคอมมิตต่อไปนี้

เวอร์ชัน 1.0.0-alpha05

14 ตุลาคม 2020

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha05 เวอร์ชัน 1.0.0-alpha05 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-alpha04

1 ตุลาคม 2020

ระบบจะถอนการอ้างสิทธิ์androidx.compose.compiler:compiler:1.0.0-alpha04 เวอร์ชัน 1.0.0-alpha04 มีคอมมิตต่อไปนี้

เราได้รีแฟกเตอร์ androidx.compose:compose-compiler เป็น androidx.compose.compiler:compiler แล้ว นี่คือรุ่นแรกในกลุ่มใหม่