Compose Compiler
Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
7. August 2024 | 1.5.15 | - | – | - |
Struktur
Compose ist eine Kombination aus sieben Maven-Gruppen-IDs in androidx
. Jede Gruppe enthält eine gezielte Teilmenge von Funktionen, für die jeweils eigene Release-Notes gelten.
In dieser Tabelle werden die Gruppen und Links zu den einzelnen Versionshinweisen erläutert.
Gruppe | Beschreibung |
---|---|
compose.animation | Sie können Animationen in ihren Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern. |
compose.compiler | @Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren |
compose.foundation | Erstellen Sie Jetpack Compose-Anwendungen mit vorgefertigten Bausteinen und erweitern Sie die Grundlage, um eigene Designsystem-Elemente zu erstellen. |
compose.material | Erstellen Sie Jetpack Compose-UIs mit vorgefertigten Material Design-Komponenten. Dies ist der übergeordnete Einstiegspunkt von Compose. Er wurde entwickelt, um Komponenten bereitzustellen, die denen auf www.material.io entsprechen. |
compose.material3 | Erstellen Sie Jetpack Compose-UIs mit Material Design 3-Komponenten, der nächsten Weiterentwicklung von Material Design. Material 3 umfasst aktualisierte Themen und Komponenten sowie Personalisierungsfunktionen von Material You wie dynamische Farben. Es wurde so konzipiert, dass es zum neuen visuellen Stil und zur System-UI von Android 12 passt. |
compose.runtime | Grundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Kernlaufzeit, auf die das Compose-Compiler-Plug-in ausgerichtet ist. |
compose.ui | Grundlegende Komponenten der Compose-Benutzeroberfläche, die für die Interaktion mit dem Gerät erforderlich sind, einschließlich Layout, Zeichnen und Eingabe. |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Compose hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:
Cool
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" } }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.5
Version 1.5.15
7. August 2024
androidx.compose.compiler:compiler:1.5.15
und androidx.compose.compiler:compiler-hosted:1.5.15
werden freigegeben. Version 1.5.15 enthält diese Commits.
- Diese Compilerversion ist auf Kotlin 1.9.25 ausgerichtet.
Version 1.5.14
14. Mai 2024
androidx.compose.compiler:compiler:1.5.14
und androidx.compose.compiler:compiler-hosted:1.5.14
werden freigegeben. Version 1.5.14 enthält diese Commits.
Diese Compilerversion ist auf Kotlin 1.9.24 ausgerichtet.
Fehlerkorrekturen
- Der Inline-Textkörper muss angezeigt werden, wenn die Quellinformationen deaktiviert sind. (Idddb8)
Version 1.5.13
1. Mai 2024
androidx.compose.compiler:compiler:1.5.13
und androidx.compose.compiler:compiler-hosted:1.5.13
werden freigegeben. Version 1.5.13 enthält diese Commits.
Neue Funktionen
- Die Funktion „Starkes Überspringen“ gilt nicht mehr als experimentell und kann in der Produktion verwendet werden. In einer zukünftigen Version wird dies das Standardverhalten sein. (I6c8c4)
Fehlerkorrekturen
- Korrektur der Binärkompatibilität für
@Composable
-Funktionen mit Wertklassenparametern, die einen Standardwert haben und einen nicht primitiven Wert umschließen. (I89465 - Upstream-Korrekturen für die JS- und Native-Kompilierung von Compose Multiplatform Ausführliche Informationen finden Sie im Commit-Bereich oben.
Version 1.5.12
17. April 2024
androidx.compose.compiler:compiler:1.5.12
und androidx.compose.compiler:compiler-hosted:1.5.12
werden freigegeben. Version 1.5.12 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit der inkrementellen Kompilierung mit Kotlin 1.9.23 wurde behoben. (Ifca55)
- Korrektur von nicht null-wertigen Typen in Wertparametern für nicht primitive Inline-Klassen. (Ie6bb5)
Version 1.5.11
20. März 2024
androidx.compose.compiler:compiler:1.5.11
und androidx.compose.compiler:compiler-hosted:1.5.11
werden freigegeben. Version 1.5.11 enthält diese Commits.
Notes
Ab dieser Version ruft der Compiler jetzt
startReplaceGroup
anstelle vonstartReplacableGroup
auf, wenn ein Modul mit einer Laufzeit kompiliert wird, die diese Methode enthält.startReplaceGroup
wurde in der Laufzeit in Compose Runtime1.7.0-alpha03
eingeführt. Aufrufe vonstartRestartGroup
werden nur generiert, wenn die Runtime-Version 1.7.0-alpha03 oder höher verwendet wird.Wenn
startReplaceGroup
anstelle vonstartReplaceableGroup
aufgerufen wird, kann die Laufzeit Änderungen effizienter erkennen. Dies kann sich jedoch auf die Reihenfolge auswirken, in der Änderungen vomComposer
erkannt und an denApplier
gesendet werden. Dies kann zu geringfügigen Änderungen des Verhaltens führen, wenn einApplier
von der Reihenfolge abhängt, in der diese Vorgänge erkannt werden.
Neue Funktionen
- Unterstützung für Kotlin 1.9.23
Fehlerkorrekturen
- Korrektur von verschachtelten externen generischen Typen, die als instabil eingestuft wurden (I3437f, b/327643787)
- Unterstützung mehrerer Stabilitätskonfigurationsdateien. (I8db14, b/325326744)
- Der Compose-Compiler transformiert jetzt überschriebene Funktionen korrekt, indem er Basisklassen/Überschreibungen rekursiv durchläuft. (I2c9f9, b/316196500)
- Achten Sie darauf, dass bei der Memoisierung von Funktionsreferenzen nicht versucht wird, implizite übergeordnete Elemente lokaler Deklarationen zu erfassen, wenn sie nicht direkt verwendet werden. (Ib1267)
- Fehler bei der Codegenerierung für kombinierbare Cross-Inline-Lambdas behoben (dieser Fehler tritt nur selten auf, wenn „nonSkippingGroupOptimization“ nicht aktiviert ist). (Icb2fd, b/325502738)
Version 1.5.10
21. Februar 2024
androidx.compose.compiler:compiler:1.5.10
und androidx.compose.compiler:compiler-hosted:1.5.10
werden freigegeben. Version 1.5.10 enthält diese Commits.
Fehlerkorrekturen
- Unterstützung von Liveliterals in init-Blöcken (b/320397488)
- Mit dem Dispatcherparameter prüfen, ob sich die Funktion in einer lokalen Klasse befindet (b/323123439)
Version 1.5.9
7. Februar 2024
androidx.compose.compiler:compiler:1.5.9
und androidx.compose.compiler:compiler-hosted:1.5.9
werden freigegeben. Version 1.5.9 enthält diese Commits.
Fehlerkorrekturen
- Fehler bei zusammensetzbaren Aufrufen im Angreiferobjekt korrigiert. (b/320261458, 96315c)
- Rekursiv lokal deklarierte Elemente als Erfassungen zählen (b/318745941, e7b4b0)
- Das Verhalten von „intrinsic remember“ für Java-Methodenreferenzen wurde korrigiert. Dazu wurde „.changed“ für Funktionstypen mit „intrinsic remember“ erzwungen. (b/319810819, 77128e)
- Es wurde eine experimentelle Optimierung hinzugefügt, durch die die Gruppen um Funktionen entfernt werden, die nicht übersprungen werden können, z. B. explizit als
@NonSkippableComposable
gekennzeichnete Funktionen und Funktionen, die implizit nicht übersprungen werden können, z. B. Inline-Funktionen und Funktionen, die keinen Einheitswert zurückgeben, z. B.remember
. - Diese Optimierung kann aktiviert werden, indem die Plug-in-Option
-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true
an den Kotlin-Compiler übergeben wird. (I1688f)
Version 1.5.8
10. Januar 2024
androidx.compose.compiler:compiler:1.5.8
und androidx.compose.compiler:compiler-hosted:1.5.8
werden freigegeben. Version 1.5.8 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin 1.9.22
Fehlerkorrekturen
- Fehler behoben, bei dem beim Compose-Compiler-Build mit Java21 Ausnahmen geworfen wurden. Nutzer, die den Compose-Compiler von Google Maven verwenden (d.h. ihn nicht selbst erstellen), waren von diesem Fehler nie betroffen. (b/316644294)
- Fehler behoben, bei dem für einige Aufrufer nicht eingeblendeter Lambdas der Fehler
COMPOSABLE_EXPECTED
gemeldet wurde. (b/309364913) - Es wird jetzt ein Kompilierungsfehler für Standardparameter in offenen Funktionen ausgegeben (früher war dies nur für abstrakte Funktionen der Fall). Compose unterstützt derzeit keine Substitution von Standardparametern aus überschriebenen Funktionen. Außerdem ist das Überschreiben einer zusammensetzbaren Funktion mit Standardparametern zur Laufzeit fehlgeschlagen. Verwenden Sie
@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE")
, um die Funktion zu unterdrücken. Beachten Sie jedoch, dass das Überschreiben einer solchen Funktion ohne Angabe eines Standardwerts für den Parameter zu einem Absturz bei der Laufzeit führt.(b/317490247) - Es wurde ein Fehler in der Funktion „intrinsic remember“ behoben, der verhinderte, dass Werte korrekt weitergegeben wurden. (b/316327367)
Externer Beitrag
- Tippfehler in der Dokumentation behoben. (aosp/288106)
Version 1.5.7
19. Dezember 2023
androidx.compose.compiler:compiler:1.5.7
und androidx.compose.compiler:compiler-hosted:1.5.7
werden freigegeben. Version 1.5.7 enthält diese Commits.
Fehlerkorrekturen
- Behebung des Compose-Laufzeitabsturzes, wenn der Schlüsselparameter
remember()
eine zusammensetzbare Funktion aufruft (b/315855015) - Behebung des Absturzes der Compose-Laufzeit bei Verwendung von
return@
. (b/315821171) - Vermeiden Sie die Verwendung absoluter Pfade in Memoisierungsschlüsseln, um die Nutzung des Build-Caches zu verbessern. (b/313937484)
Version 1.5.6
6. Dezember 2023
androidx.compose.compiler:compiler:1.5.6
und androidx.compose.compiler:compiler-hosted:1.5.6
werden freigegeben. Version 1.5.6 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin 1.9.21
Fehlerkorrekturen
- „Intrinsic remember“ aktivieren: Compilertransformation, die „remember“ im Compose-Compiler-Plug-in inline einfügt und
.equals
-Vergleiche durch Ganzzahlvergleiche der Parametermetadaten für stabile Parameter ersetzt. Dadurch werden weniger Slots verwendet und weniger Vergleiche werden zur Laufzeit durchgeführt. Die Option kann deaktiviert werden, indem Sie das Compiler-Plug-in-Argument -Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false
angeben. (If675f) - Korrektur der Memorisierung angepasster Funktionsreferenzen und Inline-Argumente. (b/312738720)
- Gruppen beim Verlassen des Inline-Funktionsaufrufs realisieren (b/312242547)
Externer Beitrag
- Korrektur des Absturzes der k/native- und k/wasm-Laufzeit aufgrund einer fehlenden Rückgabeanweisung in zusammensetzbaren Funktionen, wenn es sich um die letzte Anweisung handelt und eine Null-Konstante zurückgegeben wird (aosp/2835716)
Version 1.5.5
29. November 2023
androidx.compose.compiler:compiler:1.5.5
und androidx.compose.compiler:compiler-hosted:1.5.5
werden freigegeben. Version 1.5.5 enthält diese Commits.
Fehlerkorrekturen
- Ein Absturz beim Suchen nach überschriebenen zusammensetzbaren Typen wurde behoben (Ib6d2c, b/297665426)
stabilityConfigurationPath
zu den bekannten Parametern hinzugefügt (früher verhinderte ein Fehler die Verwendung des Flags in der Konfigurationsdatei). (b/309765121)- Fehlerbehebungen bei der Memoisierung (I081d1, I4d7bf)
- Fehler bei der Neuzusammensetzung behoben, indem der Status „Unsicher“ bei Parametern bei der Funktion „intrinsic remember“ berücksichtigt wurde (b/263402091)
- Korrektur von Informationen zur Debug-Zeile für „intrinsic remember“ (Ic8cf5)
- Absturz beim Überschreiben von zusammensetzbaren Typen behoben (IR-Herabstufung fehlgeschlagen) (b/297665426)
Externer Beitrag
- Stabile Funktionsreferenzen mit Argumenten im Cache speichern (I4d7bf, b/302680514)
Version 1.5.4
7. November 2023
androidx.compose.compiler:compiler:1.5.4
und androidx.compose.compiler:compiler-hosted:1.5.4
werden freigegeben. Version 1.5.4 enthält diese Commits.
Abhängigkeitsupdates
- Compose Compiler ist jetzt mit Kotlin 1.9.20 kompatibel
Neue Funktionen
- Fügen Sie eine experimentelle Option hinzu, um den Modus für das Überspringen von Werbeunterbrechungen zu aktivieren. Im Modus „Strikter Überspringmodus“ können Kompositionen mit instabilen Parametern übersprungen werden. Außerdem werden Lambdas mit instabilen Erfassungen gemerkt. Diese Funktion befindet sich in der Testphase und ist noch nicht für den Einsatz in der Produktion bereit. (22421e)
- Flag hinzufügen, um Quell-/Spureninformationen zu aktivieren/deaktivieren. (4d45f09)
- Die Stabilität externer Klassen kann über eine Konfigurationsdatei konfiguriert werden. (If40eb)
Fehlerkorrekturen
- Korrektur des vorzeitigen Endes von zusammensetzbaren Funktionen, wenn keine Quellinformationen erfasst werden. (fe6267)
- Fehler bei der Weiterleitung von zusammensetzbaren Funktionen behoben. (948362)
- Die Auflösung wurde korrigiert, wenn zusammensetzbare Funktionen innerhalb eines Funktionsaufrufs aufgerufen werden, der mehrere Überladungen hat, die vom Rückgabetyp des Ausdrucks abhängen. (2d36d0)
- Fehler bei der Memoisierung behoben, wenn die Funktionsreferenz keinen Auslieferungsempfänger hat. (fc2326)
- Behebung der schmutzigen Prüfung, die in einigen Fällen die Neuzusammensetzung von Lambdas verhinderte. (db3699)
- Stabilität bei der inkrementellen Kompilierung über Module hinweg verbessern (7d3e127)
- Beschränken Sie den Umfang von
@DontMemoize
auf Lambda-Ausdrücke. (7a7fa52) - Fehlerbehebung: Variablen wurden bei Verwendung einer Composable Fun-Schnittstelle als Lambda nicht korrekt erfasst. (5ae3556)
Externer Beitrag
- Verwenden Sie das Symbol für strukturelle Gleichheit für den Vergleich von Zahlen und Nullwerten (c612a0).
Version 1.5.3
29. August 2023
androidx.compose.compiler:compiler:1.5.3
, androidx.compose.compiler:compiler-daemon:1.5.3
und androidx.compose.compiler:compiler-hosted:1.5.3
werden losgelassen. Version 1.5.3 enthält diese Commits.
Abhängigkeitsupdate
- Die Kotlin-Version wurde auf 1.9.10 aktualisiert.
Version 1.5.2
23. August 2023
androidx.compose.compiler:compiler:1.5.2
, androidx.compose.compiler:compiler-daemon:1.5.2
und androidx.compose.compiler:compiler-hosted:1.5.2
werden losgelassen. Version 1.5.2 enthält diese Commits.
Fehlerkorrekturen
- Fügen Sie Zeilennummern für Rückgabeanweisungen in zusammensetzbare Funktionen mit konstanter Rückgabe ein. (I42d89)
- Behebung eines Speicherlecks, das durch den Wechsel zum neuen Compiler-Plug-in-Eintragspunkt verursacht wurde. (4f0a101)
- Nicht kombinierbare Fun-UIs werden nicht mehr im Compose-Compiler umgewandelt. Dadurch werden Funktionsschnittstellen genauso wie Lambdas behandelt, einschließlich der Regeln für die Memoisierung. (28b3ce9)
- Verwenden Sie den Argumenttyp „Vararg“, um die Stabilität an der Aufrufstelle abzuleiten. (bc83645)
Version 1.5.1
26. Juli 2023
androidx.compose.compiler:compiler:1.5.1
, androidx.compose.compiler:compiler-daemon:1.5.1
und androidx.compose.compiler:compiler-hosted:1.5.1
werden losgelassen. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Fehlers bei Ereignismarkierungen in Zusammensetzungs-Traces in
@ReadOnlyComposable
-Funktionen mit vorzeitigen Rückgaben, die zu einer Beschädigung des Traces geführt haben.
Version 1.5.0
18. Juli 2023
androidx.compose.compiler:compiler:1.5.0
, androidx.compose.compiler:compiler-daemon:1.5.0
und androidx.compose.compiler:compiler-hosted:1.5.0
werden losgelassen. Version 1.5.0 enthält diese Commits.
Experimenteller K2-Support
- Der Compose-Compiler 1.5.0 bietet experimentelle Unterstützung für den K2-Compiler. Einige Compose-Funktionen werden von K2 noch nicht unterstützt, aber in zukünftigen Versionen des Compilers hinzugefügt.
Wichtige Änderungen seit Version 1.4.0
- Die Kotlin-Version wurde auf 1.9.0 aktualisiert.
- Benannte Argumente für
@Composable
-Lambdaaufrufe wurden eingestellt. Diese Funktion basiert auf internen Compiler-APIs und wird von K2 nicht unterstützt. - Es wurde eine Diagnose hinzugefügt, um die
@Composable
-Anmerkung zu erwarteten/tatsächlichen Anrufen zu überprüfen. Beide Deklarationen müssen übereinstimmende Anmerkungen haben.
Version 1.4.8
Version 1.4.8
28. Juni 2023
androidx.compose.compiler:compiler:1.4.8
, androidx.compose.compiler:compiler-daemon:1.4.8
und androidx.compose.compiler:compiler-hosted:1.4.8
werden losgelassen. Version 1.4.8 enthält diese Commits.
Neue Funktionen
- Die Zielversion des Kotlin-Compilers wurde auf 1.8.22 erhöht.
Fehlerkorrekturen
- Verbesserte Fehlermeldung für
@Composable
-Überschreibungen. Jetzt wird die Abweichung der Anmerkungen korrekt angezeigt. - Warnung vor redundanter
@Composable
-Anmerkung bei Inline-Lambdas, die nicht als zusammensetzbar gekennzeichnet werden sollten. Diese Funktion wird vom K2-Compiler nicht unterstützt.
Version 1.4.7
Version 1.4.7
3. Mai 2023
androidx.compose.compiler:compiler:1.4.7
, androidx.compose.compiler:compiler-daemon:1.4.7
und androidx.compose.compiler:compiler-hosted:1.4.7
werden losgelassen. Version 1.4.7 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin 1.8.21
- Es wurden primitive Versionen der
State
API hinzugefügt, mit denen Int-, Long-, Float- und Double-Werte inState
-Objekten erfasst werden können, ohne dass es zu Strafen für das Autoboxing kommt.
Version 1.4.6
Version 1.4.6
19. April 2023
androidx.compose.compiler:compiler:1.4.6
, androidx.compose.compiler:compiler-daemon:1.4.6
und androidx.compose.compiler:compiler-hosted:1.4.6
werden losgelassen. Version 1.4.6 enthält diese Commits.
Fehlerkorrekturen
- Der Compose Compiler ist jetzt von Java 11 abhängig (anstelle von Java 17, das von Compose Compiler Version 1.4.5 benötigt wird), um Nutzer besser zu unterstützen, die noch ältere Java-Versionen verwenden.
Version 1.4.5
Version 1.4.5
12. April 2023
androidx.compose.compiler:compiler:1.4.5
, androidx.compose.compiler:compiler-daemon:1.4.5
und androidx.compose.compiler:compiler-hosted:1.4.5
werden losgelassen. Version 1.4.5 enthält diese Commits.
HINWEIS: Für diesen Build des Compose-Compilers muss in Ihrer Build-Umgebung Java 17 oder höher verwendet werden. Aufgrund von Nutzerfeedback werden wir diese Anforderung auf Java 11 zurücksetzen und eine weitere Version (1.4.6) veröffentlichen, um Nutzer mit älteren Java-Versionen besser zu unterstützen.
Neue Funktionen
Unterstützung für Kotlin 1.8.20
Fehlerkorrekturen
- Die Anforderung für die Überschreibung des komponierbaren Aufrufoperators wird auf Klassen und Schnittstellen übertragen, die Lambda-Schnittstellen mit entsprechenden Anmerkungen erweitern.f8f2f78a1a769c2373201027f12700e772e4e97e
- Ermöglicht die Verwendung der
@Composable
-Anmerkung für dengetValue
-Operator und kennzeichnet den generierten Getter für den Delegaten als in IR zusammensetzbar, damit er später korrekt transformiert wird. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40 - Interner Laufzeitfehler beim Erstellen behoben (
applyChanges()
sollte aufgerufen worden sein) für Inline-Funktionen.b/274786923 - Vermeiden Sie es,
ProcessCancelledException
zu erfassen, da dieses Zeichen in der IDE eine spezielle Bedeutung hat.b/274725600
Externer Beitrag
- Verbesserte Unterstützung für zusammensetzbare Funktionen in Kotlin/Native.f52b6aeed22400dd4f4a4f05559a9aa42642402c
Version 1.4.4
Version 1.4.4
22. März 2023
androidx.compose.compiler:compiler:1.4.4
, androidx.compose.compiler:compiler-daemon:1.4.4
und androidx.compose.compiler:compiler-hosted:1.4.4
werden losgelassen. Version 1.4.4 enthält diese Commits.
Fehlerkorrekturen
- Korrektur von zusammensetzbaren Inline-Lambda-Rückgaben (72172b)
- Komponierbare Funktionen dürfen
Nothing
zurückgeben (kein Fehler bei Verwendung von TODO in einer komponierbaren Funktion) 3aea8d)
Version 1.4.3
Version 1.4.3
22. Februar 2023
androidx.compose.compiler:compiler:1.4.3
wird veröffentlicht. Version 1.4.3 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Problems mit bedingten zusammensetzbaren Aufrufen in Argumenten zusammensetzbarer Aufrufe (Ie93edb)
Version 1.4.2
Version 1.4.2
8. Februar 2023
androidx.compose.compiler:compiler:1.4.2
wird veröffentlicht. Version 1.4.2 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin 1.8.10
Fehlerkorrekturen
- Füge Gruppen in den Body von nicht überspringbaren Lambdas ein, um den Fehler bei der Neuzusammensetzung zu vermeiden.
Version 1.4.1
Version 1.4.1
8. Februar 2023
androidx.compose.compiler:compiler:1.4.1
wird veröffentlicht. Version 1.4.1 enthält diese Commits.
Fehlerkorrekturen
- Die Optimierung der Funktion „Denken Sie daran?“ wurde deaktiviert, da sie zuvor einige Fehler bei der Codegenerierung verursacht hatte.
- Deaktivieren Sie die Funktion „intrinsic remember“ in Funktionen, die einen vararg-Parameter enthalten.
- Fehler beim Überspringen von Elementen in Composeable-Elementen mit Standardparametern beheben
- Fügen Sie eine defensive Fallback-Fehlermeldung hinzu, wenn die Kotlin-Kompatibilitätsprüfung fehlschlägt.
- Überspringen der Codegenerierung für Inline-Lambda entfernen
Version 1.4.0
17. Januar 2023
androidx.compose.compiler:compiler:1.4.0
wird veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
- Unterstützung für Kotlin 1.8.0
- „Intrinsisches Erinnern“ deaktiviert
- Die Datenklasse „ui tooling“
Group
hat jetzt ein FeldisInline
, das angibt, ob die Gruppe für einen Aufruf einer inline-komposierbaren Funktion bestimmt ist. WennisInline
true
ist, handelt es sich um einen Aufruf einer inline zusammensetzbaren Funktion. Der Wert kann jedoch für Aufrufe von inline-kombinierbaren Funktionen aus Modulen falsch sein, die mit einer Version des Compose-Compiler-Plug-ins kompiliert wurden, die die Informationen zur Inlinefunktion nicht generiert. ImmutableCollection
und seine persistenten Geschwister gelten jetzt als stabil.- Neuer Parameter in
AnimatedContent
für das Tool-Label - Fehlerhafte Codegenerierung für Inline-Lambdas behoben
Version 1.4.0-alpha02
11. November 2022
androidx.compose.compiler:compiler:1.4.0-alpha02
wird veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin
1.7.21
hinzugefügt
Version 1.4.0-alpha01
9. November 2022
androidx.compose.compiler:compiler:1.4.0-alpha01
wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Korrektur der Möglichkeit, vorzeitig aus Inline-komponierbaren Funktionen zurückzukehren (b/255350755)
- Fehlerkorrektur bei der Deaktivierung von Decoy, durch den die Kotlin/JS-Unterstützung in Compose beeinträchtigt wurde (6a40f8).
Version 1.3
Version 1.3.2
4. Oktober 2022
androidx.compose.compiler:compiler:1.3.2
wird veröffentlicht. Version 1.3.2 enthält diese Commits.
Neue Funktion
- Diese Version enthält ein Update auf Kotlin 1.7.20.
Version 1.3.1
7. September 2022
androidx.compose.compiler:compiler:1.3.1
wird veröffentlicht. Version 1.3.1 enthält diese Commits.
Fehlerkorrekturen
IllegalStateException
wurde behoben, da der Compose-Compiler in einigen Fällen Einheitentypen fälschlicherweise als zusammensetzbar markierte. (b/237863365)- Nutzer müssen jetzt ihre bevorzugte Kotlin-Version angeben, wenn sie die Compilerversionsprüfung unterdrücken (I9e5e2)
Version 1.3.0
10. August 2022
androidx.compose.compiler:compiler:1.3.0
wird veröffentlicht. Version 1.3.0 enthält diese Commits.
Version 1.3.0-rc02
3. August 2022
androidx.compose.compiler:compiler:1.3.0-rc02
wird veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.
Version 1.3.0-rc01
27. Juli 2022
androidx.compose.compiler:compiler:1.3.0-rc01
wird veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta01
20. Juli 2022
androidx.compose.compiler:compiler:1.3.0-beta01
wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin
1.7.10
hinzugefügt
Version 1.2
Version 1.2.0
29. Juni 2022
androidx.compose.compiler:compiler:1.2.0
wird veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Unterstützung für Kotlin 1.7.0
- In unserem Blogpost erfahren Sie mehr über unsere neue Compose-Compiler-Versionierungsstrategie.
Version 1.2.0-rc02
22. Juni 2022
androidx.compose.compiler:compiler:1.2.0-rc02
wird veröffentlicht. Version 1.2.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Generierung von zusammensetzbaren Trace-Ereignis-Codes entfernt (aosp/2127922)
Version 1.2.0-rc01
15. Juni 2022
androidx.compose.compiler:compiler:1.2.0-rc01
wird veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Version 1.2.0-beta03
1. Juni 2022
androidx.compose.compiler:compiler:1.2.0-beta03
wird veröffentlicht. Version 1.2.0-beta03 enthält diese Commits.
Version 1.2.0-beta02
18. Mai 2022
androidx.compose.compiler:compiler:1.2.0-beta02
wird veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Version 1.2.0-beta01
11. Mai 2022
androidx.compose.compiler:compiler:1.2.0-beta01
wird veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
- Dies ist die erste Betaversion von 1.2. Es gibt keine Änderungen seit der letzten Alphaversion.
Neue Funktionen
- Unterstützung für Kotlin
1.6.21
hinzugefügt
Version 1.2.0-alpha08
20. April 2022
androidx.compose.compiler:compiler:1.2.0-alpha08
wird veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.
Version 1.2.0-alpha07
6. April 2022
androidx.compose.compiler:compiler:1.2.0-alpha07
wird veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.
Version 1.2.0-alpha06
23. März 2022
androidx.compose.compiler:compiler:1.2.0-alpha06
wird veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
Version 1.2.0-alpha05
9. März 2022
androidx.compose.compiler:compiler:1.2.0-alpha05
wird veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
Version 1.2.0-alpha04
23. Februar 2022
androidx.compose.compiler:compiler:1.2.0-alpha04
wird veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Version 1.2.0-alpha03
9. Februar 2022
androidx.compose.compiler:compiler:1.2.0-alpha03
wird veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Version 1.2.0-alpha02
26. Januar 2022
androidx.compose.compiler:compiler:1.2.0-alpha02
wird veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Version 1.2.0-alpha01
12. Januar 2022
androidx.compose.compiler:compiler:1.2.0-alpha01
wird veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin
1.6.10
hinzugefügt.
Version 1.1
Version 1.1.1
23. Februar 2022
androidx.compose.compiler:compiler:1.1.1
wird veröffentlicht. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
- Fehler bei
NullPointerException
unterandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
beheben (aosp/1947059, b/206677462) - Ein Absturz, der durch den Inhalt der Zwischenablage beim Lesen aus der Zwischenablage auf Android-Geräten verursacht wurde, wurde behoben. (I06020, b/197769306)
- RTL in
LazyVerticalGrid
korrigiert (aosp/1931080, b/207510535)
Version 1.1.0
9. Februar 2022
androidx.compose.compiler:compiler:1.1.0
wird veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Stabile Unterstützung für den Overscroll-Effekt von Android 12
- Verbesserungen bei der Größe von Touch-Zielen
- Im Vergleich zu Compose 1.0 wird der Layoutbereich von Materialkomponenten erweitert, um die Richtlinien für Bedienungshilfen von Material Design für die Größe von Touch-Zielelementen einzuhalten. Der Berührungszielbereich einer Schaltfläche wird beispielsweise auf eine Mindestgröße von
48x48dp
erweitert, auch wenn Sie die Größe der Schaltfläche kleiner festlegen. Dadurch wird das Verhalten von Compose-Material mit dem von Material Design-Komponenten abgeglichen, was für ein einheitliches Verhalten sorgt, wenn Sie Ansichten und Compose kombinieren. Durch diese Änderung werden auch die Mindestanforderungen an die Barrierefreiheit von Touch-Zielen erfüllt, wenn Sie Ihre Benutzeroberfläche mit Compose Material-Komponenten erstellen. - Stabile Unterstützung für den Navigationsstreifen
- Eine Reihe zuvor experimenteller APIs wird in stabile APIs überführt
- Unterstützung für neuere Kotlin-Versionen
Version 1.1.0-rc03
26. Januar 2022
androidx.compose.compiler:compiler:1.1.0-rc03
wird veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert, um Compose Material 1.1.0-rc03 zu unterstützen
Version 1.1.0-rc02
16. Dezember 2021
androidx.compose.compiler:compiler:1.1.0-rc02
wird veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.
Abhängigkeitsupdates
- Der Compose Compiler
1.1.0-rc02
ist mit Kotlin1.6.10
kompatibel.
Version 1.1.0-rc01
15. Dezember 2021
androidx.compose.compiler:compiler:1.1.0-rc01
wird veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Änderungen an Abhängigkeiten
- Der Compose Compiler
1.1.0-rc01
ist mit Kotlin1.6.0
kompatibel. Eine kompatible
1.6.10
-Build ist über androidx.dev-SNAPSHOTs mitbuildId
8003490 verfügbar. Mit dem folgenden Abhängigkeits-Snippet werden SNAPSHOTs für den Compose-Compiler konfiguriert:Fügen Sie der Stammdatei
build.gradle
Ihres Projekts das folgende Snippet hinzu:buildscript { repositories { google() jcenter() maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' } } }
Fügen Sie der
build.gradle
-Datei Ihrer App oder Ihres Moduls, in dem Compose verwendet wird, das folgende Snippet hinzu:android { composeOptions { kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT" } }
Version 1.1.0-beta04
1. Dezember 2021
androidx.compose.compiler:compiler:1.1.0-beta04
wird veröffentlicht. Version 1.1.0-beta04 enthält diese Commits.
Neue Funktionen
- Aktualisiert für die Kompatibilität mit Kotlin
1.6.0
Version 1.1.0-beta03
17. November 2021
androidx.compose.compiler:compiler:1.1.0-beta03
wird veröffentlicht. Version 1.1.0-beta03 enthält diese Commits.
Version 1.1.0-beta02
3. November 2021
androidx.compose.compiler:compiler:1.1.0-beta02
wird veröffentlicht. Version 1.1.0-beta02 enthält diese Commits.
Version 1.1.0-beta01
27. Oktober 2021
androidx.compose.compiler:compiler:1.1.0-beta01
wird veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Version 1.1.0-alpha06
13. Oktober 2021
androidx.compose.compiler:compiler:1.1.0-alpha06
wird veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
Version 1.1.0-alpha05
29. September 2021
androidx.compose.compiler:compiler:1.1.0-alpha05
wird veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
Version 1.1.0-alpha04
15. September 2021
androidx.compose.compiler:compiler:1.1.0-alpha04
wird veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
Version 1.1.0-alpha03
1. September 2021
androidx.compose.compiler:compiler:1.1.0-alpha03
wird veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Der Compose-Compiler unterstützt jetzt ältere Versionen der Compose-Laufzeit (1.0). Vor dieser Änderung war der Compose-Compiler nur mit der Compose-Laufzeit derselben Version oder einer höheren Version kompatibel. Nach dieser Änderung ist der Compose-Compiler mit einer älteren Version der Compose-Laufzeit (1.0) kompatibel. (aosp/1796968)
- Compose
1.1.0-alpha03
wurde so aktualisiert, dass es von Kotlin1.5.30
abhängt. (I74545)
Version 1.1.0-alpha02
18. August 2021
androidx.compose.compiler:compiler:1.1.0-alpha02
wird veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
Version 1.1.0-alpha01
4. August 2021
androidx.compose.compiler:compiler:1.1.0-alpha01
wird veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
Version 1.0
Version 1.0.5
3. November 2021
androidx.compose.compiler:compiler:1.0.5
wird veröffentlicht. Version 1.0.5 enthält diese Commits.
Fehlerkorrekturen
- Ein Absturz beim Tracking von „derivedStateOf“-Instanzen wurde behoben. (aosp/1792247)
Version 1.0.4
13. Oktober 2021
androidx.compose.compiler:compiler:1.0.4
wird veröffentlicht. Version 1.0.4 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert, um von Kotlin
1.5.31
abhängig zu sein
Version 1.0.3
29. September 2021
androidx.compose.compiler:compiler:1.0.3
wird veröffentlicht. Version 1.0.3 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert, um von Kotlin
1.5.30
abhängig zu sein
Version 1.0.2
1. September 2021
androidx.compose.compiler:compiler:1.0.2
wird veröffentlicht. Version 1.0.2 enthält diese Commits.
Aktualisiert, um die Compose 1.0.2
-Version zu unterstützen. Compose 1.0.2
ist weiterhin mit Kotlin 1.5.21
kompatibel.
Version 1.0.1
4. August 2021
androidx.compose.compiler:compiler:1.0.1
wird veröffentlicht. Version 1.0.1 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert auf Kotlin
1.5.21
.
Version 1.0.0
28. Juli 2021
androidx.compose.compiler:compiler:1.0.0
wird veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von 1.0.0
Dies ist die erste stabile Version von Compose. Weitere Informationen findest du im offiziellen Compose-Release-Blog.
Version 1.0.0-rc02
14. Juli 2021
androidx.compose.compiler:compiler:1.0.0-rc02
wird veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Version 1.0.0-rc01
1. Juli 2021
androidx.compose.compiler:compiler:1.0.0-rc01
wird veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
Version 1.0.0-beta09
16. Juni 2021
androidx.compose.compiler:compiler:1.0.0-beta09
wird veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.
Version 1.0.0-beta08
2. Juni 2021
androidx.compose.compiler:compiler:1.0.0-beta08
wird veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.
Version 1.0.0-beta07
18. Mai 2021
androidx.compose.compiler:compiler:1.0.0-beta07
wird veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.
Version 1.0.0-beta06
5. Mai 2021
androidx.compose.compiler:compiler:1.0.0-beta06
wird veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.
Version 1.0.0-beta05
21. April 2021
androidx.compose.compiler:compiler:1.0.0-beta05
wird veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.
Version 1.0.0-beta04
7. April 2021
androidx.compose.compiler:compiler:1.0.0-beta04
wird veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.
Version 1.0.0-beta03
24. März 2021
androidx.compose.compiler:compiler:1.0.0-beta03
wird veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
Version 1.0.0-beta02
10. März 2021
androidx.compose.compiler:compiler:1.0.0-beta02
wird veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Version 1.0.0-beta01
24. Februar 2021
androidx.compose.compiler:compiler:1.0.0-beta01
wird veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Dies ist die erste Version von Compose 1.0.0 Beta.
Version 1.0.0-alpha12
10. Februar 2021
androidx.compose.compiler:compiler:1.0.0-alpha12
wird veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
Version 1.0.0-alpha11
28. Januar 2021
androidx.compose.compiler:compiler:1.0.0-alpha11
wird veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
Version 1.0.0-alpha10
13. Januar 2021
androidx.compose.compiler:compiler:1.0.0-alpha10
wird veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
Version 1.0.0-alpha09
16. Dezember 2020
androidx.compose.compiler:compiler:1.0.0-alpha09
wird veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
Version 1.0.0-alpha08
2. Dezember 2020
androidx.compose.compiler:compiler:1.0.0-alpha08
wird veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Version 1.0.0-alpha07
11. November 2020
androidx.compose.compiler:compiler:1.0.0-alpha07
wird veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
Neue Funktionen
- Stabilitätsableitung und -weitergabe Das Compose-Compiler-Plug-in analysiert die kompilierten Typen, um zu ermitteln, ob sie für bestimmte Optimierungen durch die Laufzeit geeignet sind. Dieses abgeleitete Ergebnis wird dann als Metadaten in die Klasse eingefügt, damit es vom Compiler in anderen Modulen verwendet werden kann. Außerdem werden die Laufzeitergebnisse dieser Inferenzen in Metadaten übergeben, die während der Zusammenstellung an zusammensetzbare Aufrufe übergeben werden. Dies erforderte ein anderes Metadatenprotokoll für zusammensetzbare Funktionen. Zusammensetzbare Funktionen, die mit dem Compiler „alpha07“ kompiliert wurden, sind also nicht binärkompatibel mit zusammensetzbaren Funktionen, die mit einer früheren Compilerversion kompiliert wurden. (aosp/1431988)
Version 1.0.0-alpha06
28. Oktober 2020
androidx.compose.compiler:compiler:1.0.0-alpha06
wird veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
Version 1.0.0-alpha05
14. Oktober 2020
androidx.compose.compiler:compiler:1.0.0-alpha05
wird veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Version 1.0.0-alpha04
1. Oktober 2020
androidx.compose.compiler:compiler:1.0.0-alpha04
wird veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
androidx.compose:compose-compiler
wurde in androidx.compose.compiler:compiler
umstrukturiert.
Dies ist die erste Version in der neuen Gruppe.