کامپایلر نوشتن

توابع @Composable را تغییر دهید و بهینه سازی ها را با افزونه کامپایلر Kotlin فعال کنید.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
7 آگوست 2024 1.5.15 - - -

ساختار

Compose ترکیبی از 7 شناسه گروه Maven در androidx است. هر گروه شامل یک زیرمجموعه هدفمند از عملکرد است که هر کدام مجموعه ای از یادداشت های انتشار خود را دارند.

این جدول گروه ها و پیوندهای هر مجموعه از یادداشت های انتشار را توضیح می دهد.

گروه توضیحات
آهنگسازی.انیمیشن انیمیشن هایی را در برنامه های Jetpack Compose خود بسازید تا تجربه کاربر را غنی تر کنید.
compose.compiler توابع @Composable را تغییر دهید و بهینه سازی ها را با افزونه کامپایلر Kotlin فعال کنید.
تألیف.بنیاد برنامه های Jetpack Compose را با بلوک های ساختمانی آماده بنویسید و پایه را گسترش دهید تا قطعات سیستم طراحی خود را بسازید.
آهنگسازی.مواد رابط کاربری Jetpack Compose را با اجزای طراحی مواد آماده برای استفاده بسازید. این نقطه ورود سطح بالاتر Compose است که برای ارائه مؤلفه هایی مطابق با آنچه در www.material.io توضیح داده شده است طراحی شده است.
نوشتن.مواد3 ایجاد رابط کاربری Jetpack Compose با 3 مؤلفه طراحی متریال، تکامل بعدی طراحی متریال. Material 3 شامل قالب‌ها و اجزای به‌روز شده و ویژگی‌های شخصی‌سازی Material You مانند رنگ پویا است و به گونه‌ای طراحی شده است که با سبک بصری جدید Android 12 و رابط کاربری سیستم هماهنگ باشد.
نوشتن. زمان اجرا بلوک‌های بنیادی مدل برنامه‌نویسی Compose و مدیریت حالت، و زمان اجرا اصلی برای هدف قرار دادن افزونه Compose Compiler.
compose.ui مؤلفه‌های اساسی نوشتن رابط کاربر برای تعامل با دستگاه، از جمله طرح‌بندی، طراحی، و ورودی مورد نیاز است.

اعلام وابستگی ها

برای افزودن وابستگی به Compose، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

کاتلین

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.5

نسخه 1.5.15

7 آگوست 2024

androidx.compose.compiler:compiler:1.5.15 و androidx.compose.compiler:compiler-hosted:1.5.15 منتشر شد. نسخه 1.5.15 حاوی این commit ها است.

  • این نسخه کامپایلر 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 حاوی این commit ها است.

این نسخه کامپایلر 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 شامل این commit ها است.

ویژگی های جدید

  • پرش قوی دیگر آزمایشی در نظر گرفته نمی شود و برای استفاده در تولید بی خطر است. این به رفتار پیش فرض در نسخه آینده تبدیل می شود. ( I6c8c4 )

رفع اشکال

  • سازگاری باینری را برای توابع @Composable با پارامترهای کلاس مقدار که دارای یک مقدار پیش‌فرض هستند و یک مقدار غیر ابتدایی را بسته بندی می‌کنند، برطرف کنید. ( I89465
  • اصلاحات Upstreamed برای JS و کامپایل Native از Compose multiplatform. برای جزئیات کامل به محدوده commit بالا مراجعه کنید.

نسخه 1.5.12

17 آوریل 2024

androidx.compose.compiler:compiler:1.5.12 و androidx.compose.compiler:compiler-hosted:1.5.12 منتشر شده است. نسخه 1.5.12 حاوی این commit ها است.

رفع اشکال

  • رفع مشکل کامپایل تدریجی با Kotlin 1.9.23. ( Ifca55 )
  • انواع غیر قابل تهی را در پارامترهای مقدار برای کلاس های درون خطی غیر ابتدایی ثابت کنید. ( Ie6bb5 )

نسخه 1.5.11

20 مارس 2024

androidx.compose.compiler:compiler:1.5.11 و androidx.compose.compiler:compiler-hosted:1.5.11 منتشر شد. نسخه 1.5.11 شامل این commit ها است.

یادداشت ها

  • با شروع با این نسخه، کامپایلر اکنون 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 )
  • اطمینان حاصل کنید که یادداشت مرجع تابع سعی نمی کند والدین ضمنی اعلان های محلی را زمانی که مستقیماً استفاده نمی شوند، ضبط کند. ( 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 حاوی این commit ها است.

رفع اشکال

  • از حروف زنده در داخل بلوک های 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 حاوی این commit ها است.

رفع اشکال

  • رفع تماس های قابل ترکیب در اولیه ساز شی ناشناس. ( b/320261458 , 96315c )
  • اعلان های محلی بازگشتی را به عنوان ضبط بشمارید. ( b/318745941 , e7b4b0 )
  • اصلاح رفتار تغییر حافظه ذاتی مربوط به ref های متد جاوا با اجبار .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 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از Kotlin 1.9.22

رفع اشکال

  • رفع اشکال که در آن ساخت Compose Compiler در هنگام ساخت با استفاده از Java21 استثناهایی را ایجاد می کرد. کاربرانی که از Compose Compiler از Google Maven استفاده می کنند (یعنی خودشان آن را نمی سازند) هرگز تحت تأثیر این باگ قرار نگرفتند. ( b/316644294 )
  • رفع اشکال که در آن خطا COMPOSABLE_EXPECTED برای برخی از تماس‌گیرندگان لامبداهای غیر خطی گزارش شده بود. ( b/309364913 )
  • یک خطای کامپایل برای پارامترهای پیش فرض در توابع باز اضافه کنید (قبلا فقط برای توابع انتزاعی محدود شده بود). Compose در حال حاضر از جایگزینی پارامترهای پیش‌فرض از توابع نادیده گرفته شده پشتیبانی نمی‌کند، و لغو یک تابع قابل ترکیب با پارامترهای پیش‌فرض در زمان اجرا ناموفق بود. از @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") برای سرکوب استفاده کنید، اما توجه داشته باشید که لغو چنین عملکردی بدون ارائه مقدار پیش‌فرض برای پارامتر منجر به خرابی در زمان اجرا می‌شود. ( b/317490247 )
  • رفع اشکال در حافظه ذاتی که از انتشار صحیح مقادیر جلوگیری می کرد. ( b/316327367 )

مشارکت خارجی

  • رفع اشتباه تایپی اسناد ( aosp/288106 )

نسخه 1.5.7

19 دسامبر 2023

androidx.compose.compiler:compiler:1.5.7 و androidx.compose.compiler:compiler-hosted:1.5.7 منتشر شد. نسخه 1.5.7 حاوی این commit ها است.

رفع اشکال

  • رفع خرابی زمان اجرا نوشتن زمانی که پارامتر کلید remember() یک تابع Composable را فراخوانی می کند ( 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 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از 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 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 حاوی این commit ها است.

رفع اشکال

  • رفع خرابی در حین جستجوی انواع قابل ترکیب لغو شده ( 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 حاوی این commit ها است.

به روز رسانی های وابستگی

  • Compose Compiler اکنون با Kotlin 1.9.20 سازگار است

ویژگی های جدید

  • برای فعال کردن حالت پرش قوی، یک گزینه آزمایشی اضافه کنید. حالت پرش قوی این امکان را می دهد که از اجزای سازنده با پارامترهای ناپایدار پرش شود. علاوه بر این، لامبداهایی با ضبط ناپایدار به حافظه سپرده می شوند. این ویژگی آزمایشی است و برای استفاده در تولید آماده نیست. ( 22421e )
  • برای فعال/غیرفعال کردن اطلاعات منبع/ردیابی پرچم پرچم اضافه کنید. ( 4d45f09 )
  • اجازه پیکربندی پایداری کلاس های خارجی از طریق یک فایل پیکربندی. ( If40eb )

رفع اشکال

  • وقتی اطلاعات منبع جمع آوری نمی شود، خروج زودهنگام از توابع قابل ترکیب را برطرف کنید. ( fe6267 )
  • ادامه از توابع قابل ترکیب را رفع کنید. ( 948362 )
  • هنگامی که توابع قابل ترکیب از داخل فراخوانی تابعی فراخوانی می شوند که دارای اضافه بارهای متعدد است که به نوع بازگشت عبارت بستگی دارد، وضوح را برطرف کنید. ( 2d36d0 )
  • هنگامی که مرجع تابع گیرنده ارسال ندارد، یادداشت را برطرف کنید. ( fc2326 )
  • بررسی کثیفی را که در برخی شرایط از ترکیب مجدد لامبدا جلوگیری می کرد، رفع کنید. ( db3699 )
  • هنگام کامپایل تدریجی در ماژول ها، ثبات را برطرف کنید. ( 7d3e127 )
  • دامنه @DontMemoize را فقط به عبارات لامبدا کاهش دهید. ( 7a7fa52 )
  • هنگام استفاده از یک رابط سرگرم کننده Composable به عنوان لامبدا، متغیرهایی که به درستی ثبت نشده اند را برطرف کنید. ( 5ae3556 )

مشارکت خارجی

  • استفاده از نماد برابری ساختاری برای مقایسه عددی و تهی ( 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 حاوی این commit ها است.

به روز رسانی وابستگی

  • نسخه کاتلین به 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 حاوی این commit ها است.

رفع اشکال

  • درج اعداد خط برای عبارات بازگشتی در توابع ترکیب پذیر با بازگشت ثابت. ( 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 حاوی این commit ها است.

رفع اشکال

  • نشانگرهای رویداد ردیابی ترکیب را در توابع @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 حاوی این commit ها است.

پشتیبانی آزمایشی K2

  • کامپایلر Compose 1.5.0 پشتیبانی آزمایشی از کامپایلر K2 را فراهم می کند. برخی از ویژگی های Compose هنوز با K2 پشتیبانی نمی شوند و در نسخه های بعدی کامپایلر ارائه خواهند شد.

تغییرات مهم از 1.4.0

  • نسخه کاتلین به 1.9.0 آپدیت شده است.
  • آرگومان‌های نام‌گذاری شده برای تماس‌های لامبدا @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 حاوی این commit ها است.

ویژگی های جدید

  • نسخه کامپایلر Target 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 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از 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 حاوی این commit ها است.

رفع اشکال

  • Compose Compiler اکنون برای پشتیبانی بهتر از کاربرانی که هنوز از نسخه های قدیمی جاوا استفاده می کنند به Java11 (به جای Java17 مورد نیاز Compose Compiler نسخه 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 حاوی این commit ها است.

توجه این بیلد Compose Compiler به محیط ساخت شما برای استفاده از Java 17+ نیاز دارد. بر اساس بازخورد کاربران، ما این نیاز را به جاوا 11 برمی‌گردانیم و نسخه دیگری (1.4.6) را برای پشتیبانی بهتر از کاربرانی که از نسخه‌های قدیمی جاوا استفاده می‌کنند، پیگیری می‌کنیم.

ویژگی های جدید

پشتیبانی از Kotlin 1.8.20

رفع اشکال

  • انتشار الزامات نادیده گرفتن عملگر فراخوانی ترکیبی به کلاس ها و رابط هایی که رابط های لامبدا را با حاشیه نویسی های مربوطه گسترش می دهند. 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 حاوی این commit ها است.

رفع اشکال

  • رفع برگشت های لامبدا درون خطی Composable ( 72172b )
  • اجازه دادن به composables برای برگرداندن Nothing (هنگام استفاده از TODO در یک تابع composable خطا ایجاد نکنید) 3aea8d )

نسخه 1.4.3

نسخه 1.4.3

22 فوریه 2023

androidx.compose.compiler:compiler:1.4.3 منتشر شد. نسخه 1.4.3 حاوی این commit ها است.

رفع اشکال

  • تماس‌های مشروط را در آرگومان‌های فراخوانی‌های قابل تنظیم رفع می‌کند ( Ie93edb )

نسخه 1.4.2

نسخه 1.4.2

8 فوریه 2023

androidx.compose.compiler:compiler:1.4.2 منتشر شد. نسخه 1.4.2 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از Kotlin 1.8.10

رفع اشکال

  • گروه هایی را در بدنه لامبداهای غیرقابل رد شدن اضافه کنید تا از اشکال ترکیب مجدد جلوگیری کنید.

نسخه 1.4.1

نسخه 1.4.1

8 فوریه 2023

androidx.compose.compiler:compiler:1.4.1 منتشر شد. نسخه 1.4.1 حاوی این commit ها است.

رفع اشکال

  • بهینه سازی حافظه ذاتی را که قبلاً چند اشکال تولید کد را معرفی کرده بود، غیرفعال کنید.
  • غیرفعال کردن حافظه ذاتی در توابع حاوی پارامتر vararg.
  • رد شدن اشتباه در composable ها را با پارامترهای پیش فرض برطرف کنید
  • اگر بررسی سازگاری Kotlin ناموفق بود، پیام خطای بازگشتی دفاعی را اضافه کنید.
  • تولید کد رد شدن را از لامبدا درون خطی حذف کنید

نسخه 1.4.0

17 ژانویه 2023

androidx.compose.compiler:compiler:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این commit ها است.

تغییرات مهم از 1.3.0

  • پشتیبانی از Kotlin 1.8.0
  • ذخیره ذاتی خاموش شد
  • Group داده ابزار ابزار رابط کاربر اکنون یک فیلد به isInline دارد که نشان می دهد آیا گروه برای فراخوانی یک تابع قابل ترکیب درون خطی است یا خیر. اگر isInline true باشد، فراخوانی به یک تابع قابل ترکیب درون خطی است. با این حال، مقدار ممکن است برای فراخوانی‌های توابع ترکیب‌پذیر درون خطی که از ماژول‌هایی هستند که با نسخه‌ای از افزونه کامپایلر نوشتن که اطلاعات تابع درون خطی را تولید نمی‌کند کامپایل شده‌اند، نادرست باشد.
  • ImmutableCollection و خواهر و برادرهای Persistent آنها اکنون پایدار در نظر گرفته می شوند.
  • پارامتر جدید در AnimatedContent برای برچسب ابزار
  • ایجاد کد معیوب برای لامبدا درون خطی رفع شد

نسخه 1.4.0-alpha02

11 نوامبر 2022

androidx.compose.compiler:compiler:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی اضافه شده برای Kotlin 1.7.21

نسخه 1.4.0-alpha01

9 نوامبر 2022

androidx.compose.compiler:compiler:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این commit ها است.

رفع اشکال

  • رفع توانایی بازگشت زودهنگام از توابع ترکیبی درون خطی ( b/255350755 )
  • رفع اشکال در کاهش طعمه که پشتیبانی Kotlin/JS را در Compose شکسته است ( 6a40f8 ).

نسخه 1.3

نسخه 1.3.2

4 اکتبر 2022

androidx.compose.compiler:compiler:1.3.2 منتشر شد. نسخه 1.3.2 حاوی این commit ها است.

ویژگی جدید

  • این نسخه شامل به روز رسانی Kotlin 1.7.20 است

نسخه 1.3.1

7 سپتامبر 2022

androidx.compose.compiler:compiler:1.3.1 منتشر شد. نسخه 1.3.1 حاوی این commit ها است.

رفع اشکال

  • IllegalStateException که Compose Compiler در برخی شرایط به اشتباه انواع واحدها را به‌عنوان قابل ترکیب علامت‌گذاری می‌کرد، برطرف کنید. ( b/237863365 )
  • کاربران اکنون باید هنگام سرکوب بررسی نسخه کامپایلر، نسخه Kotlin مورد نظر خود را مشخص کنند ( I9e5e2 )

نسخه 1.3.0

10 آگوست 2022

androidx.compose.compiler:compiler:1.3.0 منتشر شد. نسخه 1.3.0 حاوی این commit ها است.

نسخه 1.3.0-rc02

3 آگوست 2022

androidx.compose.compiler:compiler:1.3.0-rc02 منتشر شد. نسخه 1.3.0-rc02 حاوی این commit ها است.

نسخه 1.3.0-rc01

27 جولای 2022

androidx.compose.compiler:compiler:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.

نسخه 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 حاوی این commit ها است.

تغییرات مهم از 1.1.0

نسخه 1.2.0-rc02

22 ژوئن 2022

androidx.compose.compiler:compiler:1.2.0-rc02 منتشر شد. نسخه 1.2.0-rc02 حاوی این commit ها است.

رفع اشکال

  • تولید کد Trace Event قابل ترکیب حذف شد ( aosp/2127922 )

نسخه 1.2.0-rc01

15 ژوئن 2022

androidx.compose.compiler:compiler:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.

نسخه 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 حاوی این commit ها است.

نسخه 1.2.0-alpha07

6 آوریل 2022

androidx.compose.compiler:compiler:1.2.0-alpha07 منتشر شد. نسخه 1.2.0-alpha07 حاوی این commit ها است.

نسخه 1.2.0-alpha06

23 مارس 2022

androidx.compose.compiler:compiler:1.2.0-alpha06 منتشر شد. نسخه 1.2.0-alpha06 حاوی این commit ها است.

نسخه 1.2.0-alpha05

9 مارس 2022

androidx.compose.compiler:compiler:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 حاوی این commit ها است.

نسخه 1.2.0-alpha04

23 فوریه 2022

androidx.compose.compiler:compiler:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 حاوی این commit ها است.

نسخه 1.2.0-alpha03

9 فوریه 2022

androidx.compose.compiler:compiler:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.

نسخه 1.2.0-alpha02

26 ژانویه 2022

androidx.compose.compiler:compiler:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.

نسخه 1.2.0-alpha01

12 ژانویه 2022

androidx.compose.compiler:compiler:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی اضافه شده برای Kotlin 1.6.10 .

نسخه 1.1

نسخه 1.1.1

23 فوریه 2022

androidx.compose.compiler:compiler:1.1.1 منتشر شد. نسخه 1.1.1 حاوی این commit ها است.

رفع اشکال

  • رفع 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 حاوی این commit ها است.

تغییرات مهم از 1.0.0

  • پشتیبانی پایدار از افکت Overscroll Android 12
  • بهبود در اندازه هدف لمسی
  • توجه داشته باشید که با توجه به Compose 1.0، مؤلفه‌های Material فضای طرح‌بندی خود را گسترش می‌دهند تا دستورالعمل‌های دسترسی به مواد برای اندازه هدف لمسی را رعایت کنند. به عنوان مثال، هدف لمسی دکمه تا حداقل اندازه 48x48dp گسترش می یابد، حتی اگر اندازه دکمه را کوچکتر تنظیم کنید. این Compose Material را با همان رفتار Material Design Components تراز می‌کند و اگر Views و Compose را با هم ترکیب کنید، رفتار ثابتی را ارائه می‌دهد. این تغییر همچنین تضمین می‌کند که وقتی رابط کاربری خود را با استفاده از اجزای Compose Material ایجاد می‌کنید، حداقل الزامات برای دسترسی به هدف لمسی برآورده می‌شود.
  • پشتیبانی پایدار برای راه آهن ناوبری
  • تعدادی از APIهای آزمایشی قبلی را به ثبات رسانده است
  • پشتیبانی از نسخه های جدیدتر Kotlin

نسخه 1.1.0-rc03

26 ژانویه 2022

androidx.compose.compiler:compiler:1.1.0-rc03 منتشر شد. نسخه 1.1.0-rc03 حاوی این commit ها است.

رفع اشکال

  • برای پشتیبانی از Compose Material 1.1.0-rc03 به روز شد

نسخه 1.1.0-rc02

16 دسامبر 2021

androidx.compose.compiler:compiler:1.1.0-rc02 منتشر شد. نسخه 1.1.0-rc02 حاوی این commit ها است.

به روز رسانی وابستگی

  • Compose Compiler 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 حاوی این commit ها است.

وابستگی تغییر می کند

  • Compose Compiler 1.1.0-rc01 با Kotlin 1.6.0 سازگار است.
  • یک ساخت 1.6.10 سازگار از طریق SNAPSHOT های androidx.dev با buildId 8003490 در دسترس است. قطعه وابستگی زیر SNAPSHOT ها را برای Compose Compose پیکربندی می کند:

    قطعه زیر را به فایل root build.gradle پروژه خود اضافه کنید:

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

    قطعه زیر را برای برنامه یا ماژول خود که از Compose استفاده می کند به فایل 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 حاوی این commit ها است.

نسخه 1.1.0-alpha05

29 سپتامبر 2021

androidx.compose.compiler:compiler:1.1.0-alpha05 منتشر شد. نسخه 1.1.0-alpha05 حاوی این commit ها است.

نسخه 1.1.0-alpha04

15 سپتامبر 2021

androidx.compose.compiler:compiler:1.1.0-alpha04 منتشر شد. نسخه 1.1.0-alpha04 حاوی این commit ها است.

نسخه 1.1.0-alpha03

1 سپتامبر 2021

androidx.compose.compiler:compiler:1.1.0-alpha03 منتشر شد. نسخه 1.1.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • Compose Compiler اکنون از نسخه های قدیمی تر Compose Runtime (1.0) پشتیبانی می کند. قبل از این تغییر، Compose Compiler فقط با Compose Runtime همان نسخه یا نسخه های جدیدتر سازگار بود. پس از این تغییر، Compose Compiler با نسخه قدیمی 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 حاوی این commit ها است.

نسخه 1.1.0-alpha01

4 آگوست 2021

androidx.compose.compiler:compiler:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.

نسخه 1.0

نسخه 1.0.5

3 نوامبر 2021

androidx.compose.compiler:compiler:1.0.5 منتشر شد. نسخه 1.0.5 حاوی این commit ها است.

رفع اشکال

  • رفع ردیابی خرابی نمونه‌های مشتق شده ازStateOf. ( aosp/1792247 )

نسخه 1.0.4

13 اکتبر 2021

androidx.compose.compiler:compiler:1.0.4 منتشر شد. نسخه 1.0.4 حاوی این commit ها است.

به روز رسانی های وابستگی

  • به روز شد تا به Kotlin 1.5.31 وابسته باشد

نسخه 1.0.3

29 سپتامبر 2021

androidx.compose.compiler:compiler:1.0.3 منتشر شد. نسخه 1.0.3 حاوی این commit ها است.

به روز رسانی های وابستگی

  • به روز شد تا به Kotlin 1.5.30 وابسته باشد

نسخه 1.0.2

1 سپتامبر 2021

androidx.compose.compiler:compiler:1.0.2 منتشر شد. نسخه 1.0.2 حاوی این commit ها است.

برای پشتیبانی از نسخه 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 حاوی این commit ها است.

به روز رسانی های وابستگی

  • به روز شد تا به Kotlin 1.5.21 وابسته باشد.

نسخه 1.0.0

28 ژوئیه 2021

androidx.compose.compiler:compiler:1.0.0 منتشر شد. نسخه 1.0.0 حاوی این commit ها است.

ویژگی های اصلی 1.0.0

این اولین نسخه پایدار Compose است. لطفاً برای جزئیات بیشتر به وبلاگ رسمی Compose Release مراجعه کنید!

نسخه 1.0.0-rc02

14 جولای 2021

androidx.compose.compiler:compiler:1.0.0-rc02 منتشر شد. نسخه 1.0.0-rc02 حاوی این commit ها است.

نسخه 1.0.0-rc01

1 ژوئیه 2021

androidx.compose.compiler:compiler:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 حاوی این commit ها است.

نسخه 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 حاوی این commit ها است.

نسخه 1.0.0-alpha11

28 ژانویه 2021

androidx.compose.compiler:compiler:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 حاوی این commit ها است.

نسخه 1.0.0-alpha10

13 ژانویه 2021

androidx.compose.compiler:compiler:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 حاوی این commit ها است.

نسخه 1.0.0-alpha09

16 دسامبر 2020

androidx.compose.compiler:compiler:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 حاوی این commit ها است.

نسخه 1.0.0-alpha08

2 دسامبر 2020

androidx.compose.compiler:compiler:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 حاوی این commit ها است.

نسخه 1.0.0-alpha07

11 نوامبر 2020

androidx.compose.compiler:compiler:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 حاوی این commit ها است.

ویژگی های جدید

  • استنتاج و انتشار پایداری افزونه Compose Compiler انواعی را که کامپایل می کند تجزیه و تحلیل می کند تا مشخص کند که آیا برای بهینه سازی های خاصی در زمان اجرا واجد شرایط است یا خیر. این نتیجه استنتاج شده سپس به عنوان ابرداده در کلاس سنتز می شود تا توسط کامپایلر در ماژول های دیگر استفاده شود. علاوه بر این، نتیجه زمان اجرا این استنتاج‌ها در فراداده‌های ارسال شده به فراخوانی‌های قابل ترکیب در طول ترکیب ارسال می‌شود. این امر مستلزم پروتکل متادیتا متفاوتی برای توابع کامپایل‌پذیر است، به این معنی که توابع کامپایل‌شده با کامپایلر alpha07 با توابع قابل‌کامپایل‌شده با هر نسخه کامپایلر قبلی سازگار باینری نخواهند بود. ( aosp/1431988 )

نسخه 1.0.0-alpha06

28 اکتبر 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 حاوی این commit ها است.

نسخه 1.0.0-alpha05

14 اکتبر 2020

androidx.compose.compiler:compiler:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 حاوی این commit ها است.

نسخه 1.0.0-alpha04

1 اکتبر 2020

androidx.compose.compiler:compiler:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 حاوی این commit ها است.

androidx.compose:compose-compiler دوباره به androidx.compose.compiler:compiler تبدیل شده است. این اولین نسخه در گروه جدید است.