Scrivi compilatore

Trasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin.
Aggiornamento più recente Release stabile Candidato per l'uscita Versione beta Release alpha
7 agosto 2024 05/01/15 - - -

Struttura

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

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

GruppoDescrizione
compose.animationCrea animazioni nelle 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 estende le basi per creare i tuoi componenti di sistema di progettazione.
compose.materialCrea UI di Jetpack Compose con componenti Material Design pronti per l'uso. Si tratta del punto di ingresso di livello superiore di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
compose.material3Crea UI di Jetpack Compose con Material Design 3 Components, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati, nonché funzionalità di personalizzazione di Material You, come il colore dinamico, ed è progettato per essere coerente con il nuovo stile visivo e la nuova UI di sistema di Android 12.
compose.runtimeComponenti di base di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime principale per il targeting del plug-in Compose Compiler.
compose.uiI componenti fondamentali dell'interfaccia utente di scrittura erano necessari per interagire con il dispositivo, tra cui layout, disegno e input.

Dichiarazione delle dipendenze

Per aggiungere una dipendenza su Compose, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il 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 Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.

Crea un nuovo numero

Consulta la documentazione di Issue Tracker per ulteriori informazioni.

Versione 1.5

Versione 1.5.15

7 agosto 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.15 e androidx.compose.compiler:compiler-hosted:1.5.15. La versione 1.5.15 contiene questi commit.

  • Questa versione del compilatore ha come target Kotlin 1.9.25.

Versione 1.5.14

14 maggio 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.14 e androidx.compose.compiler:compiler-hosted:1.5.14. La versione 1.5.14 contiene questi commit.

Questa versione del compilatore ha come target Kotlin 1.9.24.

Correzioni di bug

  • Assicurati che il corpo in linea venga realizzato quando le informazioni di origine sono disattivate. (Idddb8)

Versione 1.5.13

1° maggio 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.13 e androidx.compose.compiler:compiler-hosted:1.5.13. La versione 1.5.13 contiene questi commit.

Nuove funzionalità

  • L'esclusione definitiva non è più considerata sperimentale ed è sicura per l'uso in produzione. Diventerà il comportamento predefinito in una prossima release. (I6c8c4)

Correzioni di bug

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

Versione 1.5.12

17 aprile 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.12 e androidx.compose.compiler:compiler-hosted:1.5.12. La versione 1.5.12 contiene questi commit.

Correzioni di bug

  • Corregge un problema relativo alla compilazione incrementale con Kotlin 1.9.23. (Ifca55).
  • Correggi i tipi senza valori null nei parametri di valore per le classi in linea non primitive. (Ie6bb5).

Versione 1.5.11

20 marzo 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.11 e androidx.compose.compiler:compiler-hosted:1.5.11. 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 Componi runtime 1.7.0-alpha03. Le chiamate a startRestartGroup vengono generate soltanto per la versione 1.7.0-alpha03 o versioni successive del runtime.

  • La chiamata di startReplaceGroup anziché di 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 cambiamenti nel comportamento se un Applier si basa sull'ordine di rilevamento di queste operazioni.

Nuove funzionalità

  • Supporto per Kotlin 1.9.23

Correzioni di bug

  • Correggi i tipi generici esterni nidificati che vengono dedotti instabili. (I3437f, b/327643787)
  • Supporta più file di configurazione della stabilità. (I8db14, b/325326744)
  • Ora, il compilatore Scrivi trasforma correttamente le funzioni sottoposte a override camminando in modo ricorsivo tra le classi e gli override di base. (I2c9f9, b/316196500)
  • Assicurati che la memorizzazione dei riferimenti delle funzioni non provi a acquisire elementi padre impliciti di dichiarazioni locali quando non vengono utilizzate direttamente. (Ib1267)
  • Correggi la generazione del codice per lambda in linea componibile (difficile rilevare questo bug senza "nonSkippingGroup Optimization"). (Icb2fd, b/325502738)

Versione 1.5.10

21 febbraio 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.10 e androidx.compose.compiler:compiler-hosted:1.5.10. La versione 1.5.10 contiene questi commit.

Correzioni di bug

  • Supporta i valori letterali attivi all'interno dei blocchi di inizializzazione. (b/320397488)
  • Utilizza il parametro del supervisore per verificare se la funzione si trova nella classe locale (b/323123439)

Versione 1.5.9

7 febbraio 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.9 e androidx.compose.compiler:compiler-hosted:1.5.9. La versione 1.5.9 contiene questi commit.

Correzioni di bug

  • Correggi le chiamate componibili nell'inizializzazione degli oggetti anonimi. (b/320261458, 96315c)
  • Conteggia le dichiarazioni locali ricorrenti come acquisizioni. (b/318745941, e7b4b0)
  • La funzionalità Memorizzazione intrinseca modifica il comportamento relativo ai riferimenti dei metodi Java forzando .changed per i tipi di funzione con Memorizzazione intrinseca. (b/319810819, 77128e)
  • È stata aggiunta un'ottimizzazione sperimentale che rimuoverà i gruppi relativi a funzioni non ignorabili, quali esplicitamente contrassegnate come @NonSkippableComposable, e funzioni che implicitamente non sono ignorabili, ad esempio funzioni in linea e funzioni che restituiscono un valore diverso da unità, ad esempio remember.
  • Questa ottimizzazione può essere abilitata trasmettendo l'opzione plug-in, -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true al compilatore Kotlin. (I1688F)

Versione 1.5.8

10 gennaio 2024

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.8 e androidx.compose.compiler:compiler-hosted:1.5.8. La versione 1.5.8 contiene questi commit.

Nuove funzionalità

  • Supporto per Kotlin 1.9.22

Correzioni di bug

  • È stato corretto il bug per cui la build di Compose Compiler generava eccezioni quando veniva creata utilizzando Java21. Gli utenti che utilizzano il compilatore Compose di Google Maven (ovvero non lo creano autonomamente) non sono mai stati interessati da questo bug. (b/316644294)
  • È stato corretto il bug per cui veniva segnalato un errore COMPOSABLE_EXPECTED per alcuni chiamanti di lambda non in linea. (b/309364913)
  • Aggiungi un errore di compilazione per i parametri predefiniti nelle funzioni aperte (in precedenza solo era limitato solo per le funzioni astratte). Al momento Compose non supporta la sostituzione dei parametri predefiniti dalle funzioni sottoposte a override e durante l'esecuzione l'override di una funzione componibile con parametri predefiniti non funzionava. Utilizza @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") per l'eliminazione, ma tieni presente che se esegui l'override di questa funzione senza specificare un valore predefinito per il parametro si verificherà un arresto anomalo in fase di runtime.(b/317490247)
  • È stato corretto il bug nella memoria intrinseca che impediva la corretta propagazione dei valori. (b/316327367)

Contributo esterno

  • Correggi l'errore ortografico nella documentazione. (aosp/288106)

Versione 1.5.7

19 dicembre 2023

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.7 e androidx.compose.compiler:compiler-hosted:1.5.7. La versione 1.5.7 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema che causa l'arresto anomalo del runtime di composizione quando il parametro chiave remember() richiama una funzione componibile (b/315855015)
  • Correggi l'arresto anomalo del runtime di Compose quando viene utilizzato return@. (b/315821171)
  • Evita di utilizzare percorsi assoluti nelle chiavi di memorizzazione per ottimizzare l'utilizzo della cache nella build. (b/313937484)

Versione 1.5.6

6 dicembre 2023

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.6 e androidx.compose.compiler:compiler-hosted:1.5.6. La versione 1.5.6 contiene questi commit.

Nuove funzionalità

  • Supporto per Kotlin 1.9.21

Correzioni di bug

  • Attiva Memorizzazione intrinseca: la trasformazione del compilatore che ricorda in linea nel plug-in del compilatore Compose e sostituisce i confronti .equals con i confronti int del meta parametro per i parametri stabili. Ciò si traduce in un numero inferiore di slot utilizzati e meno confronti da eseguire in fase di runtime. L'opzione può essere disabilitata fornendo l'argomento del plug-in del compilatore: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • È stato corretto il problema di memorizzazione di riferimenti a funzioni adattate e argomenti in linea. (b/312738720)
  • Crea gruppi all'uscita dalla chiamata di funzione in linea (b/312242547)

Contributo esterno

  • Correggi l'arresto anomalo del runtime k/native e k/wasm a causa di un'istruzione di ritorno mancante nelle funzioni componibili quando è l'ultima istruzione e restituisce un const null (aosp/2835716)

Versione 1.5.5

29 novembre 2023

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.5 e androidx.compose.compiler:compiler-hosted:1.5.5. La versione 1.5.5 contiene questi commit.

Correzioni di bug

  • Corregge un arresto anomalo durante la ricerca di tipi componibili sottoposti a override (Ib6d2c, b/297665426)
    • Aggiungi stabilityConfigurationPath ai parametri noti (in precedenza il bug impediva l'utilizzo del flag del file di configurazione). (b/309765121)
    • Correzioni relative alla memorizzazione (I081d1, I4d7bf)
    • Correzione della ricomposizione tenendo conto dello stato del parametro Incerto nel ricordo intrinseco (b/263402091)
    • Correggere le informazioni della riga di debug per la memoria intrinseca (Ic8cf5)
    • Correzione dell'arresto anomalo (riduzione IR non riuscita) durante la ricerca di tipi componibili ignorata al momento della compilazione (b/297665426)

Contributo esterno

  • Memorizza i riferimenti alle funzioni stabili con gli argomenti (I4d7bf, b/302680514)

Versione 1.5.4

7 novembre 2023

Vengono rilasciate le versioni androidx.compose.compiler:compiler:1.5.4 e androidx.compose.compiler:compiler-hosted:1.5.4. La versione 1.5.4 contiene questi commit.

Aggiornamenti delle dipendenze

  • Compose Compiler è ora compatibile con Kotlin 1.9.20

Nuove funzionalità

  • Aggiungi un'opzione sperimentale per attivare questa modalità. Questa modalità consente di saltare gli elementi componibili con parametri instabili. Inoltre, vengono memorizzate le funzioni lambda con acquisizioni instabili. Questa funzionalità è sperimentale e non è considerata pronta per l'uso in produzione. (22421e)
  • Aggiungi un flag per abilitare/disabilitare le informazioni di origine/traccia. (4d45f09).
  • Consente di configurare la stabilità di classi esterne tramite un file di configurazione. (If40eb)

Correzioni di bug

  • Correggi l'uscita anticipata dalle funzioni componibili quando non vengono raccolte informazioni di origine. (fe6267)
  • Correggi l'errore Continua dalle funzioni componibili. (948362)
  • Correggi la risoluzione quando le funzioni componibili vengono richiamate dall'interno di una chiamata di funzione con più overload che dipendono dal tipo di espressione restituito. (2d36d0)
  • È stato corretto il problema di memorizzazione quando il riferimento alla funzione non ha un ricevitore. (fc2326).
  • È stato risolto il problema del controllo "sporco" che impediva la ricomposizione dei lambda in alcune situazioni. (db3699)
  • Correggi la stabilità durante la compilazione incrementale tra i moduli. (7d3e127)
  • Riduci l'ambito di @DontMemoize alle sole espressioni lambda. (7a7fa52)
  • Correggi le variabili non acquisite correttamente quando si utilizza un'interfaccia divertente componibile come lambda. (5ae3556).

Contributo esterno

  • Utilizza il simbolo di uguaglianza strutturale per il confronto numerico e nullo (c612a0)

Versione 1.5.3

29 agosto 2023

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3 e androidx.compose.compiler:compiler-hosted:1.5.3. 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

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2 e androidx.compose.compiler:compiler-hosted:1.5.2. La versione 1.5.2 contiene questi commit.

Correzioni di bug

  • Inserisci i numeri di riga per le istruzioni di ritorno in funzioni componibili a restituzione costante. (I42d89)
  • È stata corretta una perdita di memoria causata dal passaggio al nuovo entry point del plug-in del compilatore. (4f0a101)
  • Interrompi la trasformazione di interfacce divertenti non componibili nel compilatore Compose. Questo fa sì che le interfacce divertenti vengano gestite allo stesso modo di lambda, comprese le regole di memorizzazione. (28b3ce9).
  • Utilizza il tipo di argomento vararg per dedurre la stabilità sul sito di chiamata. (bc83645).

Versione 1.5.1

26 luglio 2023

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1 e androidx.compose.compiler:compiler-hosted:1.5.1. La versione 1.5.1 contiene questi commit.

Correzioni di bug

  • Sono stati corretti gli indicatori degli eventi di traccia della composizione nelle funzioni @ReadOnlyComposable con resi iniziali che causavano il danneggiamento della traccia.

Versione 1.5.0

18 luglio 2023

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0 e androidx.compose.compiler:compiler-hosted:1.5.0. La versione 1.5.0 contiene questi commit.

Supporto sperimentale di K2

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

Modifiche importanti dalla versione 1.4.0

  • La versione di Kotlin è stata aggiornata alla 1.9.0.
  • Gli argomenti con nome per @Composable chiamate lambda sono stati deprecati. Questa funzionalità si basa su API di compilazione interne 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

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8 e androidx.compose.compiler:compiler-hosted:1.4.8. La versione 1.4.8 contiene questi commit.

Nuove funzionalità

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

Correzioni di bug

  • Messaggio di errore migliorato per gli override di @Composable. Ora indica correttamente la mancata corrispondenza delle annotazioni.
  • Avviso in caso di annotazione @Composable ridondante su lambda in linea 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

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7 e androidx.compose.compiler:compiler-hosted:1.4.7. 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 il tracciamento dei valori Int, Long, Float e Double negli oggetti State senza incorrere in sanzioni per l'autoboxing.

Versione 1.4.6

Versione 1.4.6

19 aprile 2023

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6 e androidx.compose.compiler:compiler-hosted:1.4.6. La versione 1.4.6 contiene questi commit.

Correzioni di bug

  • Compose Compiler ora dipende da Java11 (anziché 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

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5 e androidx.compose.compiler:compiler-hosted:1.4.5. La versione 1.4.5 contiene questi commit.

NOTA Questa build di Compose Compiler richiede l'utilizzo di Java 17 o versioni successive nel tuo ambiente di build. Sulla base del feedback degli utenti, rilasceremo questo requisito a Java 11 e faremo il follow-up con un'altra release (1.4.6) per supportare meglio gli utenti che usano versioni precedenti di Java.

Nuove funzionalità

Supporto per Kotlin 1.8.20

Correzioni di bug

  • Propaga il requisito dell'override dell'operatore di richiamo componibile a classi e interfacce che estendono le interfacce lambda con 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
  • Correggi l'errore di runtime di scrittura interno (previsto che sia stato richiamato applyChanges()) per le funzioni in linea.b/274786923
  • Evita di acquisire l'elemento ProcessCancelledException perché ha un significato speciale nell'IDE.b/274725600

Contributo esterno

Versione 1.4.4

Versione 1.4.4

22 marzo 2023

Vengono rilasciate le funzionalità androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4 e androidx.compose.compiler:compiler-hosted:1.4.4. La versione 1.4.4 contiene questi commit.

Correzioni di bug

  • Correggi i resi lambda in linea componibili (72172b)
  • Consenti agli elementi componibili 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

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

Correzioni di bug

  • Corregge le chiamate componibili condizionali in argomenti di chiamate componibili (Ie93edb)

Versione 1.4.2

Versione 1.4.2

8 febbraio 2023

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

Nuove funzionalità

  • Supporto per Kotlin 1.8.10

Correzioni di bug

  • Aggiungi gruppi nel corpo dei lambda non ignorabili per evitare bug di ricomposizione.

Versione 1.4.1

Versione 1.4.1

8 febbraio 2023

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

Correzioni di bug

  • Disattiva l'ottimizzazione del ricordo intrinseco che in precedenza aveva introdotto alcuni bug di generazione del codice.
  • Disattiva il ricordo intrinseco nelle funzioni contenenti un parametro vararg.
  • Correggi gli errori di salto negli elementi componibili con parametri predefiniti
  • Aggiungi un messaggio di errore di riserva difensivo se il controllo della compatibilità di Kotlin non va a buon fine.
  • Rimuovi la possibilità di ignorare la generazione del codice dalla funzione lambda in linea

Versione 1.4.0

17 gennaio 2023

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

Modifiche importanti dalla versione 1.3.0

  • Supporto per Kotlin 1.8.0
  • Memorizzazione intrinseca disattivata
  • La classe di dati degli strumenti UI Group ora ha un campo, isInline, che indica se il gruppo riguarda 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 componibili inline provenienti da moduli compilati con una versione del plug-in del compilatore Composer che non genera le informazioni della funzione inline.
  • ImmutableCollection e i suoi fratelli permanenti sono ora considerati stabili.
  • Nuovo parametro in AnimatedContent per l'etichetta degli strumenti
  • È stato corretto un errore di generazione del codice per la funzione lambda in linea

Versione 1.4.0-alpha02

11 novembre 2022

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

Nuove funzionalità

  • Aggiunto il supporto per Kotlin 1.7.21

Versione 1.4.0-alpha01

9 novembre 2022

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

Correzioni di bug

  • Correzione della possibilità di restituire anticipatamente le funzioni componibili in linea (b/255350755)
  • È stato corretto il bug nella riduzione esca che comprometteva il supporto di Kotlin/JS in Compose (6a40f8).

Versione 1.3

Versione 1.3.2

4 ottobre 2022

Viene rilasciato androidx.compose.compiler:compiler:1.3.2. 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

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

Correzioni di bug

  • È stato corretto IllegalStateException in cui in alcune circostanze il compilatore Compose contrassegnava erroneamente tipi di unità come componibili. (b/237863365)
  • Ora gli utenti devono specificare la loro versione Kotlin preferita quando sopprimono il controllo della versione del compilatore (I9e5e2)

Versione 1.3.0

10 agosto 2022

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

Versione 1.3.0-rc02

3 agosto 2022

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

Versione 1.3.0-rc01

27 luglio 2022

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

Versione 1.3.0-beta01

20 luglio 2022

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

Nuove funzionalità

  • Aggiunto il supporto per Kotlin 1.7.10

Versione 1.2

Versione 1.2.0

29 giugno 2022

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

Modifiche importanti dalla versione 1.1.0

Versione 1.2.0-rc02

22 giugno 2022

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

Correzioni di bug

  • Generazione del codice di evento di traccia componibile rimossa (aosp/2127922)

Versione 1.2.0-rc01

15 giugno 2022

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

Versione 1.2.0-beta03

1 giugno 2022

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

Versione 1.2.0-beta02

18 maggio 2022

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

Versione 1.2.0-beta01

11 maggio 2022

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

  • Questa è la prima versione beta della 1.2. Non sono state apportate modifiche dall'ultima versione alpha.

Nuove funzionalità

  • Aggiunto il supporto per Kotlin 1.6.21

Versione 1.2.0-alpha08

20 aprile 2022

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

Versione 1.2.0-alpha07

6 aprile 2022

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

Versione 1.2.0-alpha06

23 marzo 2022

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

Versione 1.2.0-alpha05

9 marzo 2022

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

Versione 1.2.0-alpha04

23 febbraio 2022

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

Versione 1.2.0-alpha03

9 febbraio 2022

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

Versione 1.2.0-alpha02

26 gennaio 2022

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

Versione 1.2.0-alpha01

12 gennaio 2022

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

Nuove funzionalità

  • Aggiunto il supporto per Kotlin 1.6.10.

Versione 1.1

Versione 1.1.1

23 febbraio 2022

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

Correzioni di bug

  • Correggi 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 da appunti su Android. (I06020, b/197769306)
  • RTL fisso in LazyVerticalGrid (aosp/1931080, b/207510535)

Versione 1.1.0

9 febbraio 2022

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

Modifiche importanti dalla versione 1.0.0

  • Supporto stabile dell'effetto Overscroll per Android 12
  • Miglioramenti alle dimensioni del touch target
  • Tieni presente che, rispetto a Compose 1.0, i componenti Material amplieranno lo spazio di layout per rispettare le linee guida per l'accessibilità di Material relative alle dimensioni del touch target. Ad esempio, il touch target del pulsante si espanderà fino a una dimensione minima di 48x48dp, anche se imposti le dimensioni del pulsante su un valore inferiore. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti di Material Design e si ottiene un comportamento coerente se si combinano Visualizzazioni e Compose. Questa modifica garantisce inoltre che, quando crei la UI utilizzando i componenti Compose Material, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.
  • Supporto stabile per barra di navigazione
  • Consente di passare alcune API precedentemente sperimentali allo stato stabile
  • Supporto per versioni più recenti di Kotlin

Versione 1.1.0-rc03

26 gennaio 2022

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

Correzioni di bug

  • Aggiornato per supportare Compose Material 1.1.0-rc03

Versione 1.1.0-rc02

16 dicembre 2021

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

Aggiornamenti delle dipendenze

  • Il compilatore 1.1.0-rc02 è compatibile con Kotlin 1.6.10.

Versione 1.1.0-rc01

15 dicembre 2021

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

Modifiche alle dipendenze

  • Il compilatore 1.1.0-rc01 è compatibile con Kotlin 1.6.0.
  • È disponibile una build 1.6.10 compatibile tramite SNAPSHOT androidx.dev con buildId 8003490. Il seguente snippet di dipendenza configura le SNAPSHOT per il compilatore di scrittura:

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

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

    Aggiungi il seguente snippet al file build.gradle dell'app o del modulo che utilizza Compose:

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

Versione 1.1.0-beta04

1 dicembre 2021

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

Nuove funzionalità

  • Aggiornamento per essere compatibile con Kotlin 1.6.0

Versione 1.1.0-beta03

17 novembre 2021

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

Versione 1.1.0-beta02

3 novembre 2021

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

Versione 1.1.0-beta01

27 ottobre 2021

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

Versione 1.1.0-alpha06

13 ottobre 2021

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

Versione 1.1.0-alpha05

29 settembre 2021

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

Versione 1.1.0-alpha04

15 settembre 2021

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

Versione 1.1.0-alpha03

1° settembre 2021

Viene rilasciato androidx.compose.compiler:compiler:1.1.0-alpha03. 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, Compose Compiler era compatibile solo con il runtime di Compose della stessa versione o versioni successive. Dopo questa modifica, Compose Compiler è compatibile con una versione precedente di Compose Runtime (1.0). (aosp/1796968)
  • Compose 1.1.0-alpha03 è stata aggiornata per dipendere da Kotlin 1.5.30. (I74545)

Versione 1.1.0-alpha02

18 agosto 2021

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

Versione 1.1.0-alpha01

4 agosto 2021

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

Versione 1.0

Versione 1.0.5

3 novembre 2021

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

Correzioni di bug

  • È stato corretto un arresto anomalo del monitoraggio delle istanze derivateStateOf. (aosp/1792247)

Versione 1.0.4

13 ottobre 2021

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

Aggiornamenti delle dipendenze

  • Aggiornamento in base a Kotlin 1.5.31 eseguito

Versione 1.0.3

29 settembre 2021

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

Aggiornamenti delle dipendenze

  • Aggiornamento in base a Kotlin 1.5.30 eseguito

Versione 1.0.2

1° settembre 2021

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

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

Versione 1.0.1

4 agosto 2021

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

Aggiornamenti delle dipendenze

  • Aggiornamento eseguito in modo da dipendere da Kotlin 1.5.21.

Versione 1.0.0

28 luglio 2021

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

Funzionalità principali di 1.0.0

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

Versione 1.0.0-rc02

14 luglio 2021

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

Versione 1.0.0-rc01

1 luglio 2021

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

Versione 1.0.0-beta09

16 giugno 2021

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

Versione 1.0.0-beta08

2 giugno 2021

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

Versione 1.0.0-beta07

18 maggio 2021

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

Versione 1.0.0-beta06

5 maggio 2021

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

Versione 1.0.0-beta05

21 aprile 2021

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

Versione 1.0.0-beta04

7 aprile 2021

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

Versione 1.0.0-beta03

24 marzo 2021

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

Versione 1.0.0-beta02

10 marzo 2021

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

Versione 1.0.0-beta01

24 febbraio 2021

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

Questa è la prima versione di Compose 1.0.0 Beta.

Versione 1.0.0-alpha12

10 febbraio 2021

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

Versione 1.0.0-alpha11

28 gennaio 2021

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

Versione 1.0.0-alpha10

13 gennaio 2021

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

Versione 1.0.0-alpha09

16 dicembre 2020

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

Versione 1.0.0-alpha08

2 dicembre 2020

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

Versione 1.0.0-alpha07

11 novembre 2020

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

Nuove funzionalità

  • Inferenza e stabilità Propagazione. Il plug-in Compose Compiler analizza i tipi che compila per dedurre se è idoneo per determinate ottimizzazioni in base al runtime. Questo risultato dedotto viene quindi sintetizzato come metadati nella classe per essere utilizzato dal compilatore in altri moduli. Inoltre, il risultato del runtime di queste inferenze viene trasmesso nei metadati passati alle chiamate componibili durante la composizione. Ciò richiedeva un protocollo di metadati diverso per le funzioni componibili, il che significa che le funzioni componibili compilate con il compilatore alpha07 non saranno compatibili binarie con le funzioni componibili compilate con qualsiasi versione precedente del compilatore. (aosp/1431988)

Versione 1.0.0-alpha06

28 ottobre 2020

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

Versione 1.0.0-alpha05

14 ottobre 2020

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

Versione 1.0.0-alpha04

1° ottobre 2020

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

È stato eseguito il refactoring di androidx.compose:compose-compiler in androidx.compose.compiler:compiler. Questa è la prima release del nuovo gruppo.