झलक दिखाने की सुविधा के स्क्रीनशॉट की टेस्टिंग से जुड़ी रिलीज़ नोट कंपोज़ करें

0.0.1-alpha14

इस रिलीज़ में, गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है. जैसे:

समस्या ब्यौरा
समस्या #469819154 Compose रेंडरर में मेमोरी लीक की समस्या ठीक की गई.
समस्या #470058578 रेफ़रंस इमेज अपडेट करते समय, यूज़र इंटरफ़ेस (यूआई) के फ़्रीज़ होने और मेमोरी से जुड़ी गड़बड़ियों को ठीक किया गया है.
समस्या #422412664 Windows और GitHub Actions पर, "कमांड लाइन ऑपरेटिंग सिस्टम की सीमाओं से ज़्यादा है" गड़बड़ियों को ठीक किया गया.
समस्या #437223807 एक से ज़्यादा मॉड्यूल वाले प्रोजेक्ट में, ऐसेट और रिसॉर्स के रिज़ॉल्यूशन से जुड़ी समस्याओं को ठीक किया गया है.
समस्या #464899800 version.properties में नाम के टकराव की वजह से, Gradle प्लगिन से जुड़ी समस्या को ठीक किया गया है.
समस्या #482433854 kotlin-reflect या सीरियलाइज़ेशन का इस्तेमाल करने वाले कंपोज़ेबल के लिए, शुरू करने से जुड़ी गड़बड़ियों को ठीक किया गया है.

0.0.1-alpha13

इस रिलीज़ में ये सुविधाएं जोड़ी गई हैं:

  • JDK 17 या इसके बाद के वर्शन के साथ काम करता है.
  • गड़बड़ियां ठीक की गई हैं और Android Studio के साथ बेहतर तरीके से इंटिग्रेट किया गया है.

0.0.1-alpha12

इस रिलीज़ में ये सुविधाएं जोड़ी गई हैं:

  • Android Gradle प्लगिन (AGP) 9.0 के साथ काम करता है.
  • JDK 24 और इसके बाद के वर्शन पर, स्क्रीनशॉट टेस्ट चलाने की सुविधा.
  • ज़्यादा से ज़्यादा हीप साइज़ को कॉन्फ़िगर करने की सुविधा.
  • रेंडरिंग से जुड़ी गड़बड़ियां ठीक की गई हैं और टेस्ट की स्थिरता को बेहतर बनाया गया है.
  • रिपोर्टिंग को बेहतर बनाया गया है, ताकि नई और रेफ़रंस इमेज से जुड़े प्रतिशत के अंतर और अन्य मेटाडेटा को शामिल किया जा सके.

0.0.1-alpha11

इस रिलीज़ में ये सुविधाएं जोड़ी गई हैं:

  • Android Gradle प्लगिन (AGP) 8.13 के साथ काम करता है.
  • होस्ट मशीन की स्थान-भाषा के बावजूद, दशमलव वैल्यू वाले एक्सएमएल ड्रॉएबल को पार्स करने की सुविधा जोड़ी गई.
  • JDK 24 या इसके बाद के वर्शन का इस्तेमाल करने वाली होस्ट मशीन के लिए, JDK (11-23) का इस्तेमाल किया जाएगा. हालांकि, इसके लिए यह ज़रूरी है कि JDK (11-23) इंस्टॉल किया गया हो.

0.0.1-alpha10

इस रिलीज़ में ये सुविधाएं जोड़ी गई हैं:

  • इस वर्शन से, आपको अपने सभी प्रीव्यू फ़ंक्शन को @PreviewTest एनोटेशन के साथ मार्क करना होगा. एनोटेशन के बिना झलकें नहीं दिखाई जाएंगी.

  • रेफ़रंस इमेज डायरेक्ट्री को {module}/src/{variant}/screenshotTest/reference से बदलकर {module}/src/screenshotTest{Variant}/reference कर दिया गया है. ऐसा इसलिए किया जाता है, ताकि जनरेट की गई रेफ़रंस इमेज, प्रोडक्शन कोड का हिस्सा न बनें. साथ ही, यह भी पक्का किया जा सके कि वे अन्य टेस्ट टाइप के डायरेक्ट्री स्ट्रक्चर के साथ अलाइन हों.

  • {variant}PreviewScreenshotRender टास्क को हटा दिया गया है. इमेज रेंडरिंग को JUnit Test Engine में माइग्रेट किया गया है.

  • update{Variant}ScreenshotTest टास्क में, अपडेट करने से पहले रेंडर की गई नई इमेज की तुलना रेफ़रंस इमेज से की जाएगी. यह सिर्फ़ उन इमेज को अपडेट करेगा जिनमें तय सीमा से ज़्यादा अंतर है. --updateFilter कमांड-लाइन फ़्लैग को हटा दिया गया है.

0.0.1-alpha06

इस रिलीज़ में ये सुविधाएं जोड़ी गई हैं:

इमेज के अंतर का थ्रेशोल्ड: इस नई ग्लोबल थ्रेशोल्ड सेटिंग की मदद से, आपको स्क्रीनशॉट की तुलना करने की सुविधा पर बेहतर कंट्रोल मिलेगा. कॉन्फ़िगर करने के लिए, अपने मॉड्यूल की build.gradle.kts फ़ाइल को अपडेट करें:

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

यह थ्रेशोल्ड, मॉड्यूल में तय की गई सभी स्क्रीनशॉट जांचों पर लागू होगा.

  • गड़बड़ियां ठीक की गईं: Compose Renderer से जुड़ी कुछ गड़बड़ियां ठीक की गईं. साथ ही, खाली कंपोज़ के लिए सहायता जोड़ी गई.
  • परफ़ॉर्मेंस में सुधार: इमेज की तुलना करने वाले एल्गोरिदम को अपडेट किया गया है, ताकि वह तेज़ी से काम कर सके.