Compilatore di Compose

Trasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Versione alpha
7 agosto 2024 1.5.15 - - -

Struttura

Compose è una combinazione di 7 ID gruppo Maven in androidx. Ogni gruppo contiene un sottoinsieme mirato di funzionalità, ciascuna con il proprio insieme di note di rilascio.

Questa tabella illustra i gruppi e i link a ogni set di note di rilascio.

GruppoDescrizione
compose.animationCreare animazioni nelle loro applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin.
compose.foundationScrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed espandi la base per creare i componenti del tuo sistema di progettazione.
compose.materialCrea interfacce utente Jetpack Compose con componenti Material Design pronti all'uso. Si tratta del punto di contatto di primo livello di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
compose.material3Crea interfacce utente Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You come i colori dinamici ed è progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12.
compose.runtimeComponenti di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime di base per il plug-in del compilatore Compose come target.
compose.uiComponenti fondamentali dell'interfaccia utente di composizione necessari per interagire con il dispositivo, inclusi layout, disegno e input.

Dichiarazione delle dipendenze

Per aggiungere una dipendenza da Compose, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli elementi necessari nel file build.gradle per la tua app o il tuo modulo:

Alla moda

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"
    }
}

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.

Versione 1.5

Versione 1.5.15

7 agosto 2024

androidx.compose.compiler:compiler:1.5.15 e androidx.compose.compiler:compiler-hosted:1.5.15 vengono rilasciati. La versione 1.5.15 contiene questi commit.

  • Questa release del compilatore ha come target Kotlin 1.9.25.

Versione 1.5.14

14 maggio 2024

androidx.compose.compiler:compiler:1.5.14 e androidx.compose.compiler:compiler-hosted:1.5.14 vengono rilasciati. La versione 1.5.14 contiene questi commit.

Questa release del compilatore ha come target Kotlin 1.9.24.

Correzioni di bug

  • Assicurati che il corpo in linea venga visualizzato quando le informazioni sull'origine sono disattivate. (Idddb8)

Versione 1.5.13

1° maggio 2024

androidx.compose.compiler:compiler:1.5.13 e androidx.compose.compiler:compiler-hosted:1.5.13 vengono rilasciati. La versione 1.5.13 contiene questi commit.

Nuove funzionalità

  • Il salto avanzato non è più considerato sperimentale ed è sicuro da utilizzare in produzione. Diventerà il comportamento predefinito in una release futura. (I6c8c4)

Correzioni di bug

  • Correzione della compatibilità binaria per le funzioni @Composable con parametri di classe di valore che hanno un valore predefinito e racchiudono un valore non primitivo. (I89465
  • Correzioni in upstream per la compilazione JS e nativa da Compose multipiattaforma. Per informazioni dettagliate, consulta l'intervallo di commit riportato sopra.

Versione 1.5.12

17 aprile 2024

androidx.compose.compiler:compiler:1.5.12 e androidx.compose.compiler:compiler-hosted:1.5.12 vengono rilasciati. La versione 1.5.12 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema relativo alla compilazione incrementale con Kotlin 1.9.23. (Ifca55)
  • Correggere i tipi non null nei parametri di valore per le classi in linea non primitive. (Ie6bb5)

Versione 1.5.11

20 marzo 2024

androidx.compose.compiler:compiler:1.5.11 e androidx.compose.compiler:compiler-hosted:1.5.11 vengono rilasciati. La versione 1.5.11 contiene questi commit.

Notes

  • A partire da questa versione, il compilatore chiamerà startReplaceGroup anziché startReplacableGroup quando un modulo viene compilato con un runtime che contiene questo metodo. startReplaceGroup è stato introdotto nel runtime in Compose Runtime 1.7.0-alpha03. Le chiamate a startRestartGroup vengono generate solo quando si sceglie come target le versioni 1.7.0-alpha03 o successive del runtime.

  • La chiamata a startReplaceGroup anziché a startReplaceableGroup consente al runtime di rilevare le modifiche in modo più efficiente, ma potrebbe influire sull'ordine in cui le modifiche vengono rilevate da Composer e inviate a Applier. Ciò potrebbe comportare lievi variazioni di comportamento se un Applier si basa sull'ordine in cui vengono rilevate queste operazioni.

Nuove funzionalità

  • Supporto per Kotlin 1.9.23

Correzioni di bug

  • Correggere i tipi generici esterni nidificati che vengono dedotti come instabili. (I3437f, b/327643787)
  • Supporta più file di configurazione della stabilità. (I8db14, b/325326744)
  • Il compilatore di Compose ora trasforma correttamente le funzioni sovrascritte esaminando in modo ricorsivo le classi di base/le sostituzioni. (I2c9f9, b/316196500)
  • Assicurati che la memorizzazione nella cache dei riferimenti di funzione non provi a acquisire gli elementi principali impliciti delle dichiarazioni locali quando non vengono utilizzati direttamente. (Ib1267)
  • Correzione della generazione di codice per lambda crossinline componibili (è difficile riscontrare questo bug senza l'ottimizzazione del gruppo che non salta attivata). (Icb2fd, b/325502738)

Versione 1.5.10

21 febbraio 2024

androidx.compose.compiler:compiler:1.5.10 e androidx.compose.compiler:compiler-hosted:1.5.10 vengono rilasciati. La versione 1.5.10 contiene questi commit.

Correzioni di bug

  • Supporta i literali live all'interno dei blocchi di inizializzazione. (b/320397488)
  • Utilizza il parametro dispatcher per verificare se la funzione si trova all'interno della classe locale (b/323123439)

Versione 1.5.9

7 febbraio 2024

androidx.compose.compiler:compiler:1.5.9 e androidx.compose.compiler:compiler-hosted:1.5.9 vengono rilasciati. La versione 1.5.9 contiene questi commit.

Correzioni di bug

  • Correggi le chiamate composable nell'inizializzatore di oggetti anonimi. (b/320261458, 96315c)
  • Conta le dichiarazioni locali ricorsive come acquisizioni. (b/318745941, e7b4b0)
  • Correggi il comportamento delle modifiche della memorizzazione interna relative ai riferimenti ai metodi Java forzando .changed per i tipi di funzione con memorizzazione interna. (b/319810819, 77128e)
  • È stata aggiunta un'ottimizzazione sperimentale che rimuove i gruppi attorno alle funzioni non ignorabili, ad esempio quelle contrassegnate esplicitamente come @NonSkippableComposable, e alle funzioni non ignorabili implicitamente, ad esempio le funzioni in linea e quelle che restituiscono un valore diverso da Unit, ad esempio remember.
  • Questa ottimizzazione può essere attivata passando l'opzione del plug-in, -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true al compilatore Kotlin. (I1688f)

Versione 1.5.8

10 gennaio 2024

androidx.compose.compiler:compiler:1.5.8 e androidx.compose.compiler:compiler-hosted:1.5.8 vengono rilasciati. La versione 1.5.8 contiene questi commit.

Nuove funzionalità

  • Supporto per Kotlin 1.9.22

Correzioni di bug

  • È stato corretto un bug per cui la compilazione del compilatore Compose generava eccezioni quando veniva eseguita utilizzando Java21. Gli utenti che utilizzano Compose Compiler da Google Maven (ovvero non lo compilano autonomamente) non sono mai stati interessati da questo bug. (b/316644294)
  • È stato corretto un bug per cui veniva segnalato un errore COMPOSABLE_EXPECTED per alcuni chiamanti di lambda non in linea. (b/309364913)
  • Aggiunta di un errore di compilazione per i parametri predefiniti nelle funzioni aperte (in precedenza era limitato solo alle funzioni astratte). Al momento Compose non supporta la sostituzione dei parametri predefiniti delle funzioni sostituite e la sostituzione di una funzione componibile con parametri predefiniti non andava a buon fine in fase di runtime. Utilizza @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") per eliminare, ma tieni presente che l'override di questa funzione senza fornire un valore predefinito per il parametro comporterà un arresto anomalo in fase di esecuzione.(b/317490247)
  • È stato corretto un bug nella funzionalità di memorizzazione nella cache intrinseca che impediva la propagazione corretta dei valori. (b/316327367)

Contributo esterno

  • Correggere l'errore di battitura nella documentazione. (aosp/288106)

Versione 1.5.7

19 dicembre 2023

androidx.compose.compiler:compiler:1.5.7 e androidx.compose.compiler:compiler-hosted:1.5.7 vengono rilasciati. La versione 1.5.7 contiene questi commit.

Correzioni di bug

  • Correzione dell'arresto anomalo del runtime di Compose quando il parametro chiave remember() richiama una funzione componibile (b/315855015)
  • Correzione dell'arresto anomalo del runtime di Compose quando viene utilizzato return@. (b/315821171)
  • Evita di utilizzare percorsi assoluti nelle chiavi di memorizzazione nella cache, in modo da migliorare l'utilizzo della cache di compilazione. (b/313937484)

Versione 1.5.6

6 dicembre 2023

androidx.compose.compiler:compiler:1.5.6 e androidx.compose.compiler:compiler-hosted:1.5.6 vengono rilasciati. La versione 1.5.6 contiene questi commit.

Nuove funzionalità

  • Supporto per Kotlin 1.9.21

Correzioni di bug

  • Attiva la funzionalità di memorizzazione interna di Remember: la trasformazione del compilatore che inserisce in linea Remember nel plug-in del compilatore di Compose e sostituisce i confronti .equals con confronti int del meta parametro per i parametri stabili. Di conseguenza, vengono utilizzati meno slot e vengono eseguiti meno confronti in fase di esecuzione. L'opzione può essere disattivata specificando l'argomento del plug-in del compilatore: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • Correzione della memorizzazione nella cache dei riferimenti alle funzioni adattate e degli argomenti in linea. (b/312738720)
  • Realizzare gruppi quando si esce dalla chiamata di funzione in linea (b/312242547)

Contributo esterno

  • Correzione dell'arresto anomalo del runtime k/native e k/wasm dovuto all'assenza dell'istruzione return nelle funzioni Composable quando è l'ultima istruzione e restituisce una costante null (aosp/2835716)

Versione 1.5.5

29 novembre 2023

androidx.compose.compiler:compiler:1.5.5 e androidx.compose.compiler:compiler-hosted:1.5.5 vengono rilasciati. La versione 1.5.5 contiene questi commit.

Correzioni di bug

  • Corregge un arresto anomalo durante la ricerca dei tipi composable sostituiti (Ib6d2c, b/297665426)
    • Aggiungi stabilityConfigurationPath ai parametri noti (in precedenza un bug impediva l'utilizzo del flag del file di configurazione). (b/309765121)
    • Correzioni della memorizzazione nella cache (I081d1, I4d7bf)
    • Correzione della ricompozione tenendo conto dello stato del parametro Incerto nella funzionalità di memorizzazione intrinseca (b/263402091)
    • Correggere le informazioni sulla riga di debug per la funzionalità Ricorda (Ic8cf5)
    • Correzione dell'arresto anomalo (abbassamento dell'IR non riuscito) durante la ricerca dei tipi composable sostituiti in fase di compilazione (b/297665426)

Contributo esterno

Versione 1.5.4

7 novembre 2023

androidx.compose.compiler:compiler:1.5.4 e androidx.compose.compiler:compiler-hosted:1.5.4 vengono rilasciati. La versione 1.5.4 contiene questi commit.

Aggiornamenti delle dipendenze

  • Il compilatore Compose è ora compatibile con Kotlin 1.9.20

Nuove funzionalità

  • Aggiunta un'opzione sperimentale per attivare la modalità di avanzamento veloce. La modalità di salto forzato consente di saltare i composabili con parametri instabili. Inoltre, le funzioni lambda con acquisizioni instabili vengono memorizzate nella cache. Questa funzionalità è sperimentale e non è considerata pronta per l'utilizzo in produzione. (22421e)
  • Aggiungi un flag per attivare/disattivare le informazioni su origine/traccia. (4d45f09)
  • Consente di configurare la stabilità dei moduli esterni tramite un file di configurazione. (If40eb)

Correzioni di bug

  • Correggere l'uscita anticipata dalle funzioni componibili quando le informazioni sulle origini non vengono raccolte. (fe6267)
  • Correggere il passaggio da funzioni componibili. (948362)
  • Correggere la risoluzione quando le funzioni componibili vengono richiamate da un'invocazione di funzione con più sovraccarichi che dipendono dal tipo di ritorno dell'espressione. (2d36d0)
  • Correzione della memorizzazione nella cache quando il riferimento della funzione non ha un gestore di inoltro. (fc2326)
  • Correzione del controllo degli elementi sporchi che impediva la ricostituzione delle lambda in alcune situazioni. (db3699)
  • Correggere la stabilità durante la compilazione incrementale tra i moduli. (7d3e127)
  • Riduci l'ambito di @DontMemoize solo alle espressioni lambda. (7a7fa52)
  • Correzione delle variabili non acquisite correttamente quando si utilizza un'interfaccia Fun Composable come lambda. (5ae3556)

Contributo esterno

  • Utilizza il simbolo di uguaglianza strutturale per il confronto tra valori numerici e null (c612a0)

Versione 1.5.3

29 agosto 2023

androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3 e androidx.compose.compiler:compiler-hosted:1.5.3 vengono rilasciati. La versione 1.5.3 contiene questi commit.

Aggiornamento delle dipendenze

  • La versione di Kotlin è aggiornata alla 1.9.10

Versione 1.5.2

23 agosto 2023

androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2 e androidx.compose.compiler:compiler-hosted:1.5.2 vengono rilasciati. La versione 1.5.2 contiene questi commit.

Correzioni di bug

  • Inserisci i numeri di riga per le istruzioni return nelle funzioni componibili con restituzione costante. (I42d89)
  • È stato corretto un problema di perdita di memoria causato dal passaggio al nuovo punto di contatto del plug-in del compilatore. (4f0a101)
  • Interrompere la trasformazione delle interfacce di divertimento non componibili nel compilatore Compose. Di conseguenza, le interfacce fun vengono gestite come le lambda, incluse le regole di memorizzazione nella cache. (28b3ce9)
  • Utilizza il tipo di argomento vararg per dedurre la stabilità nel sito di chiamata. (bc83645)

Versione 1.5.1

26 luglio 2023

androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1 e androidx.compose.compiler:compiler-hosted:1.5.1 vengono rilasciati. La versione 1.5.1 contiene questi commit.

Correzioni di bug

  • Sono stati corretti gli indicatori di evento della traccia della composizione nelle funzioni @ReadOnlyComposable con ritorni anticipati che causavano la corruzione della traccia.

Versione 1.5.0

18 luglio 2023

androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0 e androidx.compose.compiler:compiler-hosted:1.5.0 vengono rilasciati. La versione 1.5.0 contiene questi commit.

Supporto sperimentale di K2

  • Il compilatore Compose 1.5.0 fornisce il supporto sperimentale per il compilatore K2. Alcune funzionalità di Compose non sono ancora supportate con K2 e saranno disponibili nelle versioni future del compilatore.

Modifiche importanti dalla versione 1.4.0

  • La versione di Kotlin è aggiornata alla 1.9.0.
  • Gli argomenti con nome per le chiamate lambda di @Composable sono stati ritirati. Questa funzionalità si basa sulle API del compilatore interno e non sarà supportata da K2.
  • È stata aggiunta una diagnostica per verificare l'annotazione @Composable sulle chiamate previste/effettive. Entrambe le dichiarazioni devono avere annotazioni corrispondenti.

Versione 1.4.8

Versione 1.4.8

28 giugno 2023

androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8 e androidx.compose.compiler:compiler-hosted:1.4.8 vengono rilasciati. La versione 1.4.8 contiene questi commit.

Nuove funzionalità

  • La versione del compilatore Kotlin di destinazione viene aggiornata alla 1.8.22.

Correzioni di bug

  • Messaggio di errore migliorato per le sostituzioni @Composable. Ora indica correttamente la mancata corrispondenza delle annotazioni.
  • Avvisa in caso di annotazione @Composable ridondante sulle funzioni lambda in linea che non devono essere contrassegnate come componibili. Questa funzionalità non sarà supportata dal compilatore K2.

Versione 1.4.7

Versione 1.4.7

3 maggio 2023

androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7 e androidx.compose.compiler:compiler-hosted:1.4.7 vengono rilasciati. La versione 1.4.7 contiene questi commit.

Nuove funzionalità

  • Supporto per Kotlin 1.8.21
  • Sono state aggiunte versioni primitive dell'API State, che consentono di monitorare i valori Int, Long, Float e Double negli oggetti State senza incorrere in penalità per l'autoboxing.

Versione 1.4.6

Versione 1.4.6

19 aprile 2023

androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6 e androidx.compose.compiler:compiler-hosted:1.4.6 vengono rilasciati. La versione 1.4.6 contiene questi commit.

Correzioni di bug

  • Compose Compiler ora dipende da Java11 (anziché da Java17 richiesto dalla versione 1.4.5 di Compose Compiler) per supportare meglio gli utenti che utilizzano ancora versioni precedenti di Java.

Versione 1.4.5

Versione 1.4.5

12 aprile 2023

androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5 e androidx.compose.compiler:compiler-hosted:1.4.5 vengono rilasciati. La versione 1.4.5 contiene questi commit.

NOTA Questa build di Compose Compiler richiede che l'ambiente di compilazione utilizzi Java 17 o versioni successive. In base al feedback degli utenti, revocheremo questo requisito e torneremo a Java 11, rilasciando un'altra versione (1.4.6) per supportare meglio gli utenti che utilizzano versioni Java precedenti.

Nuove funzionalità

Supporto per Kotlin 1.8.20

Correzioni di bug

  • Propaga il requisito dell'override dell'operatore di chiamata composable alle classi e alle interfacce che estendono le interfacce lambda con le annotazioni corrispondenti.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Consente l'utilizzo dell'annotazione @Composable sull'operatore getValue e contrassegna il getter generato per il delegato come composable in IR per assicurarsi che venga trasformato correttamente in un secondo momento. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Correzione dell'errore di runtime interno di composizione (si prevedeva che fosse stata chiamata applyChanges()) per le funzioni in linea.b/274786923
  • Evita di acquisire ProcessCancelledException perché ha un significato speciale nell'IDE.b/274725600

Contributo esterno

Versione 1.4.4

Versione 1.4.4

22 marzo 2023

androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4 e androidx.compose.compiler:compiler-hosted:1.4.4 vengono rilasciati. La versione 1.4.4 contiene questi commit.

Correzioni di bug

  • Correggere i ritorni lambda in linea composable (72172b)
  • Consenti ai composabili di restituire Nothing (non generare un errore quando utilizzi TODO in una funzione componibile) 3aea8d)

Versione 1.4.3

Versione 1.4.3

22 febbraio 2023

androidx.compose.compiler:compiler:1.4.3 viene rilasciato. La versione 1.4.3 contiene questi commit.

Correzioni di bug

  • Corregge le chiamate composable condizionali negli argomenti delle chiamate composable (Ie93edb)

Versione 1.4.2

Versione 1.4.2

8 febbraio 2023

androidx.compose.compiler:compiler:1.4.2 viene rilasciato. La versione 1.4.2 contiene questi commit.

Nuove funzionalità

  • Supporto per Kotlin 1.8.10

Correzioni di bug

  • Aggiungi gruppi nel corpo delle lambda non ignorabili per evitare bug di ricostituzione.

Versione 1.4.1

Versione 1.4.1

8 febbraio 2023

androidx.compose.compiler:compiler:1.4.1 viene rilasciato. La versione 1.4.1 contiene questi commit.

Correzioni di bug

  • Disattivare l'ottimizzazione della funzionalità Ricorda interna che in precedenza aveva introdotto alcuni bug di generazione del codice.
  • Disattiva la memorizzazione intrinseca nelle funzioni contenenti un parametro varargs.
  • Correggere il salto errato nei composabili con parametri predefiniti
  • Aggiungi un messaggio di errore di riserva se la verifica della compatibilità con Kotlin non va a buon fine.
  • Rimuovi la generazione di codice che salta dalla lambda in linea

Versione 1.4.0

17 gennaio 2023

androidx.compose.compiler:compiler:1.4.0 viene rilasciato. La versione 1.4.0 contiene questi commit.

Modifiche importanti dalla versione 1.3.0

  • Supporto per Kotlin 1.8.0
  • Ricordo intrinseco disattivato
  • La classe di dati degli strumenti di UI Group ora ha un campo, isInline, che indica se il gruppo è destinato a una chiamata a una funzione componibile in linea. Se isInline è true, la chiamata è a una funzione componibile in linea. Tuttavia, il valore potrebbe essere falso per le chiamate a funzioni composable in linea provenienti da moduli compilati con una versione del plug-in del compilatore di compose che non genera le informazioni sulle funzioni in linea.
  • ImmutableCollection e i relativi elementi persistenti sono ora considerati stabili.
  • Nuovo parametro in AnimatedContent per l'etichetta degli strumenti
  • È stata corretta la generazione di codice errato per le espressioni lambda in linea

Versione 1.4.0-alpha02

11 novembre 2022

androidx.compose.compiler:compiler:1.4.0-alpha02 viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per Kotlin 1.7.21

Versione 1.4.0-alpha01

9 novembre 2022

androidx.compose.compiler:compiler:1.4.0-alpha01 viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.

Correzioni di bug

  • Correzione della possibilità di tornare in anticipo dalle funzioni composable in linea (b/255350755)
  • È stato corretto un bug nell'abbassamento di decoy che ha interrotto il supporto di Kotlin/JS in Compose (6a40f8).

Versione 1.3

Versione 1.3.2

4 ottobre 2022

androidx.compose.compiler:compiler:1.3.2 viene rilasciato. La versione 1.3.2 contiene questi commit.

Nuova funzionalità

  • Questa versione include un aggiornamento a Kotlin 1.7.20

Versione 1.3.1

7 settembre 2022

androidx.compose.compiler:compiler:1.3.1 viene rilasciato. La versione 1.3.1 contiene questi commit.

Correzioni di bug

  • Correzione IllegalStateException per cui il compilatore Compose contrassegnava erroneamente i tipi di unità come componibili in alcune circostanze. (b/237863365)
  • Ora gli utenti devono specificare la versione di Kotlin che preferiscono quando disattivano il controllo della versione del compilatore (I9e5e2)

Versione 1.3.0

10 agosto 2022

androidx.compose.compiler:compiler:1.3.0 viene rilasciato. La versione 1.3.0 contiene questi commit.

Versione 1.3.0-rc02

3 agosto 2022

androidx.compose.compiler:compiler:1.3.0-rc02 viene rilasciato. La versione 1.3.0-rc02 contiene questi commit.

Versione 1.3.0-rc01

27 luglio 2022

androidx.compose.compiler:compiler:1.3.0-rc01 viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.

Versione 1.3.0-beta01

20 luglio 2022

androidx.compose.compiler:compiler:1.3.0-beta01 viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per Kotlin 1.7.10

Versione 1.2

Versione 1.2.0

29 giugno 2022

androidx.compose.compiler:compiler:1.2.0 viene rilasciato. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

Versione 1.2.0-rc02

22 giugno 2022

androidx.compose.compiler:compiler:1.2.0-rc02 viene rilasciato. La versione 1.2.0-rc02 contiene questi commit.

Correzioni di bug

  • È stata rimossa la generazione di codice componibile per gli eventi traccia (aosp/2127922)

Versione 1.2.0-rc01

15 giugno 2022

androidx.compose.compiler:compiler:1.2.0-rc01 viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.

Versione 1.2.0-beta03

1° giugno 2022

androidx.compose.compiler:compiler:1.2.0-beta03 viene rilasciato. La versione 1.2.0-beta03 contiene questi commit.

Versione 1.2.0-beta02

18 maggio 2022

androidx.compose.compiler:compiler:1.2.0-beta02 viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.

Versione 1.2.0-beta01

11 maggio 2022

androidx.compose.compiler:compiler:1.2.0-beta01 viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.

  • Questa è la prima release beta di 1.2. Non sono presenti modifiche dall'ultima versione alpha.

Nuove funzionalità

  • È stato aggiunto il supporto per Kotlin 1.6.21

Versione 1.2.0-alpha08

20 aprile 2022

androidx.compose.compiler:compiler:1.2.0-alpha08 viene rilasciato. La versione 1.2.0-alpha08 contiene questi commit.

Versione 1.2.0-alpha07

6 aprile 2022

androidx.compose.compiler:compiler:1.2.0-alpha07 viene rilasciato. La versione 1.2.0-alpha07 contiene questi commit.

Versione 1.2.0-alpha06

23 marzo 2022

androidx.compose.compiler:compiler:1.2.0-alpha06 viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.

Versione 1.2.0-alpha05

9 marzo 2022

androidx.compose.compiler:compiler:1.2.0-alpha05 viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.

Versione 1.2.0-alpha04

23 febbraio 2022

androidx.compose.compiler:compiler:1.2.0-alpha04 viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.

Versione 1.2.0-alpha03

9 febbraio 2022

androidx.compose.compiler:compiler:1.2.0-alpha03 viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.

Versione 1.2.0-alpha02

26 gennaio 2022

androidx.compose.compiler:compiler:1.2.0-alpha02 viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.

Versione 1.2.0-alpha01

12 gennaio 2022

androidx.compose.compiler:compiler:1.2.0-alpha01 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per Kotlin 1.6.10.

Versione 1.1

Versione 1.1.1

23 febbraio 2022

androidx.compose.compiler:compiler:1.1.1 viene rilasciato. La versione 1.1.1 contiene questi commit.

Correzioni di bug

  • Correggi NullPointerException il giorno androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • È stato risolto l'arresto anomalo causato dai contenuti degli appunti durante la lettura dagli appunti su Android. (I06020, b/197769306)
  • È stato corretto il problema relativo alla formattazione RTL in LazyVerticalGrid (aosp/1931080, b/207510535)

Versione 1.1.0

9 febbraio 2022

androidx.compose.compiler:compiler:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Supporto stabile per l'effetto overscroll di Android 12
  • Miglioramenti alle dimensioni dei target di tocco
  • Tieni presente che, rispetto a Compose 1.0, i componenti Material espanderanno lo spazio del layout per soddisfare le linee guida sull'accessibilità di Material per le dimensioni del touch target. Ad esempio, il touch target del pulsante si espanderà fino a una dimensione minima di 48x48dp, anche se imposti una dimensione inferiore per il pulsante. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti di Material Design, garantendo un comportamento coerente se combini le viste e Compose. Questa modifica garantisce inoltre che, quando crei l'interfaccia utente utilizzando i componenti Material di Compose, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.
  • Supporto stabile per la barra di navigazione laterale
  • Passa a una versione stabile un certo numero di API precedentemente sperimentali
  • Supporto per le versioni più recenti di Kotlin

Versione 1.1.0-rc03

26 gennaio 2022

androidx.compose.compiler:compiler:1.1.0-rc03 viene rilasciato. La versione 1.1.0-rc03 contiene questi commit.

Correzioni di bug

  • Aggiornamento per il supporto di Compose Material 1.1.0-rc03

Versione 1.1.0-rc02

16 dicembre 2021

androidx.compose.compiler:compiler:1.1.0-rc02 viene rilasciato. La versione 1.1.0-rc02 contiene questi commit.

Aggiornamenti delle dipendenze

  • Compose Compiler 1.1.0-rc02 è compatibile con Kotlin 1.6.10.

Versione 1.1.0-rc01

15 dicembre 2021

androidx.compose.compiler:compiler:1.1.0-rc01 viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.

Modifiche alle dipendenze

  • Compose Compiler 1.1.0-rc01 è compatibile con Kotlin 1.6.0.
  • Una build 1.6.10 compatibile è disponibile tramite gli snapshot di androidx.dev con buildId 8003490. Il seguente snippet di dipendenza configurerà gli snapshot per il compilatore Compose:

    Aggiungi il seguente snippet al file build.gradle principale del progetto:

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

    Aggiungi il seguente snippet al file build.gradle per la tua app o il tuo modulo che utilizza Compose:

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Versione 1.1.0-beta04

1° dicembre 2021

androidx.compose.compiler:compiler:1.1.0-beta04 viene rilasciato. La versione 1.1.0-beta04 contiene questi commit.

Nuove funzionalità

  • Aggiornata per essere compatibile con Kotlin 1.6.0

Versione 1.1.0-beta03

17 novembre 2021

androidx.compose.compiler:compiler:1.1.0-beta03 viene rilasciato. La versione 1.1.0-beta03 contiene questi commit.

Versione 1.1.0-beta02

3 novembre 2021

androidx.compose.compiler:compiler:1.1.0-beta02 viene rilasciato. La versione 1.1.0-beta02 contiene questi commit.

Versione 1.1.0-beta01

27 ottobre 2021

androidx.compose.compiler:compiler:1.1.0-beta01 viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.

Versione 1.1.0-alpha06

13 ottobre 2021

androidx.compose.compiler:compiler:1.1.0-alpha06 viene rilasciato. La versione 1.1.0-alpha06 contiene questi commit.

Versione 1.1.0-alpha05

29 settembre 2021

androidx.compose.compiler:compiler:1.1.0-alpha05 viene rilasciato. La versione 1.1.0-alpha05 contiene questi commit.

Versione 1.1.0-alpha04

15 settembre 2021

androidx.compose.compiler:compiler:1.1.0-alpha04 viene rilasciato. La versione 1.1.0-alpha04 contiene questi commit.

Versione 1.1.0-alpha03

1° settembre 2021

androidx.compose.compiler:compiler:1.1.0-alpha03 viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Il compilatore di Compose ora supporta le versioni precedenti del runtime di Compose (1.0). Prima di questa modifica, il compilatore Compose era compatibile solo con il runtime Compose della stessa versione o successiva. Dopo questa modifica, il compilatore Compose è compatibile con una versione precedente del runtime Compose (1.0). (aosp/1796968)
  • Compose 1.1.0-alpha03 è stato aggiornato in modo da dipendere da Kotlin 1.5.30. (I74545)

Versione 1.1.0-alpha02

18 agosto 2021

androidx.compose.compiler:compiler:1.1.0-alpha02 viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.

Versione 1.1.0-alpha01

4 agosto 2021

androidx.compose.compiler:compiler:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Versione 1.0

Versione 1.0.5

3 novembre 2021

androidx.compose.compiler:compiler:1.0.5 viene rilasciato. La versione 1.0.5 contiene questi commit.

Correzioni di bug

  • È stato corretto un arresto anomalo durante il monitoraggio delle istanze derivedStateOf. (aosp/1792247)

Versione 1.0.4

13 ottobre 2021

androidx.compose.compiler:compiler:1.0.4 viene rilasciato. La versione 1.0.4 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornata per dipendere da Kotlin 1.5.31

Versione 1.0.3

29 settembre 2021

androidx.compose.compiler:compiler:1.0.3 viene rilasciato. La versione 1.0.3 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornata per dipendere da Kotlin 1.5.30

Versione 1.0.2

1° settembre 2021

androidx.compose.compiler:compiler:1.0.2 viene rilasciato. La versione 1.0.2 contiene questi commit.

Aggiornamento per supportare la release di Compose 1.0.2. Compose 1.0.2 è ancora compatibile con Kotlin 1.5.21.

Versione 1.0.1

4 agosto 2021

androidx.compose.compiler:compiler:1.0.1 viene rilasciato. La versione 1.0.1 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornata per dipendere da Kotlin 1.5.21.

Versione 1.0.0

28 luglio 2021

androidx.compose.compiler:compiler:1.0.0 viene rilasciato. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

Questa è la prima release stabile di Compose. Per ulteriori dettagli, consulta il blog ufficiale relativo al rilascio di Compose.

Versione 1.0.0-rc02

14 luglio 2021

androidx.compose.compiler:compiler:1.0.0-rc02 viene rilasciato. La versione 1.0.0-rc02 contiene questi commit.

Versione 1.0.0-rc01

1° luglio 2021

androidx.compose.compiler:compiler:1.0.0-rc01 viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.

Versione 1.0.0-beta09

16 giugno 2021

androidx.compose.compiler:compiler:1.0.0-beta09 viene rilasciato. La versione 1.0.0-beta09 contiene questi commit.

Versione 1.0.0-beta08

2 giugno 2021

androidx.compose.compiler:compiler:1.0.0-beta08 viene rilasciato. La versione 1.0.0-beta08 contiene questi commit.

Versione 1.0.0-beta07

18 maggio 2021

androidx.compose.compiler:compiler:1.0.0-beta07 viene rilasciato. La versione 1.0.0-beta07 contiene questi commit.

Versione 1.0.0-beta06

5 maggio 2021

androidx.compose.compiler:compiler:1.0.0-beta06 viene rilasciato. La versione 1.0.0-beta06 contiene questi commit.

Versione 1.0.0-beta05

21 aprile 2021

androidx.compose.compiler:compiler:1.0.0-beta05 viene rilasciato. La versione 1.0.0-beta05 contiene questi commit.

Versione 1.0.0-beta04

7 aprile 2021

androidx.compose.compiler:compiler:1.0.0-beta04 viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.

Versione 1.0.0-beta03

24 marzo 2021

androidx.compose.compiler:compiler:1.0.0-beta03 viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.

Versione 1.0.0-beta02

10 marzo 2021

androidx.compose.compiler:compiler:1.0.0-beta02 viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Versione 1.0.0-beta01

24 febbraio 2021

androidx.compose.compiler:compiler:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Questa è la prima release di Compose 1.0.0 Beta.

Versione 1.0.0-alpha12

10 febbraio 2021

androidx.compose.compiler:compiler:1.0.0-alpha12 viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.

Versione 1.0.0-alpha11

28 gennaio 2021

androidx.compose.compiler:compiler:1.0.0-alpha11 viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.

Versione 1.0.0-alpha10

13 gennaio 2021

androidx.compose.compiler:compiler:1.0.0-alpha10 viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.

Versione 1.0.0-alpha09

16 dicembre 2020

androidx.compose.compiler:compiler:1.0.0-alpha09 viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.

Versione 1.0.0-alpha08

2 dicembre 2020

androidx.compose.compiler:compiler:1.0.0-alpha08 viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.

Versione 1.0.0-alpha07

11 novembre 2020

androidx.compose.compiler:compiler:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Inferenza e propagazione della stabilità. Il plug-in del compilatore di Compose analizza i tipi che compila per dedurre se sono idonei o meno per determinate ottimizzazioni dal runtime. Questo risultato dedotto viene poi sintetizzato come metadati nella classe per essere utilizzato dal compilatore in altri moduli. Inoltre, il risultato di runtime di queste deduzioni viene trasmesso nei metadati passati alle chiamate composable durante la composizione. Ciò ha richiesto un protocollo di metadati diverso per le funzioni componibili, il che significa che le funzioni componibili compilate con il compilatore alpha07 non saranno compatibili in termini di codice binario con le funzioni componibili compilate con una versione precedente del compilatore. (aosp/1431988)

Versione 1.0.0-alpha06

28 ottobre 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Versione 1.0.0-alpha05

14 ottobre 2020

androidx.compose.compiler:compiler:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Versione 1.0.0-alpha04

1° ottobre 2020

androidx.compose.compiler:compiler:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

androidx.compose:compose-compiler è stato sottoposto a refactoring in androidx.compose.compiler:compiler. Questa è la prima release del nuovo gruppo.