Note di rilascio dei test di anteprima di Crea anteprima

0.0.1-alpha15

Questa release include le seguenti correzioni di bug:

Problema Descrizione
Problema n. 500417360 È stato risolto un arresto anomalo dell'inizializzazione (NoClassDefFoundError) durante l'esecuzione delle anteprime con Kotlin 2.1+ a causa di una dipendenza kotlin-stdlib mancante nel caricatore di classi isolato del framework Layoutlib.
Problema n. 384188032 È stato corretto un arresto anomalo del rendering durante l'inflazione di un oggetto ViewHolder all'interno di una fabbrica di componenti componibili AndroidView.
Problema n. 351302272 Risolti gli errori di caricamento delle risorse drawable all'interno delle anteprime in cui le risorse risiedono in moduli di progetti secondari o dipendenti.
Problema n. 482664893 È stato garantito che le attività di convalida non vadano a buon fine in modo appropriato quando i test degli screenshot generano eccezioni, anziché riuscire in modo errato con uno screenshot obsoleto.
Problema n. 497675618 Strumentazione supportata delle classi componibili da parte degli agenti di copertura JVM (come JaCoCo).
Problema n. 498545960 Sono stati rimossi i nomi dei file interni (ad esempio, ImageVerifier.kt) dalle analisi dello stack degli errori della console JUnit per chiarire l'output di debug.
Problema n. 385613865 È stato rimosso l'utilizzo del percorso assoluto per le immagini nel file XML dei risultati del test, sostituendolo con percorsi relativi.
Problema n. 513276596 È stato garantito che gli errori di rendering non superino le attività di test degli screenshot in modo invisibile con uno screenshot vuoto.
Problema n. 340639802 Risolti i conflitti di risoluzione del metodo di anteprima in cui i test venivano abbinati in modo errato ai nomi di metodi completi corrispondenti nel set di origine principale.

0.0.1-alpha14

Questa release include le seguenti correzioni di bug e miglioramenti delle prestazioni:

Problema Descrizione
Problema n. 469819154 Sono state corrette le perdite di memoria nel renderer Compose.
Problema n. 470058578 Sono stati corretti i blocchi dell'interfaccia utente e gli errori di memoria durante l'aggiornamento delle immagini di riferimento.
Problema n. 422412664 Sono stati corretti gli errori "La riga di comando supera i limiti del sistema operativo" su Windows e GitHub Actions.
Problema n. 437223807 Sono stati risolti i problemi di risoluzione di risorse e asset nei progetti multimodulo.
Problema n. 464899800 È stato corretto un conflitto del plug-in Gradle causato da una collisione di nomi in version.properties.
Problema n. 482433854 Sono stati corretti gli errori di inizializzazione per i composable che utilizzano kotlin-reflect o la serializzazione.

0.0.1-alpha13

Questa release introduce:

  • Compatibilità con JDK 17 o versioni successive.
  • Correzioni di bug e migliore integrazione con Android Studio.

0.0.1-alpha12

Questa release introduce:

  • Compatibilità con il plug-in Android per Gradle (AGP) 9.0.
  • Supporto per l'esecuzione di test degli screenshot su JDK 24 e versioni successive.
  • Supporto per la configurazione della dimensione massima dell'heap.
  • Sono stati corretti gli errori di rendering ed è stata migliorata la stabilità dei test.
  • È stato migliorato il reporting per includere la differenza percentuale e altri metadati relativi alle immagini nuove e di riferimento.

0.0.1-alpha11

Questa release introduce:

  • Compatibilità con il plug-in Android per Gradle (AGP) 8.13.
  • È stato aggiunto il supporto per l'analisi delle risorse disegnabili XML con valori decimali indipendentemente dalle impostazioni internazionali della macchina host.
  • Per una macchina host che utilizza JDK 24 o versioni successive, verrà selezionata una JDK compatibile (11-23), se ne è installata una.

0.0.1-alpha10

Questa release introduce:

  • A partire da questa versione, devi contrassegnare tutte le funzioni di anteprima con l'annotazione @PreviewTest. Le anteprime senza l'annotazione non verranno eseguite.

  • La directory delle immagini di riferimento è stata modificata da {module}/src/{variant}/screenshotTest/reference a {module}/src/screenshotTest{Variant}/reference. In questo modo, le immagini di riferimento generate non faranno parte del codice di produzione e saranno allineate alla struttura delle directory di altri tipi di test.

  • L'attività {variant}PreviewScreenshotRender viene rimossa. Il rendering delle immagini viene migrato nel motore di test JUnit.

  • L'attività update{Variant}ScreenshotTest confronta le nuove immagini di rendering con le immagini di riferimento prima dell'aggiornamento. Aggiornerà solo le immagini che presentano differenze superiori a una soglia specificata. Il flag della riga di comando --updateFilter è stato rimosso.

0.0.1-alpha06

Questa release introduce:

Soglia di differenza immagine: questa nuova impostazione della soglia globale ti consentirà di avere un controllo più preciso sui confronti degli screenshot. Per configurare, aggiorna il file build.gradle.kts del modulo:

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

Questa soglia verrà applicata a tutti i test degli screenshot definiti nel modulo.

  • Correzioni di bug: alcuni bug del renderer di Compose e aggiunta del supporto per la composizione vuota.
  • Miglioramenti delle prestazioni: l'algoritmo di differenziazione delle immagini è stato aggiornato per essere più veloce.