כתיבת מהדר

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

מבנה

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

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

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

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

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

גרסה 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 בפרמטרים של ערך עבור מחלקות לא פרימיטיביות מוטבעות. (Ie6b5)

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

תיקוני באגים

  • תמכו בליטרלים חיים בתוך בלוקים התחלתיים. (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)
  • תיקון 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

תיקוני באגים

  • תיקון באג שבו גרסת ה-build של 'המהדר' גרמה לחריגים במהלך הפיתוח באמצעות Java21. הבאג הזה לא השפיע על משתמשים שמשתמשים בכלי לכתיבה מ-Google Maven (כלומר, לא יוצרים אותו בעצמם). (b/316644294)
  • תיקון באג שבו דווח על שגיאה אחת (COMPOSABLE_EXPECTED) לחלק מהמתקשרים של lambdas שלא מוטבעות. (b/309364913)
  • מוסיפים שגיאת הידור (compilation) לפרמטרים שמוגדרים כברירת מחדל בפונקציות פתוחות (בעבר היא הוגבלה רק לפונקציות מופשטות). בשלב הזה, אי אפשר לשנות פרמטרים של ברירת מחדל מפונקציות שבוטלו, והחלפה של פונקציה קומפוזבילית עם פרמטרים שמוגדרים כברירת מחדל נכשלה בזמן הריצה. כדי להסתיר את הפונקציה צריך להשתמש ב-@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() מפעיל פונקציה קומפוזבילית (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

תיקוני באגים

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

תרומה חיצונית

  • תיקון קריסה של k/native ו-k/wasm בגלל שחסרה הצהרת החזרה בפונקציות קומפוזביליות כאשר זו ההצהרה האחרונה ומחזירה ערך 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

תכונות חדשות

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

תיקוני באגים

  • תיקון יציאה מוקדמת מפונקציות קומפוזביליות כשפרטי המקור לא נאספים. (fe6267)
  • תיקון המשך מפונקציות קומפוזביליות. (948362)
  • פתרון הבעיה כשמופעלות פונקציות קומפוזביליות מתוך הפעלה של פונקציה עם עומסי יתר מרובים שתלויים בסוג ההחזרה של הביטוי. (2d36d0)
  • תיקון זכרון כאשר אין הפניה לפונקציה אין מקלט שליחה. (fc2326)
  • תיקון בדיקה מלוכלכת שמנעה הרכבה מחדש של lambdas במצבים מסוימים. (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 כוללת את ההתחייבויות האלה.

תיקוני באגים

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

  • מהדר Composer 1.5.0 מספק תמיכה ניסיונית למהדר K2. חלק מהתכונות עדיין לא נתמכות ב-K2 לכתיבה, והן יהיו זמינות בגרסאות הבאות של המהדר.

שינויים חשובים מאז 1.4.0

  • גרסת Kotlin עודכנה ל-1.9.0.
  • הוצאנו משימוש את הארגומנטים בעלי השם של @Composable קריאות lambda. התכונה הזו מסתמכת על ממשקי 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 כוללת את ההתחייבויות האלה.

תכונות חדשות

  • גרסת היעד של מהדר (compiler) Kotlin עוברת ל-1.8.22.

תיקוני באגים

  • הודעת שגיאה משופרת לביטולים של @Composable. עכשיו היא מצביעה כראוי על חוסר התאמה בהערות.
  • מוצגת אזהרה לגבי הערה מיותרת מסוג @Composable בתוכן lambdas מוטבעים, שאין לסמן כתוכן קומפוזבילי. התכונה הזו לא נתמכת במהדר 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
  • נוספו גרסאות פרימיטיביות של ה-API State, שיאפשרו מעקב אחרי ערכים מסוג Int, Long, Float ו-2 אובייקטים ב-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 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • כדי לתמוך טוב יותר במשתמשים שעדיין משתמשים בגרסאות ישנות יותר של Java, הכלי 'מהדר ליצירת נייטיב' תלוי עכשיו ב-Java11 (במקום ב-Java17 שנדרש על ידי הכלי לכתיבה בגרסה 1.4.5).

גרסה 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 כוללת את ההתחייבויות האלה.

הערה כדי להשתמש ב-build הזה של Compose Compiler, סביבת ה-build צריכה להשתמש ב-Java 17 ואילך. על סמך משוב ממשתמשים, נחזיר את הדרישה הזו ל-Java 11 ונעקוב אחר גרסה אחרת (1.4.6) כדי לספק תמיכה טובה יותר למשתמשים שמשתמשים בגרסאות Java ישנות יותר.

תכונות חדשות

תמיכה ל-Kotlin 1.8.20

תיקוני באגים

  • הפצת הדרישה של אופרטור הפעלה קומפוזבילי למחלקות ולממשקים שמרחיבים ממשקי lambda עם הערות תואמות.f8f2f78a1a769c2373201027f12700e772e4e97e
  • המדיניות מאפשרת להשתמש בהערה @Composable באופרטור getValue ומסמן את המקבל שנוצר למקבל ההרשאה כקומפוזבילי ב-IR כדי להבטיח טרנספורמציה נכונה מאוחר יותר. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • תיקון שגיאת זמן ריצה פנימית בכתיבה (צפויה הופעלה קריאה ל-applyChanges()) בפונקציות בתוך השורה.b/274786923
  • לא כדאי לצלם את ProcessCancelledException, כי יש לו משמעות מיוחדת בסביבת הפיתוח המשולבת (IDE).b/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 מוטבעות של Composable (72172b)
  • אפשר למוצרים קומפוזביליים להחזיר Nothing (אל תיצור שגיאה בעת שימוש ב-TODO בפונקציה קומפוזבילית) 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

תיקוני באגים

  • צריך להוסיף קבוצות בגוף lambdas שלא ניתן לדלג עליהן כדי למנוע באג להרכבת מחדש.

גרסה 1.4.1

גרסה 1.4.1

8 בפברואר 2023

androidx.compose.compiler:compiler:1.4.1 משוחרר. גרסה 1.4.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • השבתת אופטימיזציה של זכירת תוכן פנימית, שבעקבותיה היו בעבר כמה באגים ביצירת קוד.
  • השבתת הזיכרון הפנימי בפונקציות שמכילות פרמטר vararg.
  • תיקון דילוג שגוי בתכנים קומפוזביליים עם פרמטרים של ברירת מחדל
  • הוספת הודעת שגיאה כחלופה להגנה אם בדיקת התאימות של Kotlin נכשלת.
  • הסרת דילוג על יצירת קוד מ-lambda מוטבעת

גרסה 1.4.0

17 בינואר 2023

androidx.compose.compiler:compiler:1.4.0 משוחרר. גרסה 1.4.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.3.0

  • תמיכה ל-Kotlin 1.8.0
  • תכונת הזיכרון הפנימי הושבתה
  • סיווג הנתונים של ממשק המשתמש Group כולל עכשיו את השדה isInline, שמציין אם הקבוצה מיועדת לקריאה לפונקציה קומפוזבילית מוטבעת. אם הערך של isInline הוא true, הקריאה היא לפונקציה קומפוזבילית מוטבעת. עם זאת, יכול להיות שהערך יהיה False בקריאות לפונקציות קומפוזביליות מוטבעות, שהן ממודולים שעברו הידור באמצעות גרסה של הפלאגין מהדר (compiler) לכתיבה, שלא יוצרת את פרטי הפונקציה המוטבעת.
  • 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 כאשר 'מהדר הכתיבה' סימן בטעות סוגי יחידות כקומפוזביליות בנסיבות מסוימות. (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 מכילה את שמירות האלה.

תיקוני באגים

  • הוסר קוד קומפוזבילי של אירוע Trace (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
  • שיפורים בגודל משטחי מגע
  • חשוב לשים לב: בכל הנוגע לניסוח 1.0, רכיבי Material ירחיבו את שטח הפריסה שלהם כך שיעמדו בהנחיות הנגישות של Material עבור גודל יעד המגע. לדוגמה, משטח המגע של הלחצן יתרחב לגודל מינימלי של 48x48dp, גם אם הגדרת את גודל הלחצן קטן יותר. זה מאפשר התאמה של חומרי הלימוד לאותה התנהגות של רכיבי Material Design, שמספק התנהגות עקבית אם משלבים בין תצוגות מפורטות לבין 'כתיבה'. השינוי הזה גם מבטיח שכשיוצרים את ממשק המשתמש באמצעות רכיבי 'חומר הכתיבה', צריך לעמוד בדרישות המינימליות לנגישות במשטח מגע.
  • תמיכה יציבה במסילת הניווט
  • שדרוג של מספר ממשקי API ניסיוניים שכבר היו ניסיוניים לגרסה יציבה
  • תמיכה בגרסאות חדשות יותר של Kotlin

גרסה 1.1.0-rc03

26 בינואר, 2022

androidx.compose.compiler:compiler:1.1.0-rc03 משוחרר. גרסה 1.1.0-rc03 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • עודכנה לתמיכה בחומר 'כתיבה' 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.
  • גרסת build תואמת של 1.6.10 זמינה ב-androidx.dev SNAPSHOTs עם buildId8003490. קטע הקוד של יחסי התלות הבא מגדירים SNAPSHOTs עבור כלי הכתיבה:

    מוסיפים את קטע הקוד הבא לקובץ הבסיסי (root) build.gradle של הפרויקט:

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

    מוסיפים את קטע הקוד הבא לקובץ build.gradle של האפליקציה או המודול שמשתמשת ב'כתיבה':

    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 מכילה את התחייבויות אלה.

תכונות חדשות

  • הכלי לכתיבה תומך עכשיו בגרסאות ישנות יותר של זמן הריצה לכתיבה (1.0). לפני השינוי הזה, הכלי לכתיבה היה תואם רק לזמן הריצה של 'כתיבה' של אותה גרסה ואילך. לאחר השינוי הזה, הכלי לכתיבה יתאים לגרסה ישנה יותר של זמן הריצה של 'כתיבה' (1.0). (aosp/1796968)
  • הכתיבה 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 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקן מכונות של conversionStateOf למעקב אחרי קריסה. (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 כוללת את ההתחייבויות האלה.

עודכנה לתמיכה בגרסה 'כתיבה' 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

זוהי הגרסה היציבה הראשונה של 'כתיבה'. לפרטים נוספים, מומלץ לעיין בבלוג הרשמי של תוכנית 'כתיבת תוכן'.

גרסה 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 מכילה את התחייבויות אלה.

זוהי הגרסה הראשונה של גרסת הבטא של 'פיתוח נייטיב' 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 מכילה את התחייבויות אלה.

תכונות חדשות

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