Compilatore Compose
androidx.compose
(Consulta la documentazione Riferimento API per tutti i pacchetti di Compose)
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.
Gruppo | Descrizione |
---|---|
compose.animation | Crea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente. |
compose.compiler | Trasforma le funzioni @Composable e attiva le ottimizzazioni con un plug-in del compilatore Kotlin. |
compose.foundation | Sviluppa applicazioni Jetpack Compose con i componenti di base pronti all'uso e usali per personalizzare il design degli elementi della tua app. |
compose.material | Crea 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.material3 | Crea 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.runtime | Elementi di base del modello di programmazione e della gestione dello stato di Compose e runtime principale utilizzato dal plug-in del compilatore Compose. |
compose.ui | Componenti 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.
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 Runtime1.7.0-alpha03
. Le chiamate astartRestartGroup
vengono generate solo quando il targeting è impostato su 1.7.0-alpha03 o versioni successive del runtime.La chiamata a
startReplaceGroup
anziché astartReplaceableGroup
consente al runtime di rilevare le modifiche in modo più efficiente, ma potrebbe influire sull'ordine in cui le modifiche vengono rilevate daComposer
e inviate aApplier
. Ciò potrebbe comportare lievi modifiche nel comportamento se unApplier
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 comeremember
. - 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: -Pplugin: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)
- È stato aggiunto
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 oggettiState
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'operatoregetValue
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
- Migliore supporto per le funzioni componibili in ambiente Kotlin/Native.f52b6aeed22400dd4f4a4f05559a9aa42642402c
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. SeisInline
è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
- Supporto di Kotlin 1.7.0
- Consulta il nostro post del blog che spiega la nuova strategia di controllo delle versioni del compilatore Compose in Compose.
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
inandroidx.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 Kotlin1.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 Kotlin1.6.0
. Una build
1.6.10
compatibile è disponibile tramite gli SNAPSHOT di androidx.dev conbuildId
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 Kotlin1.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.