‫Compose Compiler

שינוי פונקציות @Composable והפעלת אופטימיזציות באמצעות פלאגין של מהדר Kotlin.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫7 באוגוסט 2024 1.5.15 - - -

מבנה

‫Compose הוא שילוב של 7 מזהי קבוצות Maven בתוך androidx. כל קבוצה מכילה קבוצת משנה ממוקדת של פונקציונליות, ולכל אחת מהן יש קבוצה משלה של הערות על הגרסה.

בטבלה הזו מוסבר על הקבוצות ויש קישורים לכל קבוצה של הערות מוצר.

קבוצהתיאור
compose.animationליצור אנימציות באפליקציות Jetpack Compose כדי לשפר את חוויית המשתמש.
compose.compilerשינוי פונקציות @Composable והפעלת אופטימיזציות באמצעות פלאגין של מהדר Kotlin.
compose.foundationכתיבת אפליקציות ב-Jetpack Compose באמצעות אבני בניין מוכנות לשימוש והרחבת הבסיס כדי ליצור רכיבים משלכם למערכת העיצוב.
compose.materialאפשר ליצור ממשקי משתמש של Jetpack פיתוח נייטיב באמצעות רכיבי Material Design מוכנים לשימוש. זוהי נקודת הכניסה ברמה הגבוהה ביותר של Compose, שנועדה לספק רכיבים שתואמים לאלה שמתוארים בכתובת www.material.io.
compose.material3אפשר ליצור ממשקי משתמש ב-Jetpack Compose באמצעות רכיבי Material Design 3, הדור הבא של Material Design. ‫Material 3 כולל רכיבים וערכות נושא מעודכנים ותכונות התאמה אישית של Material You, כמו צבעים דינמיים. הוא מעוצב כך שיהיה עקבי עם הסגנון החזותי החדש של Android 12 וממשק המשתמש של המערכת.
compose.runtimeאבני הבניין הבסיסיות של מודל התכנות וניהול המצב של Compose, וזמן הריצה המרכזי של הפלאגין של מהדר Compose לטירגוט.
compose.uiרכיבים בסיסיים בממשק המשתמש של Compose שנדרשים כדי ליצור אינטראקציה עם המכשיר, כולל פריסה, ציור וקלט.

הצהרה על יחסי תלות

כדי להוסיף תלות ב-Compose, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ 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"
    }
}

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.

משוב

המשוב שלכם עוזר לנו לשפר את 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
  • תיקונים שהועברו מ-Compose multiplatform ל-JS ול-Native compilation. פרטים מלאים מופיעים בטווח המחויבות שלמעלה.

גרסה 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 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 מבצע עכשיו טרנספורמציה נכונה של פונקציות שהוגדרו מחדש על ידי מעבר רקורסיבי בין מחלקות בסיס/הגדרות מחדש. (I2c9f9, b/316196500)
  • חשוב לוודא שהפונקציה reference memoization לא מנסה לתעד הורים משתמעים של הצהרות מקומיות כשהן לא בשימוש ישיר. (Ib1267)
  • תיקון של יצירת קוד לביטוי למדא מוצלב שניתן להרכבה (קשה להיתקל בבאג הזה בלי שהאפשרות 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 מכילה את הקומיטים האלה.

תיקוני באגים

  • תיקון קריאות לפונקציות composable במאתחל אובייקט אנונימי. (b/320261458, ‏ 96315c)
  • ספירת הצהרות מקומיות רקורסיביות כהצהרות שנתפסו. (b/318745941, e7b4b0)
  • תיקון התנהגות של שינויים ב-Intrinsic remember שקשורים להפניות לשיטות Java על ידי כפייה של ‎ .changed לסוגי פונקציות עם Intrinsic remember. (b/319810819, 77128e)
  • נוספה אופטימיזציה ניסיונית שתסיר את הקבוצות סביב פונקציות שלא ניתן לדלג עליהן, כמו פונקציות שמסומנות במפורש כ-@NonSkippableComposable ופונקציות שלא ניתן לדלג עליהן באופן מרומז, כמו פונקציות מוטבעות ופונקציות שמחזירות ערך שאינו Unit, כמו 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 build זרק חריגים כשנבנה באמצעות Java21. הבאג הזה מעולם לא השפיע על משתמשים שמשתמשים ב-Compose Compiler מ-Google Maven (כלומר, לא בונים אותו בעצמם). (b/316644294)
  • תוקן באג שגרם לדיווח על שגיאה COMPOSABLE_EXPECTED עבור חלק מהמתקשרים של פונקציות למדה שלא הוכנסו לשורה. (b/309364913)
  • הוספת שגיאת קומפילציה לפרמטרים שמוגדרים כברירת מחדל בפונקציות פתוחות (בעבר ההגבלה הייתה רק לפונקציות מופשטות). בשלב הזה, Compose לא תומך בהחלפה של פרמטרים שמוגדרים כברירת מחדל מפונקציות שהוגדרו מחדש, והגדרה מחדש של פונקציה שניתנת להרכבה עם פרמטרים שמוגדרים כברירת מחדל נכשלה בזמן הריצה. אפשר להשתמש ב-@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") כדי להשבית את הפונקציה, אבל חשוב לזכור שאם מבטלים את הפונקציה בלי לספק ערך ברירת מחדל לפרמטר, תתרחש קריסה בזמן הריצה.(b/317490247)
  • תוקן באג ב-intrinsic remember שמנע את ההפצה של ערכים בצורה תקינה. (b/316327367)

External Contribution

  • תיקון שגיאת הקלדה במסמך. (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

תיקוני באגים

  • הפעלת התכונה 'זכירה פנימית' – טרנספורמציה של קומפיילר שמשבצת את הפונקציה remember בתוסף הקומפיילר של Compose ומחליפה השוואות של .equals בהשוואות של מספרים של מטא-נתוני הפרמטרים עבור פרמטרים יציבים. כך נעשה שימוש בפחות משבצות ופחות השוואות בזמן הריצה. אפשר להשבית את האפשרות על ידי ציון ארגומנט של תוסף קומפיילר: ‎-P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • תוקנה בעיה שקשורה לזיכרון מטמון של הפניות לפונקציות מותאמות וארגומנטים מוטבעים. (b/312738720)
  • הבנה של קבוצות כשיוצאים מקריאה לפונקציה מוטבעת (b/312242547)

External Contribution

  • תוקן קריסת זמן הריצה של k/native ו-k/wasm בגלל הצהרת החזרה חסרה בפונקציות Composable כשהיא ההצהרה האחרונה ומחזירה קבוע 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)
    • תיקונים של Memoization‏ (I081d1, ‏ I4d7bf)
    • תיקון של קומפוזיציה מחדש על ידי התחשבות במצב פרמטר לא ודאי ב-intrinsic remember ‏ (b/263402091)
    • תיקון מידע על שורות ניפוי באגים עבור זיכרון פנימי (Ic8cf5)
    • תוקנה קריסה (הורדת IR נכשלה) במהלך חיפוש של סוגים ניתנים להרכבה שהוחלפו בזמן הקומפילציה (b/297665426)

External Contribution

  • זיכרון מטמון של הפניות יציבות לפונקציות עם ארגומנטים (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

תכונות חדשות

  • הוספנו אפשרות ניסיונית להפעלת מצב דילוג חזק. מצב דילוג חזק מאפשר דילוג על קומפוזיציות עם פרמטרים לא יציבים. בנוסף, פונקציות למדה עם לכידות לא יציבות עוברות ממויזציה. התכונה הזו ניסיונית ולא מוכנה לשימוש בהפקה. (22421e)
  • הוספת דגל להפעלה או להשבתה של מידע על המקור או על העקבות. (4d45f09)
  • אפשר לקבוע את היציבות של כיתות חיצוניות באמצעות קובץ הגדרה. (If40eb)

תיקוני באגים

  • תיקון של יציאה מוקדמת מפונקציות שאפשר להרכיב מהן פונקציות אחרות, כשמידע המקור לא נאסף. (fe6267)
  • תיקון של המשך הפעולה מפונקציות שאפשר להרכיב. (948362)
  • תיקון של הרזולוציה כשמפעילים פונקציות שאפשר להרכיב מתוך הפעלת פונקציה שיש לה כמה עומסים שונים שתלויים בסוג ההחזרה של הביטוי. (2d36d0)
  • תיקון של memoization כשלהפניה לפונקציה אין מקלט שיגור. (fc2326)
  • תוקנה בעיה בבדיקה של שינויים, שמנעה את ההרכבה מחדש של ביטויי למדה במקרים מסוימים. (db3699)
  • תיקון בעיות יציבות כשמבצעים קומפילציה מצטברת בין מודולים. (7d3e127)
  • הצמצום של ההיקף של @DontMemoize לביטויי למדה בלבד. (7a7fa52)
  • תיקון: משתנים לא נלכדים בצורה נכונה כשמשתמשים בממשק כיפי שניתן להרכבה כפונקציית למדה. (5ae3556)

External Contribution

  • שימוש בסמל של שוויון מבני להשוואה מספרית ולהשוואה של ערך 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 מכילה את הקומיטים האלה.

תיקוני באגים

  • הוספת מספרי שורות להצהרות החזרה בפונקציות הניתנות להרכבה שמחזירות קבוע. (I42d89)
  • נפתרה בעיה של דליפת זיכרון שנגרמה כתוצאה ממעבר לנקודת הכניסה החדשה של תוסף הקומפיילר. (4f0a101)
  • הפסקת השינוי של ממשקי כיף שאינם ניתנים להרכבה בקומפיילר של Compose. כתוצאה מכך, ממשקים פונקציונליים מטופלים באותו אופן כמו פונקציות למדא, כולל כללי מזכור. (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. חלק מהתכונות של Compose עדיין לא נתמכות ב-K2, והן יתווספו בגרסאות עתידיות של הקומפיילר.

שינויים חשובים מאז גרסה 1.4.0

  • גרסת Kotlin עודכנה ל-1.9.0.
  • הפסקנו את התמיכה בארגומנטים בעלי שם לקריאות ל-lambda של @Composable. התכונה הזו מסתמכת על ממשקי API פנימיים של קומפיילר ולא תהיה נתמכת על ידי K2.
  • נוסף כלי לאבחון כדי לאמת את ההערה @Composable בשיחות צפויות/בפועל. שני ההצהרות צריכות לכלול הערות תואמות.

גרסה 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 בלי לקבל עונשים על autoboxing.

גרסה 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 שנדרש בגרסה 1.4.5 של Compose Compiler) כדי לתמוך טוב יותר במשתמשים שעדיין משתמשים בגרסאות ישנות יותר של 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

תיקוני באגים

  • העברת הדרישה של החלפת אופרטור הפעלה שניתן להרכבה למחלקות ולממשקים שמרחיבים ממשקי למדה עם הערות מתאימות.f8f2f78a1a769c2373201027f12700e772e4e97e
  • מאפשר שימוש בהערה @Composable באופרטור getValue ומסמן את הפונקציה getter שנוצרה עבור delegate כפונקציה שניתן להרכיב ב-IR כדי לוודא שהיא תומר בהמשך בצורה נכונה. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • תיקון שגיאת זמן ריצה פנימית של Compose (הפונקציה applyChanges() הייתה אמורה להיקרא) עבור פונקציות מוטבעות.b/274786923
  • מומלץ להימנע מתיעוד של ProcessCancelledException כי יש לו משמעות מיוחדת בסביבת הפיתוח המשולבת (IDE).b/274725600

External Contribution

גרסה 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 מוטמעות ב-Composable (72172b)
  • אפשרות להגדיר פונקציות הניתנות להגדרה כך שיחזירו Nothing (לא תיווצר שגיאה כשמשתמשים ב-TODO בפונקציה הניתנת להגדרה) 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 מכילה את הקומיטים האלה.

תיקוני באגים

  • השבתנו את האופטימיזציה של זיכרון פנימי, שגרמה בעבר לכמה באגים ביצירת קוד.
  • השבתה של זכירה פנימית בפונקציות שמכילות פרמטר 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, הקריאה היא לפונקציה מוטמעת שניתנת להרכבה. עם זאת, הערך עשוי להיות false עבור קריאות לפונקציות מוכללות שניתנות להרכבה, שמגיעות ממודולים שעברו קומפילציה באמצעות גרסה של תוסף קומפילציית ה-Compose שלא יוצרת את פרטי הפונקציה המוכללת.
  • 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 מכילה את הקומיטים האלה.

תיקוני באגים

  • תוקנה בעיה שבה Compose Compiler סימן בטעות סוגי יחידות כניתנים להרכבה בנסיבות מסוימות.IllegalStateException (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)
  • תוקנה בעיה בפריסה מימין לשמאל ב-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, ותוכלו ליהנות מהתנהגות עקבית אם תשתמשו גם ב-Views וגם ב-Compose. השינוי הזה גם מבטיח שכשתצרו את ממשק המשתמש באמצעות רכיבי 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 כוללת את הקומיטים האלה.

עדכונים של תלות

  • הקומפיילר של 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 זמינה דרך תמונות המצב (SNAPSHOTs) של androidx.dev עם 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 Runtime מאותה גרסה או מגרסה מאוחרת יותר. אחרי השינוי הזה, מהדר 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 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. זו הגרסה הראשונה בקבוצה החדשה.