เขียนคอมไพเลอร์

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

โครงสร้าง

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

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

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

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

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

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

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

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

ความคิดเห็น

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

สร้างรายการใหม่

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

รุ่น 1.5

เวอร์ชัน 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 ในหลายแพลตฟอร์ม ดูรายละเอียดทั้งหมดโดยดูช่วงคอมมิตด้านบน

เวอร์ชัน 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)
  • แก้ไขประเภทที่ไม่เป็น null ในพารามิเตอร์ค่าสำหรับคลาสในบรรทัดที่ไม่เป็นค่าพื้นฐาน (Ie6bb5)

เวอร์ชัน 1.5.11

20 มีนาคม 2024

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

หมายเหตุ

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

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

ฟีเจอร์ใหม่

  • รองรับ Kotlin 1.9.23

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

  • แก้ไขประเภททั่วไปภายนอกที่ฝังไว้ซึ่งมีการอนุมานว่า "ไม่เสถียร" (I3437f, b/327643787)
  • รองรับไฟล์การกำหนดค่าความเสถียรหลายไฟล์ (I8db14, b/325326744)
  • ตอนนี้คอมไพเลอร์จะเปลี่ยนรูปแบบฟังก์ชันที่ถูกลบล้างได้อย่างถูกต้องด้วยการเดินผ่านคลาส/การลบล้างพื้นฐานแบบวนซ้ำ (I2c9f9, b/316196500)
  • ตรวจสอบว่าการบันทึกข้อมูลอ้างอิงของฟังก์ชันไม่ได้พยายามบันทึกข้อมูลหลักโดยนัยของการประกาศในพื้นที่เมื่อไม่ได้ใช้โดยตรง (Ib1267)
  • แก้ไขการสร้างโค้ดสำหรับ lambda ข้ามอินไลน์แบบคอมโพสิตได้ (พบข้อบกพร่องนี้ได้ยากหากไม่เปิดใช้ "nonSkippingGroupการปรับแต่ง") (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)
  • ใช้พารามิเตอร์ของผู้มอบหมายงานเพื่อตรวจสอบว่าฟังก์ชันอยู่ภายในคลาสในระบบหรือไม่ (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 มีคอมมิตเหล่านี้

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

  • แก้ไขการเรียก Composable ในเครื่องมือเริ่มต้นออบเจ็กต์ที่ไม่ระบุชื่อ (b/320261458, 96315c)
  • นับการประกาศในพื้นที่ที่เกิดซ้ำเป็นการบันทึก (b/318745941, e7b4b0)
  • แก้ไขกระบวนการจดจำของ Intrinsic ที่เกี่ยวข้องกับการอ้างอิงของเมธอด 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 จาก Google Maven (กล่าวคือ ไม่ได้สร้างคอมไพเลอร์เอง) ไม่เคยได้รับผลกระทบจากข้อบกพร่องนี้ (b/316644294)
  • แก้ไขข้อบกพร่องที่มีการรายงานข้อผิดพลาด COMPOSABLE_EXPECTED สำหรับผู้โทร lambda ที่ไม่ได้อยู่ในบรรทัด (b/309364913)
  • เพิ่มข้อผิดพลาดในการคอมไพล์สําหรับพารามิเตอร์เริ่มต้นในฟังก์ชันเปิด (ก่อนหน้านี้จํากัดเฉพาะฟังก์ชันนามธรรมเท่านั้น) การเขียนไม่รองรับการแทนที่พารามิเตอร์เริ่มต้นจากฟังก์ชันที่ถูกลบล้างในขณะนี้ และการลบล้างฟังก์ชันที่ประกอบได้ที่มีพารามิเตอร์เริ่มต้นล้มเหลวขณะรันไทม์ ใช้ @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 มีคอมมิตเหล่านี้

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

  • แก้ไขข้อขัดข้องในการเขียนของรันไทม์เมื่อพารามิเตอร์คีย์ remember() เรียกใช้ฟังก์ชัน Composable (b/315855015)
  • แก้ไขข้อขัดข้องในรันไทม์ของ Compose เมื่อใช้ 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 เนื่องจากไม่มีคำสั่งส่งกลับในฟังก์ชัน Composable เมื่อเป็นคำสั่งสุดท้ายและแสดงผล Const (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 มีคอมมิตเหล่านี้

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

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

ฟีเจอร์ใหม่

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

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

  • แก้ไขการออกจากฟังก์ชันที่ประกอบได้ล่วงหน้าเมื่อไม่มีการรวบรวมข้อมูลแหล่งที่มา (fe6267)
  • แก้ไขการดําเนินการต่อจากฟังก์ชันที่ประกอบกันได้ (948362)
  • แก้ไขความละเอียดเมื่อมีการเรียกใช้ฟังก์ชัน Composable จากภายในการเรียกใช้ฟังก์ชันที่มีโอเวอร์โหลดหลายรายการที่ขึ้นอยู่กับประเภทการแสดงผลของนิพจน์ (2d36d0)
  • แก้ไขบันทึกเมื่อการอ้างอิงฟังก์ชันไม่มีตัวรับงานส่ง (fc2326)
  • แก้ไขการตรวจสอบความสกปรกซึ่งขัดขวางการจัดเรียง Lambda ใหม่ในบางสถานการณ์ (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 มีคอมมิตเหล่านี้

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

  • แทรกหมายเลขบรรทัดสำหรับคำสั่งส่งกลับในฟังก์ชัน Composable ที่ส่งกลับค่าคงที่ (I42d89)
  • แก้ไขการรั่วไหลของหน่วยความจำที่เกิดจากการเปลี่ยนไปใช้จุดเข้าถึงปลั๊กอินคอมไพเลอร์ใหม่ (4f0a101)
  • หยุดเปลี่ยนรูปแบบอินเทอร์เฟซสนุกๆ ที่ไม่สามารถเขียนได้ในคอมไพเลอร์ Compose การดำเนินการนี้จะทำให้มีการจัดการอินเทอร์เฟซสนุกๆ ในลักษณะเดียวกับ lambda รวมถึงกฎการบันทึก (28b3ce9)
  • ใช้ประเภทอาร์กิวเมนต์ varAR สำหรับการอนุมานความเสถียรในเว็บไซต์ Call (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 ฟีเจอร์ Compose บางอย่างยังไม่รองรับใน K2 และจะพร้อมใช้งานในคอมไพเลอร์เวอร์ชันต่อๆ ไป

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

  • อัปเดตเวอร์ชัน Kotlin เป็นเวอร์ชัน 1.9.0 แล้ว
  • เลิกใช้งานอาร์กิวเมนต์ที่มีชื่อสำหรับการเรียก lambda แล้ว @Composable รายการ ฟีเจอร์นี้ใช้ API ของคอมไพเลอร์ภายในและ K2 จะไม่รองรับฟีเจอร์นี้
  • เพิ่มการวินิจฉัยเพื่อยืนยันคำอธิบายประกอบ @Composable ในการโทรที่คาดไว้/การโทรจริง การประกาศทั้ง 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 ที่ซ้ำซ้อนใน lambda ในบรรทัดที่ไม่ควรทำเครื่องหมายเป็น 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 มีคอมมิตเหล่านี้

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

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

ฟีเจอร์ใหม่

รองรับ Kotlin 1.8.20

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

  • ข้อกำหนดการเผยแพร่การลบล้างโอเปอเรเตอร์การเรียกใช้ Composable กับคลาสและอินเทอร์เฟซที่ขยายอินเทอร์เฟซ lambda ด้วยคำอธิบายประกอบที่เกี่ยวข้องf8f2f78a1a769c2373201027f12700e772e4e97e
  • อนุญาตให้ใช้คำอธิบายประกอบ @Composable ในโอเปอเรเตอร์ getValue และทำเครื่องหมาย Getter ที่สร้างขึ้นสำหรับการมอบสิทธิ์เป็น Composable ใน IR เพื่อให้แน่ใจว่าจะมีการเปลี่ยนรูปแบบอย่างถูกต้องในภายหลัง f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • แก้ไขข้อผิดพลาดเกี่ยวกับรันไทม์ของการเขียนภายใน (ต้องมีการเรียกใช้ 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 มีคอมมิตเหล่านี้

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

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

เวอร์ชัน 1.4.3

เวอร์ชัน 1.4.3

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

ปล่อย androidx.compose.compiler:compiler:1.4.3 แล้ว เวอร์ชัน 1.4.3 มีคอมมิตเหล่านี้

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

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

เวอร์ชัน 1.4.2

เวอร์ชัน 1.4.2

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

ปล่อย androidx.compose.compiler:compiler:1.4.2 แล้ว เวอร์ชัน 1.4.2 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รองรับ Kotlin 1.8.10

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

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

เวอร์ชัน 1.4.1

เวอร์ชัน 1.4.1

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

ปล่อย androidx.compose.compiler:compiler:1.4.1 แล้ว เวอร์ชัน 1.4.1 มีคอมมิตเหล่านี้

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

  • ปิดใช้การเพิ่มประสิทธิภาพการจดจำภายใน ซึ่งก่อนหน้านี้ได้แนะนำข้อบกพร่องในการสร้างโค้ด 2-3 รายการ
  • ปิดใช้การจำภายในในฟังก์ชันที่มีพารามิเตอร์ varบริษัท
  • แก้ไขการข้ามที่ผิดพลาดใน 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 ซึ่งระบุว่ากลุ่มมีไว้สำหรับการเรียกฟังก์ชัน Composable ในบรรทัด หาก isInline คือ true การเรียกก็จะเป็นฟังก์ชัน Composable ในบรรทัด แต่ค่าดังกล่าวอาจเป็นเท็จสำหรับการเรียกไปยังฟังก์ชันที่ประกอบกันได้แบบในหน้า ซึ่งมาจากโมดูลที่คอมไพล์ด้วยปลั๊กอินคอมไพเลอร์เวอร์ชันเขียนที่ไม่สร้างข้อมูลฟังก์ชันแบบอินไลน์
  • 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 มีคอมมิตเหล่านี้

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

  • แก้ไขความสามารถในการแสดงผลจากฟังก์ชัน Composable ในบรรทัด (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 ทำเครื่องหมายประเภทหน่วยเป็น Composable อย่างไม่ถูกต้องในบางสถานการณ์ (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 ซึ่งมีลักษณะการทำงานที่สอดคล้องกันหากใช้มุมมองและการเขียนผสมกัน การเปลี่ยนแปลงนี้ยังช่วยให้มั่นใจว่าเมื่อคุณสร้าง UI โดยใช้คอมโพเนนต์ Compose Material แล้ว จะเป็นไปตามข้อกำหนดขั้นต่ำสำหรับการช่วยเหลือพิเศษเป้าหมายการสัมผัส
  • การสนับสนุนเสถียรสำหรับรางนำทาง
  • เปลี่ยน 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 มีคอมมิตเหล่านี้

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

  • คอมไพเลอร์ 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 มีคอมมิตเหล่านี้

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

  • คอมไพเลอร์ 1.1.0-rc01 เข้ากันได้กับ Kotlin 1.6.0
  • บิลด์ 1.6.10 ที่เข้ากันได้จะพร้อมให้ใช้งานผ่าน androidx.dev SNAPSHOTs ที่มี buildId 8003490 ข้อมูลโค้ดทรัพยากร Dependency ต่อไปนี้จะ กำหนดค่า SNAPSHOTs สำหรับคอมไพเลอร์ 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 เวอร์ชันเก่า (1.0) ก่อนหน้าการเปลี่ยนแปลงนี้ คอมไพเลอร์ Compose สามารถทำงานร่วมกับรันไทม์ของ Compose ในเวอร์ชันเดียวกันหรือสูงกว่าเท่านั้น หลังจากการเปลี่ยนแปลงนี้ คอมไพเลอร์ Compose จะสามารถทำงานร่วมกับรันไทม์ของ Compose เวอร์ชันเก่า (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 เขียน 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 เบต้า

เวอร์ชัน 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 Compiler จะวิเคราะห์ประเภทที่คอมไพล์เพื่ออนุมานว่ามีสิทธิ์ได้รับการเพิ่มประสิทธิภาพบางอย่างจากรันไทม์หรือไม่ จากนั้นผลลัพธ์ที่อนุมานนี้จะสังเคราะห์เป็นข้อมูลเมตาลงในคลาสเพื่อให้คอมไพเลอร์นำไปใช้งานในโมดูลอื่นๆ นอกจากนี้ ผลลัพธ์แบบรันไทม์ของการอนุมานเหล่านี้จะส่งผ่านในข้อมูลเมตาที่ส่งไปยังการเรียกที่ประกอบกันได้ในระหว่างการเขียน ด้วยเหตุนี้จึงทำให้ต้องใช้โปรโตคอลข้อมูลเมตาอื่นสำหรับฟังก์ชันที่ประกอบกันได้ ซึ่งหมายความว่าฟังก์ชันที่ประกอบกันได้ซึ่งคอมไพเลอร์ด้วยคอมไพเลอร์ 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 แล้ว นี่คือรุ่นแรกในกลุ่มใหม่