پیش‌نمایش نوشتن تصویر صفحه آزمایش یادداشت‌های انتشار

۰.۰.۱-آلفا۱۵

این نسخه شامل رفع اشکالات زیر است:

مسئله توضیحات
شماره شماره ۵۰۰۴۱۷۳۶۰ مشکل از کار افتادن مقداردهی اولیه ( NoClassDefFoundError ) هنگام اجرای پیش‌نمایش‌ها با Kotlin 2.1+ که به دلیل فقدان وابستگی kotlin-stdlib در بارگذار کلاس ایزوله چارچوب Layoutlib رخ می‌داد، برطرف شد.
شماره شماره ۳۸۴۱۸۸۰۳۲ مشکل رندرینگ هنگام inflate کردن یک شیء ViewHolder درون یک Composable AndroidView factory برطرف شد.
شماره شماره ۳۵۱۳۰۲۲۷ رفع مشکل بارگذاری منابع قابل ترسیم در پیش‌نمایش‌ها، جایی که منابع در ماژول‌های پروژه خواهر یا وابسته قرار داشتند.
شماره شماره ۴۸۲۶۴۸۹۳ اطمینان حاصل شد که وظایف اعتبارسنجی هنگام بروز استثنا در آزمایش‌های اسکرین‌شات، به جای موفقیت نادرست با یک اسکرین‌شات قدیمی، به درستی شکست می‌خورند.
شماره شماره ۴۹۷۶۷۵۶۱۸ پشتیبانی از ابزار دقیق کلاس‌های قابل ترکیب توسط عامل‌های پوشش JVM (مانند JaCoCo).
شماره شماره ۴۹۸۵۴۵۹۶۰ نام فایل‌های داخلی (برای مثال، ImageVerifier.kt ) از ردیابی پشته خطای کنسول JUnit حذف شد تا خروجی اشکال‌زدایی واضح‌تر شود.
شماره شماره ۳۸۵۶۱۳۸۶۵ استفاده از مسیر مطلق برای تصاویر در فایل XML نتایج آزمایش حذف شد و آنها با مسیرهای نسبی جایگزین شدند.
شماره شماره ۵۱۳۲۷۶۵۹۶ تضمین می‌شود که خطاهای رندرینگ به درستی در تست اسکرین‌شات رد شوند، نه اینکه بی‌سروصدا و با یک اسکرین‌شات خالی رد شوند.
شماره شماره ۳۴۰۶۳۹۸۰۲ تداخلات مربوط به حل روش‌های پیش‌نمایش که در آن‌ها تست‌ها به اشتباه با نام‌های روش‌های کاملاً واجد شرایط در مجموعه منابع اصلی مطابقت داده می‌شدند، برطرف شد.

۰.۰.۱-آلفا۱۴

این نسخه شامل رفع اشکالات و بهبود عملکرد زیر است:

مسئله توضیحات
شماره شماره ۴۶۹۸۱۹۱۵۴ نشت حافظه در رندرکننده Compose برطرف شد.
شماره شماره ۴۷۰۰۵۸۵۷۸ رفع مشکل هنگ کردن رابط کاربری و خطاهای حافظه هنگام به‌روزرسانی تصاویر مرجع.
شماره شماره ۴۲۲۴۱۲۶۶۴ خطای «خط فرمان از محدودیت‌های سیستم عامل فراتر می‌رود» در Windows و GitHub Actions برطرف شد.
شماره شماره ۴۳۷۲۲۳۸۰۷ مشکلات مربوط به تفکیک منابع و دارایی‌ها در پروژه‌های چند ماژولی برطرف شد.
شماره شماره ۴۶۴۸۹۹۸۰۰ تداخل افزونه Gradle که ناشی از تداخل نامگذاری در version.properties بود، برطرف شد.
شماره شماره ۴۸۲۴۳۳۸۵۴ خطاهای مقداردهی اولیه برای composableها با استفاده از kotlin-reflect یا serialization برطرف شد.

۰.۰.۱-آلفا۱۳

این نسخه معرفی می‌کند:

  • سازگاری با JDK 17 یا بالاتر.
  • رفع اشکالات و بهبود ادغام با اندروید استودیو.

۰.۰.۱-آلفا۱۲

این نسخه معرفی می‌کند:

  • سازگاری با افزونه‌ی اندروید گریدل (AGP) نسخه ۹.۰
  • پشتیبانی از اجرای تست‌های اسکرین‌شات در JDK 24 و بالاتر.
  • پشتیبانی از پیکربندی حداکثر اندازه heap.
  • رفع مشکلات رندرینگ و بهبود پایداری تست.
  • گزارش‌دهی بهبود یافته تا شامل درصد اختلاف و سایر فراداده‌های مربوط به تصاویر جدید و مرجع باشد.

۰.۰.۱-آلفا۱۱

این نسخه معرفی می‌کند:

  • سازگاری با افزونه‌ی اندروید گریدل (AGP) نسخه ۸.۱۳.
  • پشتیبانی از تجزیه فایل‌های XML drawables با مقادیر اعشاری صرف نظر از زبان دستگاه میزبان اضافه شد.
  • برای یک ماشین میزبان که از JDK 24 یا بالاتر استفاده می‌کند، JDK سازگار (11-23) در صورت نصب بودن، انتخاب خواهد شد.

۰.۰.۱-آلفا۱۰

این نسخه معرفی می‌کند:

  • از این نسخه، باید تمام توابع پیش‌نمایش خود را با حاشیه‌نویسی @PreviewTest علامت‌گذاری کنید. پیش‌نمایش‌های بدون این حاشیه‌نویسی اجرا نخواهند شد.

  • دایرکتوری تصویر مرجع از {module}/src/{variant}/screenshotTest/reference به {module}/src/screenshotTest{Variant}/reference تغییر یافته است. این کار برای اطمینان از این است که تصاویر مرجع تولید شده بخشی از کد عملیاتی نباشند و با ساختار دایرکتوری سایر انواع تست هم‌تراز شوند.

  • وظیفه {variant}PreviewScreenshotRender حذف شده است. رندر تصویر به موتور تست JUnit منتقل شده است.

  • وظیفه update{Variant}ScreenshotTest تصاویر رندر شده جدید را قبل از به‌روزرسانی با تصاویر مرجع مقایسه می‌کند. این وظیفه فقط تصاویری را به‌روزرسانی می‌کند که تفاوت‌هایشان بیشتر از یک آستانه مشخص شده باشد. پرچم خط فرمان --updateFilter حذف شد.

۰.۰.۱-alpha06

این نسخه معرفی می‌کند:

آستانه تفاوت تصویر: این تنظیم آستانه سراسری جدید به شما امکان می‌دهد کنترل دقیق‌تری بر مقایسه تصاویر داشته باشید. برای پیکربندی، build.gradle.kts ماژول خود را به‌روزرسانی کنید:

    testOptions {
        screenshotTests {
            imageDifferenceThreshold = 0.0001f // 0.01%
        }
    }

این آستانه برای تمام تست‌های اسکرین‌شات تعریف‌شده در ماژول اعمال خواهد شد.

  • رفع اشکالات: برخی از اشکالات رندرکننده‌ی Compose و پشتیبانی از نوشتن خالی اضافه شد.
  • بهبود عملکرد: الگوریتم تشخیص تفاوت تصویر به‌روزرسانی شد تا سریع‌تر شود.