Compilatore Compose

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

Struttura

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

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

GruppoDescrizione
compose.animationCrea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e attiva le ottimizzazioni con un plug-in del compilatore Kotlin.
compose.foundationSviluppa applicazioni Jetpack Compose con i componenti di base pronti all'uso e usali per personalizzare il design degli elementi della tua app.
compose.materialCrea UI Jetpack Compose con i componenti Material Design pronti all'uso. Compose offre un modo più semplice e rapido per iniziare ed è progettato per fornire componenti in linea con quanto descritto all'indirizzo www.material.io.
compose.material3Crea UI Jetpack Compose con i componenti Material Design 3, la nuova evoluzione di Material Design. Material 3 include componenti e temi aggiornati e funzionalità di personalizzazione Material You come il colore dinamico. È progettato per essere coerente con il nuovo stile visivo e l'UI di sistema di Android 12.
compose.runtimeElementi di base del modello di programmazione e della gestione dello stato di Compose e runtime principale utilizzato dal plug-in del compilatore Compose.
compose.uiComponenti fondamentali della UI di Compose necessari per interagire con il dispositivo, inclusi layout, disegno e input.

Dichiara le dipendenze

Per aggiungere una dipendenza da Compose, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti 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 saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, 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.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

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 sono stati rilasciati. La versione 1.5.15 contiene questi commit.

  • Questa release del compilatore è destinata a 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 sono stati rilasciati. La versione 1.5.14 contiene questi commit.

Questa release del compilatore è destinata a Kotlin 1.9.24.

Correzioni di bug

  • Assicurati che il corpo incorporato venga realizzato 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 sono stati rilasciati. La versione 1.5.13 contiene questi commit.

Nuove funzionalità

  • La modalità Strong skipping non è più considerata sperimentale ed è sicura per l'uso in produzione. Diventerà il comportamento predefinito in una release futura. (I6c8c4)

Correzioni di bug

  • È stata corretta la compatibilità binaria per le funzioni @Composable con parametri della classe di valori che hanno un valore predefinito e che racchiudono un valore non primitivo. (I89465
  • Correzioni upstream per la compilazione JS e nativa da Compose Multiplatform. Per informazioni dettagliate, vedi l'intervallo di commit di cui sopra.

Versione 1.5.12

17 aprile 2024

androidx.compose.compiler:compiler:1.5.12 e androidx.compose.compiler:compiler-hosted:1.5.12 sono stati 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)
  • Sono stati corretti i tipi che non supportano valori null nei parametri di valore per le classi inline 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 sono stati rilasciati. La versione 1.5.11 contiene questi commit.

Note

  • 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 il targeting è impostato su 1.7.0-alpha03 o versioni 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 modifiche nel 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

  • Sono stati corretti i tipi generici esterni nidificati che vengono dedotti come instabili. (I3437f, b/327643787)
  • Sono supportati più file di configurazione della stabilità. (I8db14, b/325326744)
  • Il compilatore Compose ora trasforma correttamente le funzioni sottoposte a override attraversando in modo ricorsivo le classi base/gli override. (I2c9f9, b/316196500)
  • Assicurati che la memorizzazione delle funzioni non tenti di acquisire gli elementi principali impliciti delle dichiarazioni locali quando non vengono utilizzati direttamente. (Ib1267)
  • È stata corretta la generazione di codice per la funzione lambda crossinline componibile (è difficile riscontrare questo bug senza l'ottimizzazione "nonSkippingGroupOptimization" 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 sono stati rilasciati. La versione 1.5.10 contiene questi commit.

Correzioni di bug

  • Supporta Live Literals all'interno dei blocchi init. (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 sono stati rilasciati. La versione 1.5.9 contiene questi commit.

Correzioni di bug

  • Sono state corrette le chiamate componibili nell'inizializzatore di oggetti anonimi. (b/320261458, 96315c)
  • Le dichiarazioni locali ricorsive vengono considerate come acquisizioni. (b/318745941, e7b4b0)
  • È stato corretto il comportamento di memorizzazione delle modifiche intrinseche relative ai riferimenti ai metodi Java forzando .changed per i tipi di funzione con memorizzazione intrinseca. (b/319810819, 77128e)
  • È stata aggiunta un'ottimizzazione sperimentale che rimuove i gruppi intorno alle funzioni non ignorabili, ad esempio quelle contrassegnate esplicitamente come @NonSkippableComposable e quelle implicitamente non ignorabili, come le funzioni incorporate e quelle che restituiscono un valore non unitario come 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 sono stati 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 build del compilatore Compose generava eccezioni quando veniva creata utilizzando Java21. Gli utenti che utilizzano il compilatore Compose da Google Maven (ovvero che non lo compilano autonomamente) non sono mai stati interessati da questo bug. (b/316644294)
  • È stato corretto il bug per cui veniva segnalato l'errore COMPOSABLE_EXPECTED per alcuni chiamanti di funzioni lambda non incorporate. (b/309364913)
  • È stato aggiunto 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 dalle funzioni sottoposte a override e l'override di una funzione componibile con parametri predefiniti non è riuscito in fase di runtime. Utilizza @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") per la soppressione, ma tieni presente che l'override di questa funzione senza fornire un valore predefinito per il parametro comporterà un arresto anomalo in fase di runtime. (b/317490247)
  • È stato corretto un bug nella memorizzazione intrinseca che impediva la propagazione corretta dei valori. (b/316327367)

Contributo esterno

  • È stato corretto un 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 sono stati rilasciati. La versione 1.5.7 contiene questi commit.

Correzioni di bug

  • È stato corretto l'arresto anomalo di runtime di Compose quando il parametro della chiave remember() richiama una funzione componibile. (b/315855015)
  • È stato corretto l'arresto anomalo di runtime di Compose quando viene utilizzato return@. (b/315821171)
  • Non vengono utilizzati percorsi assoluti nelle chiavi di memorizzazione, in modo da usare meglio la cache delle build. (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 sono stati rilasciati. La versione 1.5.6 contiene questi commit.

Nuove funzionalità

  • Supporto per Kotlin 1.9.21

Correzioni di bug

  • È stata attivata l'opzione di memorizzazione intrinseca: viene incorporata la memorizzazione nel plug-in del compilatore Compose e vengono sostituiti i confronti .equals con i confronti int dei metadati dei parametri per i parametri stabili. In questo modo vengono utilizzati meno slot e vengono eseguiti meno confronti in fase di runtime. L'opzione può essere disattivata fornendo l'argomento del plug-in del compilatore: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • È stata corretta la memoizzazione dei riferimenti alle funzioni adattate e degli argomenti in linea. (b/312738720)
  • Vengono realizzati gruppi quando si esce dalla chiamata di funzione incorporata. (b/312242547)

Contributo esterno

  • È stato corretto l'arresto anomalo di runtime k/native e k/wasm dovuto alla mancanza della dichiarazione return nelle funzioni componibili 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 sono stati rilasciati. La versione 1.5.5 contiene questi commit.

Correzioni di bug

  • È stato corretto un arresto anomalo durante la ricerca di tipi di elementi componibili sottoposti a override. (Ib6d2c, b/297665426)
    • È stato aggiunto stabilityConfigurationPath ai parametri noti (in precedenza un bug impediva l'utilizzo del flag del file di configurazione). (b/309765121)
    • Sono state apportate correzioni della memoizzazione. (I081d1, I4d7bf)
    • È stata corretta la ricomposizione tenendo conto dello stato del parametro Uncertain nella memorizzazione intrinseca. (b/263402091)
    • Sono state corrette le informazioni sulla riga di debug per la funzionalità di memorizzazione intrinseca. (Ic8cf5)
    • È stato corretto l'arresto anomalo (riduzione IR non riuscita) durante la ricerca di tipi componibili sottoposti a override in fase di compilazione. (b/297665426)

Contributo esterno

  • È stata effettuata la memoizzazione dei riferimenti alle funzioni stabili con argomenti. (I4d7bf, b/302680514)

Versione 1.5.4

7 novembre 2023

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

Aggiornamenti delle dipendenze

  • Il compilatore Compose è ora compatibile con Kotlin 1.9.20

Nuove funzionalità

  • È stata aggiunta un'opzione sperimentale per attivare la modalità di strong skipping. La modalità di strong skipping consente di saltare gli elementi componibili con parametri instabili. Inoltre, viene effettuata la memoizzazione delle funzioni lambda con acquisizioni instabili. Questa funzionalità è sperimentale e non è considerata pronta per l'uso in produzione. (22421e)
  • È stato aggiunto il flag per attivare/disattivare le informazioni su origine/traccia. (4d45f09)
  • Consente di configurare la stabilità delle classi esterne tramite un file di configurazione. (If40eb)

Correzioni di bug

  • È stata corretta l'uscita anticipata dalle funzioni componibili quando le informazioni sull'origine non vengono raccolte. (fe6267)
  • È stata corretta la funzionalità per continuare dalle funzioni componibili. (948362)
  • È stata corretta la risoluzione quando le funzioni componibili vengono richiamate dall'interno di una chiamata di funzione con più overload che dipendono dal tipo restituito dell'espressione. (2d36d0)
  • È stata corretta la memoizzazione quando il riferimento alla funzione non ha un destinatario di distribuzione. (fc2326)
  • È stato corretto il dirty check che impediva la ricomposizione delle funzioni lambda in alcune situazioni. (db3699)
  • È stata corretta la stabilità durante la compilazione incrementale tra i moduli. (7d3e127)
  • È stato ridotto l'ambito di @DontMemoize alle sole espressioni lambda. (7a7fa52)
  • Sono state corrette le variabili non acquisite correttamente quando si utilizza un'interfaccia funzionale componibile come espressione lambda. (5ae3556)

Contributo esterno

  • Viene utilizzato il simbolo di uguaglianza strutturale per il confronto numerico e nullo. (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 sono stati rilasciati. La versione 1.5.3 contiene questi commit.

Aggiornamento delle dipendenze

  • La versione di Kotlin è stata 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 sono stati rilasciati. La versione 1.5.2 contiene questi commit.

Correzioni di bug

  • Sono stati inseriti i numeri di riga per le dichiarazioni return nelle funzioni componibili che restituiscono costanti. (I42d89)
  • È stata corretta una perdita di memoria causata dal passaggio al nuovo punto di ingresso del plug-in del compilatore. (4f0a101)
  • È stata interrotta la trasformazione di interfacce basate su funzioni non componibili nel compilatore Compose. In questo modo, le interfacce funzionali vengono gestite allo stesso modo delle espressioni lambda, incluse le regole di memoizzazione. (28b3ce9)
  • Viene utilizzato 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 sono stati rilasciati. La versione 1.5.1 contiene questi commit.

Correzioni di bug

  • Sono stati corretti i marcatori degli eventi di traccia di composizione nelle funzioni @ReadOnlyComposable con ritorni anticipati che causavano il danneggiamento 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 sono stati 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 verranno aggiunte nelle versioni future del compilatore.

Modifiche importanti dalla versione 1.4.0

  • La versione di Kotlin è stata aggiornata alla 1.9.0.
  • Gli argomenti denominati per le chiamate lambda @Composable sono stati ritirati. Questa funzionalità si basa su API del compilatore interno e non sarà supportata da K2.
  • È stata aggiunta una diagnostica per verificare l'annotazione @Composable nelle 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 sono stati rilasciati. La versione 1.4.8 contiene questi commit.

Nuove funzionalità

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

Correzioni di bug

  • È stato migliorato il messaggio di errore per gli override di @Composable. Ora indica correttamente la mancata corrispondenza delle annotazioni.
  • Viene fornito un avviso in merito all'annotazione @Composable ridondante sulle espressioni lambda incorporate che non devono essere contrassegnate come componibili. Questa funzionalità non sarà supportata con il 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 sono stati 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 sono stati rilasciati. La versione 1.4.6 contiene questi commit.

Correzioni di bug

  • Ora il compilatore Compose dipende da Java11 (anziché da Java17 richiesto dalla versione 1.4.5 del compilatore Compose) 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 sono stati rilasciati. La versione 1.4.5 contiene questi commit.

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

Nuove funzionalità

Supporto per Kotlin 1.8.20

Correzioni di bug

  • È stato propagato il requisito di override dell'operatore di chiamata componibile a classi e 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 componibile in IR per garantire che venga trasformato correttamente in un secondo momento. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • È stato corretto l'errore di runtime di composizione interno (applyChanges() dovrebbe essere stato chiamato) per le funzioni incorporate.b/274786923
  • Non si acquisisce 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 sono stati rilasciati. La versione 1.4.4 contiene questi commit.

Correzioni di bug

  • Sono stati corretti i valori restituiti dalle espressioni lambda incorporate componibili. (72172b)
  • Gli elementi componibili ora possono restituire Nothing (non viene generato un errore quando si utilizza TODO in una funzione componibile). 3aea8d)

Versione 1.4.3

Versione 1.4.3

22 febbraio 2023

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

Correzioni di bug

  • Sono state corrette le chiamate componibili condizionali negli argomenti delle chiamate componibili. (Ie93edb)

Versione 1.4.2

Versione 1.4.2

8 febbraio 2023

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

Nuove funzionalità

  • Supporto per Kotlin 1.8.10

Correzioni di bug

  • Sono stati aggiunti gruppi nel corpo delle espressioni lambda non ignorabili per evitare il bug di ricomposizione.

Versione 1.4.1

Versione 1.4.1

8 febbraio 2023

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

Correzioni di bug

  • È stata disattivata l'ottimizzazione intrinseca della memorizzazione che in precedenza aveva introdotto alcuni bug di generazione del codice.
  • È stata disattivata la memorizzazione intrinseca nelle funzioni contenenti un parametro vararg.
  • È stato corretto lo skipping errato negli elementi componibili con parametri predefiniti.
  • È stato aggiunto un messaggio di errore di fallback difensivo se il controllo della compatibilità di Kotlin non va a buon fine.
  • È stata rimossa la generazione di codice di skipping dall'espressione lambda incorporata.

Versione 1.4.0

17 gennaio 2023

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

Modifiche importanti dalla versione 1.3.0

  • Supporto per Kotlin 1.8.0
  • Disattivazione della memorizzazione intrinseca
  • La classe di dati ui tooling Group ora ha un campo, isInline, che indica se il gruppo è per una chiamata a una funzione componibile incorporata. Se isInline è true, la chiamata è a una funzione componibile incorporata. Tuttavia, il valore potrebbe essere false per le chiamate a funzioni componibili incorporate provenienti da moduli compilati con una versione del plug-in del compilatore Compose che non genera le informazioni sulla funzione incorporata.
  • ImmutableCollection e i relativi elementi di pari livello persistenti sono ora considerati stabili.
  • Nuovo parametro in AnimatedContent per l'etichetta dello strumento
  • È stata corretta la generazione di codice errato per le espressioni lambda incorporate.

Versione 1.4.0-alpha02

11 novembre 2022

androidx.compose.compiler:compiler:1.4.0-alpha02 è stato 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 è stato rilasciato. La versione 1.4.0-alpha01 contiene questi commit.

Correzioni di bug

  • È stata corretta la possibilità di uscire in anticipo dalle funzioni componibili incorporate. (b/255350755)
  • È stato corretto un bug nella riduzione del 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 è stato 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 è stato rilasciato. La versione 1.3.1 contiene questi commit.

Correzioni di bug

  • È stato corretto 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 preferita quando disattivano il controllo della versione del compilatore (I9e5e2)

Versione 1.3.0

10 agosto 2022

androidx.compose.compiler:compiler:1.3.0 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato rilasciato. La versione 1.2.0-rc02 contiene questi commit.

Correzioni di bug

  • È stata rimossa la generazione di codice dell'evento traccia componibile. (aosp/2127922)

Versione 1.2.0-rc01

15 giugno 2022

androidx.compose.compiler:compiler:1.2.0-rc01 è stato 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 è stato 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 è stato 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 è stato rilasciato. La versione 1.2.0-beta01 contiene questi commit.

  • Questa è la prima release beta della versione 1.2. Non sono state apportate 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato rilasciato. La versione 1.1.1 contiene questi commit.

Correzioni di bug

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

Versione 1.1.0

9 febbraio 2022

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

Modifiche importanti dalla versione 1.0.0

  • Supporto stabile per l'effetto di overscroll di Android 12
  • Miglioramenti alle dimensioni del touch target
  • Rispetto a Compose 1.0, i componenti Material espanderanno lo spazio del layout per rispondere alle 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 più piccola per il pulsante. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti Material Design, fornendo un comportamento coerente se combini Views e Compose. Questa modifica garantisce inoltre che, quando crei la tua UI utilizzando i componenti di Compose Material, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.
  • Supporto stabile per la modalità di navigazione laterale
  • Viene eseguito l'upgrade di una serie di API sperimentali precedenti alla versione stabile
  • Supporto per le versioni più recenti di Kotlin

Versione 1.1.0-rc03

26 gennaio 2022

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

Correzioni di bug

  • È stato effettuato un aggiornamento per supportare Compose Material 1.1.0-rc03

Versione 1.1.0-rc02

16 dicembre 2021

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

Aggiornamenti delle dipendenze

  • Il compilatore Compose 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 è stato rilasciato. La versione 1.1.0-rc01 contiene questi commit.

Modifiche alle dipendenze

  • Il compilatore Compose 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 l'app o il 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 è stato rilasciato. La versione 1.1.0-beta04 contiene questi commit.

Nuove funzionalità

  • È stato effettuato un aggiornamento per garantire la compatibilità con Kotlin 1.6.0

Versione 1.1.0-beta03

17 novembre 2021

androidx.compose.compiler:compiler:1.1.0-beta03 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

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

Versione 1.1.0-alpha02

18 agosto 2021

androidx.compose.compiler:compiler:1.1.0-alpha02 è stato 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 è stato 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 è stato 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 è stato rilasciato. La versione 1.0.4 contiene questi commit.

Aggiornamenti delle dipendenze

  • È stato effettuato un aggiornamento in modo che dipenda da Kotlin 1.5.31

Versione 1.0.3

29 settembre 2021

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

Aggiornamenti delle dipendenze

  • È stato effettuato un aggiornamento in modo che dipenda da Kotlin 1.5.30

Versione 1.0.2

1° settembre 2021

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

È stato effettuato un 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 è stato rilasciato. La versione 1.0.1 contiene questi commit.

Aggiornamenti delle dipendenze

  • È stato effettuato un aggiornamento in modo che dipenda da Kotlin 1.5.21.

Versione 1.0.0

28 luglio 2021

androidx.compose.compiler:compiler:1.0.0 è stato 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 delle release di Compose.

Versione 1.0.0-rc02

14 luglio 2021

androidx.compose.compiler:compiler:1.0.0-rc02 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato 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 è stato rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

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

Versione 1.0.0-alpha06

28 ottobre 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 è stato 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 è stato 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 è stato rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

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