Compose Compiler
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 7 באוגוסט 2024 | 1.5.15 | - | - | - |
מבנה
Compose הוא שילוב של 7 מזהי קבוצה ב-Maven בתוך androidx. כל קבוצה מכילה קבוצת משנה ממוקדת של פונקציונליות, ולכל אחת מהן יש קבוצה משלה של הערות לגבי הגרסה.
בטבלה הזו מוסבר על הקבוצות ויש קישורים לכל קבוצה של הערות מוצר.
| קבוצה | תיאור |
|---|---|
| compose.animation | ליצור אנימציות באפליקציות Jetpack Compose כדי לשפר את חוויית המשתמש. |
| compose.compiler | להשתמש בפלאגין של Kotlin Compiler כדי לשנות פונקציות @Composable ולהפעיל אופטימיזציות. |
| compose.foundation | כתיבת אפליקציות ב-Jetpack Compose באמצעות אבני בניין מוכנות לשימוש והרחבת הבסיס כדי ליצור רכיבים משלכם למערכת העיצוב. |
| compose.material | אפשר ליצור ממשקי משתמש של Jetpack Compose באמצעות רכיבי 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, צריך להוסיף את מאגר Maven של Google לפרויקט. מידע נוסף זמין במאמר בנושא מאגר 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. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גירסה 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. פרטים מלאים מופיעים בטווח המחויבות שלמעלה.
גרסה 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 מכילה את השמירות האלה.
Notes
החל מהגרסה הזו, הקומפיילר יקרא ל-
startReplaceGroupבמקום ל-startReplacableGroupכשמודול עובר קומפילציה עם זמן ריצה שמכיל את השיטה הזו. הפונקציהstartReplaceGroupנוספה לסביבת זמן הריצה ב-Compose Runtime1.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 מכילה את השמירות האלה.
תיקוני באגים
- תיקון קריאות של פונקציות שאפשר להרכיב מהן פונקציות אחרות במאתחל אובייקט אנונימי. (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 הניבה חריגים כשנבנתה באמצעות Java21. הבאג הזה לא השפיע על משתמשים שהשתמשו ב-Compose Compiler מ-Google Maven (כלומר, לא בנו אותו בעצמם). (b/316644294)
- תוקן באג שגרם לדיווח על שגיאת
COMPOSABLE_EXPECTEDעבור חלק מהמתקשרים של פונקציות למדה שלא הוכנסו לשורה. (b/309364913) - הוספת שגיאת קומפילציה לפרמטרים שמוגדרים כברירת מחדל בפונקציות פתוחות (בעבר ההגבלה הזו הייתה תקפה רק לפונקציות מופשטות). בשלב הזה, Compose לא תומך בהחלפה של פרמטרים שמוגדרים כברירת מחדל מפונקציות שהוגדרו מחדש, והגדרה מחדש של פונקציה קומפוזבילית עם פרמטרים שמוגדרים כברירת מחדל נכשלה בזמן הריצה. אפשר להשתמש ב-
@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE")כדי להשבית את הפונקציה, אבל חשוב לזכור שאם מבטלים את הפונקציה בלי לספק ערך ברירת מחדל לפרמטר, תתרחש קריסה בזמן הריצה.(b/317490247) - תוקן באג ב-intrinsic remember שמנע את ההפצה של ערכים בצורה תקינה. (b/316327367)
חישוב צריכת הנתונים
- תיקון שגיאת הקלדה במסמך. (aosp/288106)
גרסה 1.5.7
19 בדצמבר 2023
androidx.compose.compiler:compiler:1.5.7 וגם androidx.compose.compiler:compiler-hosted:1.5.7 מופצים. גרסה 1.5.7 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה קריסת זמן הריצה של Compose כשפרמטר המפתח
remember()מפעיל פונקציה קומפוזבילית (b/315855015) - תיקון קריסה בזמן ריצה של כתיבת הודעה כשמשתמשים ב-
return@. (b/315821171) - מומלץ להימנע משימוש בנתיבים מוחלטים במפתחות של memoization, כדי לשפר את ניצול מטמון הבנייה. (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בהשוואות של מספרים של מטא-נתוני הפרמטרים עבור פרמטרים יציבים. כך נעשה שימוש בפחות משבצות ופחות השוואות בזמן הריצה. אפשר להשבית את האפשרות הזו באמצעות ארגומנט של פלאגין קומפיילר: -Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f) - תוקנה בעיה שקשורה לזיכרון מטמון של הפניות לפונקציות מותאמות וארגומנטים מוטבעים. (b/312738720)
- הבנה של קבוצות כשיוצאים מקריאה לפונקציה מוטבעת (b/312242547)
חישוב צריכת הנתונים
- תוקן קראש של זמן ריצה ב-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)
- תיקון של רה-קומפוזיציה על ידי התחשבות במצב פרמטר לא ודאי בזיכרון פנימי (b/263402091)
- תיקון מידע על שורות ניפוי באגים עבור תכונה מובנית של זיכרון (Ic8cf5)
- תוקנה קריסה (הורדת IR נכשלה) במהלך חיפוש של סוגים של פונקציות שאפשר להרכיב בזמן ההידור (b/297665426)
- מוסיפים את
חישוב צריכת הנתונים
- שימוש ב-memoization להפניות יציבות לפונקציות עם ארגומנטים (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
תכונות חדשות
- הוספנו אפשרות ניסיונית להפעלת מצב דילוג חזק. מצב דילוג חזק מאפשר דילוג על קומפוזיציות עם פרמטרים לא יציבים. בנוסף, פונקציות למדא עם לכידות לא יציבות עוברות ממויזציה. התכונה הזו ניסיונית ולא מוכנה לשימוש בשידור חי אמיתי. (22421e)
- מוסיפים flag כדי להפעיל או להשבית את פרטי המקור או העקבות. (4d45f09)
- אפשר לקבוע את היציבות של כיתות חיצוניות באמצעות קובץ הגדרה. (If40eb)
תיקוני באגים
- תיקון של יציאה מוקדמת מפונקציות שאפשר להרכיב מהן פונקציות אחרות, כשמידע המקור לא נאסף. (fe6267)
- תיקון של המשך הפעילות מפונקציות שאפשר להרכיב. (948362)
- תיקון של הרזולוציה כשמפעילים פונקציות שניתנות להגדרה מתוך הפעלת פונקציה שיש לה כמה עומסים שונים שתלויים בסוג ההחזרה של הביטוי. (2d36d0)
- תיקון של memoization כשלהפניה לפונקציה אין מקלט לשיגור. (fc2326)
- תיקון של בדיקת dirty שגרמה לכך שלא ניתן היה לבצע recomposition של lambdas במצבים מסוימים. (db3699)
- תיקון בעיות יציבות בהידור מצטבר של מודולים. (7d3e127)
- הצמצום של ההיקף של
@DontMemoizeלביטויי למדה בלבד. (7a7fa52) - תיקון של משתנים שלא נלכדים בצורה נכונה כשמשתמשים בממשק כיפי שניתן להרכבה כפונקציית למדה. (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)
- תוקן דליפת זיכרון שנגרמה כתוצאה ממעבר לנקודת הכניסה החדשה של תוסף הקומפיילר. (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 compiler הרצויה עודכנה ל-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
- נוספו גרסאות פרימיטיביות של
StateAPI, שמאפשרות לעקוב אחרי ערכים מסוג 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, סביבת build צריכה להשתמש ב-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
חישוב צריכת הנתונים
- תמיכה משופרת בפונקציות הניתנות להגדרה ב-Kotlin/Native.f52b6aeed22400dd4f4a4f05559a9aa42642402c
גרסה 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)
- אפשר להחזיר פונקציות קומפוזביליות
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
תיקוני באגים
- כדי להימנע מבג בהרכבה מחדש, מוסיפים קבוצות בגוף של פונקציות למדא שלא ניתן לדלג עליהן.
גרסה 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
- השבתת הזיכרון המובנה
- למחלקת הנתונים של כלי ה-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 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה
IllegalStateExceptionשגרמה לכך ש-Compose Compiler סימן בטעות סוגי יחידות כניתנים להרכבה בנסיבות מסוימות. (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
- תמיכה ב-Kotlin 1.7.0
- בפוסט הזה בבלוג מוסבר על השיטה החדשה שלנו לניהול גרסאות של מהדר Compose.
גרסה 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 Compiler
1.1.0-rc02תואם ל-Kotlin1.6.10.
גרסה 1.1.0-rc01
15 בדצמבר 2021
androidx.compose.compiler:compiler:1.1.0-rc01 מופץ. גרסה 1.1.0-rc01 מכילה את השמירות האלה.
שינויים בתלות
- Compose Compiler
1.1.0-rc01תואם ל-Kotlin1.6.0. גרסת build תואמת של
1.6.10זמינה דרך תמונות מצב של androidx.dev עםbuildId8003490. קטע הקוד הבא של התלות יגדיר 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 Runtime (1.0). לפני השינוי הזה, מהדר Compose היה תואם רק ל-Compose Runtime מאותה גרסה או מגרסה מאוחרת יותר. אחרי השינוי הזה, מהדר Compose תואם לגרסה ישנה יותר של Compose Runtime (1.0). (aosp/1796968)
- עדכנו את Compose
1.1.0-alpha03כך שיהיה תלוי ב-Kotlin1.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.
זו הגרסה הראשונה בקבוצה החדשה.