Compose-Compiler
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
7. August 2024 | 1.5.15 | - | – | - |
Struktur
Compose ist eine Kombination aus 7 Maven-Gruppen-IDs innerhalb von androidx
. Jede Gruppe enthält eine bestimmte Teilmenge von Funktionen mit jeweils eigenen Versionshinweisen.
In dieser Tabelle werden die Gruppen erläutert und es sind Links zu den jeweiligen Versionshinweisen enthalten.
Gruppe | Beschreibung |
---|---|
compose.animation | Animationen in Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern. |
compose.compiler | @Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in ermöglichen |
compose.foundation | Mit den einsatzbereiten Bausteinen können Sie Jetpack Compose-Anwendungen schreiben und die Grundlage erweitern, um eigene Designsystemkomponenten zu erstellen. |
compose.material | Jetpack Compose-UIs mit einsatzbereiten Material Design-Komponenten erstellen Dies ist der Einstiegspunkt auf höherer Ebene für Compose. Er soll Komponenten bereitstellen, die den auf www.material.io beschriebenen Komponenten entsprechen. |
compose.material3 | Mit Material Design 3-Komponenten, der nächsten Generation von Material Design, können Sie Jetpack Compose-UIs erstellen. Material 3 umfasst aktualisierte Designs und Komponenten sowie Material You-Personalisierungsfunktionen wie dynamische Farben. Es ist auf den neuen visuellen Stil und die System-UI von Android 12 abgestimmt. |
compose.runtime | Grundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Core-Laufzeit für das Compose Compiler-Plug-in. |
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 benötigten 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. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken 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 für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
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 veröffentlicht. Version 1.5.15 enthält diese Commits.
- Diese Compilerversion ist für Kotlin 1.9.25 vorgesehen.
Version 1.5.14
14. Mai 2024
androidx.compose.compiler:compiler:1.5.14
und androidx.compose.compiler:compiler-hosted:1.5.14
werden veröffentlicht. Version 1.5.14 enthält diese Commits.
Diese Compilerversion ist für Kotlin 1.9.24 vorgesehen.
Fehlerkorrekturen
- Achten Sie darauf, dass der Inline-Textkörper gerendert wird, 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 veröffentlicht. 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
- Binäre Kompatibilität für
@Composable
-Funktionen mit Wertklassenparametern korrigiert, die einen Standardwert haben und einen nicht primitiven Wert umschließen. (I89465 - Upstreamed fixes for JS and Native compilation from Compose multiplatform. Weitere 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 veröffentlicht. Version 1.5.12 enthält diese Commits.
Fehlerkorrekturen
- Behebt ein Problem mit der inkrementellen Kompilierung mit Kotlin 1.9.23. (Ifca55)
- Beheben Sie nicht nullable 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 veröffentlicht. 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 auf Version 1.7.0-alpha03 oder höher der Laufzeitumgebung ausgerichtet wird.Wenn Sie
startReplaceGroup
anstelle vonstartReplaceableGroup
aufrufen, kann die Laufzeit Änderungen effizienter erkennen. Dies kann sich jedoch auf die Reihenfolge auswirken, in der Änderungen vonComposer
erkannt und anApplier
gesendet werden. Dies kann zu geringfügigen Verhaltensänderungen 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
- Das Problem, dass verschachtelte externe generische Typen als „Instabil“ abgeleitet werden, wurde behoben. (I3437f, b/327643787)
- Unterstützung mehrerer Stabilitätskonfigurationsdateien. (I8db14, b/325326744)
- Der Compose-Compiler transformiert überschriebene Funktionen jetzt korrekt, indem er rekursiv durch Basisklassen und Überschreibungen geht. (I2c9f9, b/316196500)
- Achten Sie darauf, dass bei der Memoization von Funktionsreferenzen nicht versucht wird, implizite übergeordnete Elemente lokaler Deklarationen zu erfassen, wenn sie nicht direkt verwendet werden. (Ib1267)
- Die Codeerstellung für zusammensetzbare Crossinline-Lambdas wurde korrigiert. Dieser Fehler ist ohne aktivierte „nonSkippingGroupOptimization“ schwer zu reproduzieren. (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 veröffentlicht. Version 1.5.10 enthält diese Commits.
Fehlerkorrekturen
- Unterstützung von Live-Literalen in Init-Blöcken (b/320397488)
- Mit dem Dispatcher-Parameter prüfen, ob sich die Funktion in der 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 veröffentlicht. Version 1.5.9 enthält diese Commits.
Fehlerkorrekturen
- Composable-Aufrufe im Initialisierer für anonyme Objekte korrigieren (b/320261458, 96315c)
- Rekursive lokale Deklarationen als Erfassungen zählen. (b/318745941, e7b4b0)
- Das Verhalten von „Intrinsic remember“ in Bezug auf Java-Methodenreferenzen wird korrigiert, indem .changed für Funktionstypen mit „Intrinsic remember“ erzwungen wird. (b/319810819, 77128e)
- Es wurde eine experimentelle Optimierung hinzugefügt, mit der die Gruppen um Funktionen entfernt werden, die nicht übersprungen werden können, z. B. Funktionen, die explizit als
@NonSkippableComposable
gekennzeichnet sind, und Funktionen, die implizit nicht übersprungen werden können, z. B. Inline-Funktionen und Funktionen, die einen Wert zurückgeben, der nicht vom Typ „Unit“ ist, 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 veröffentlicht. Version 1.5.8 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin 1.9.22
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem beim Erstellen mit Java21 Ausnahmen im Compose-Compiler-Build ausgelöst wurden. Nutzer, die Compose Compiler über Google Maven verwenden (d.h. ihn nicht selbst erstellen), waren von diesem Fehler nie betroffen. (b/316644294)
- Ein Fehler wurde behoben, bei dem für einige Aufrufer von nicht inline eingefügten Lambdas der Fehler
COMPOSABLE_EXPECTED
gemeldet wurde. (b/309364913) - Es wurde ein Kompilierungsfehler für Standardparameter in offenen Funktionen hinzugefügt (bisher war dies nur für abstrakte Funktionen eingeschränkt). Compose unterstützt derzeit nicht das Ersetzen von Standardparametern aus überschriebenen Funktionen. Das Überschreiben einer zusammensetzbaren Funktion mit Standardparametern ist zur Laufzeit fehlgeschlagen. Verwenden Sie
@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE")
, um die Funktion zu unterdrücken. Wenn Sie eine solche Funktion überschreiben, ohne einen Standardwert für den Parameter anzugeben, kommt es jedoch zu einem Laufzeitfehler.(b/317490247) - Es wurde ein Fehler im intrinsischen Speicher behoben, der die korrekte Weitergabe von Werten verhindert hat. (b/316327367)
Externe Beiträge
- 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 veröffentlicht. Version 1.5.7 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Compose-Laufzeitabsturzes, wenn der Schlüsselparameter
remember()
eine zusammensetzbare Funktion aufruft (b/315855015) - Behebung eines Compose-Laufzeitabsturzes bei Verwendung von
return@
. (b/315821171) - Vermeiden Sie die Verwendung absoluter Pfade in Memoization-Schlüsseln, um den Build-Cache besser nutzen zu können. (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 veröffentlicht. Version 1.5.6 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin 1.9.21
Fehlerkorrekturen
- Aktivieren Sie „intrinsic remember“. Der Compiler transformiert „remember“ im Compose-Compiler-Plug-in und ersetzt
.equals
-Vergleiche durch int-Vergleiche der Parametermetadaten für stabile Parameter. Dadurch werden weniger Slots verwendet und weniger Vergleiche zur Laufzeit durchgeführt. Die Option kann durch Angabe des Compiler-Plug-in-Arguments -Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false
deaktiviert werden. (If675f) - Die Memoization von angepassten Funktionsreferenzen und Inline-Argumenten wurde korrigiert. (b/312738720)
- Gruppen beim Beenden des Inline-Funktionsaufrufs realisieren (b/312242547)
Externe Beiträge
- Behebung eines Laufzeitabsturzes in k/native und k/wasm aufgrund einer fehlenden return-Anweisung in Composable-Funktionen, wenn es sich um die letzte Anweisung handelt und eine Nullkonstante 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 veröffentlicht. Version 1.5.5 enthält diese Commits.
Fehlerkorrekturen
- Behebt einen Absturz bei der Suche nach überschriebenen zusammensetzbaren Typen (Ib6d2c, b/297665426)
stabilityConfigurationPath
zu bekannten Parametern hinzugefügt (ein Fehler hatte zuvor die Verwendung des Flags für die Konfigurationsdatei verhindert). (b/309765121)- Korrekturen für Memoization (I081d1, I4d7bf)
- Korrektur der Neukomposition durch Berücksichtigung des unsicheren Parameterstatus im intrinsischen Remember (b/263402091)
- Debugging-Zeileninformationen für intrinsisches Erinnern korrigieren (Ic8cf5)
- Absturz (IR-Senkung fehlgeschlagen) bei der Suche nach überschriebenen zusammensetzbaren Typen zur Kompilierungszeit behoben (b/297665426)
Externe Beiträge
- Stabile Funktionsreferenzen mit Argumenten zwischenspeichern (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 veröffentlicht. Version 1.5.4 enthält diese Commits.
Abhängigkeitsupdates
- Der Compose-Compiler ist jetzt mit Kotlin 1.9.20 kompatibel
Neue Funktionen
- Es wurde eine experimentelle Option zum Aktivieren des starken Überspringen-Modus hinzugefügt. Im starken Überspringmodus können Composables mit instabilen Parametern übersprungen werden. Außerdem werden Lambdas mit instabilen Erfassungen zwischengespeichert. Diese Funktion befindet sich in der Testphase und ist noch nicht für den Einsatz in der Produktion bereit. (22421e)
- Fügen Sie ein Flag hinzu, um Quell-/Trace-Informationen zu aktivieren/deaktivieren. (4d45f09)
- Die Stabilität externer Klassen kann über eine Konfigurationsdatei konfiguriert werden. (If40eb)
Fehlerkorrekturen
- Behebung des vorzeitigen Beendens von zusammensetzbaren Funktionen, wenn keine Quellinformationen erhoben werden. (fe6267)
- Fehlerbehebung für „Weiter aus Composable-Funktionen“. (948362)
- Die Auflösung wird korrigiert, wenn zusammensetzbare Funktionen innerhalb eines Funktionsaufrufs aufgerufen werden, der mehrere Überladungen hat, die vom Rückgabetyp des Ausdrucks abhängen. (2d36d0)
- Memoization wird korrigiert, wenn die Funktionsreferenz keinen Dispatch-Empfänger hat. (fc2326)
- Der Dirty Check wurde korrigiert, der in einigen Situationen die Neuzusammenstellung von Lambdas verhindert hat. (db3699)
- Stabilität beim inkrementellen Kompilieren über Module hinweg wurde verbessert. (7d3e127)
- Beschränken Sie den Umfang von
@DontMemoize
auf Lambda-Ausdrücke. (7a7fa52) - Es wurde ein Fehler behoben, bei dem Variablen nicht richtig erfasst wurden, wenn eine zusammensetzbare Funktionsschnittstelle als Lambda verwendet wurde. (5ae3556)
Externe Beiträge
- Symbol für strukturelle Gleichheit für numerischen Vergleich und Nullvergleich verwenden (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
sind veröffentlicht. 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
sind veröffentlicht. Version 1.5.2 enthält diese Commits.
Fehlerkorrekturen
- Fügen Sie Zeilennummern für return-Anweisungen in zusammensetzbare Funktionen ein, die Konstanten zurückgeben. (I42d89)
- Ein Speicherleck wurde behoben, das durch den Wechsel zum neuen Compiler-Plug-in-Einstiegspunkt verursacht wurde. (4f0a101)
- Die Transformation von nicht zusammensetzbaren Funktionsschnittstellen im Compose-Compiler wird beendet. Dadurch werden funktionale Schnittstellen genauso wie Lambdas behandelt, einschließlich der Memoization-Regeln. (28b3ce9)
- Verwenden Sie den Vararg-Argumenttyp, um die Stabilität am Aufrufort 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
sind veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurden Markierungen für Kompositions-Trace-Ereignisse in
@ReadOnlyComposable
-Funktionen mit frühen Rückgaben korrigiert, die zu beschädigten 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
sind veröffentlicht. 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 mit K2 noch nicht unterstützt und werden in zukünftigen Versionen des Compilers eingeführt.
Wichtige Änderungen seit Version 1.4.0
- Die Kotlin-Version wurde auf 1.9.0 aktualisiert.
- Benannte Argumente für
@Composable
-Lambda-Aufrufe sind veraltet. Diese Funktion basiert auf internen Compiler-APIs und wird von K2 nicht unterstützt. - Es wurde eine Diagnose hinzugefügt, um die
@Composable
-Annotation bei erwarteten/tatsächlichen Anrufen zu überprüfen. Beide Deklarationen müssen übereinstimmende Annotationen 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
sind veröffentlicht. Version 1.4.8 enthält diese Commits.
Neue Funktionen
- Die Zielversion des Kotlin-Compilers wurde auf 1.8.22 aktualisiert.
Fehlerkorrekturen
- Die Fehlermeldung für
@Composable
-Überschreibungen wurde verbessert. Jetzt wird korrekt auf die Abweichung bei den Anmerkungen hingewiesen. - Warnung vor redundanter
@Composable
-Annotation für 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
sind veröffentlicht. 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 Strafen für das automatische Boxing anfallen.
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
sind veröffentlicht. Version 1.4.6 enthält diese Commits.
Fehlerkorrekturen
- Der Compose-Compiler hängt jetzt von Java11 ab (anstelle von Java17, das für Compose-Compiler-Version 1.4.5 erforderlich ist), um Nutzer, die noch ältere Java-Versionen verwenden, besser zu unterstützen.
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
sind veröffentlicht. 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 mit einer weiteren Version (1.4.6) nachziehen, um Nutzer, die ältere Java-Versionen verwenden, besser zu unterstützen.
Neue Funktionen
Unterstützung für Kotlin 1.8.20
Fehlerkorrekturen
- Die Anforderung, den zusammensetzbaren Invoke-Operator zu überschreiben, wird auf Klassen und Schnittstellen übertragen, die Lambda-Schnittstellen mit entsprechenden Annotationen erweitern.f8f2f78a1a769c2373201027f12700e772e4e97e
- Ermöglicht die Verwendung der Annotation
@Composable
für den OperatorgetValue
und kennzeichnet den generierten Getter für das Delegat als zusammensetzbar in IR, damit er später richtig transformiert wird. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40 - Internen Compose-Laufzeitfehler (Expected
applyChanges()
to have been called) für Inline-Funktionen behoben.b/274786923 - Vermeiden Sie die Erfassung von
ProcessCancelledException
, da dieses Zeichen in der IDE eine besondere Bedeutung hat.b/274725600
Externe Beiträge
- Verbesserte Unterstützung für Composable-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
sind veröffentlicht. Version 1.4.4 enthält diese Commits.
Fehlerkorrekturen
- Rückgaben von Inline-Lambdas für Composables korrigieren (72172b)
- Zulassen, dass Composables
Nothing
zurückgeben (kein Fehler generieren, wenn TODO in einer Composable-Funktion verwendet wird) 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
- Es wurden bedingte zusammensetzbare Aufrufe in Argumenten von zusammensetzbaren Aufrufen korrigiert (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ügen Sie Gruppen in den Hauptteil von nicht überspringbaren Lambdas ein, um den Fehler bei der Neuzusammenstellung 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 für intrinsische Erinnerungen wurde deaktiviert, da sie zuvor einige Fehler bei der Codeerstellung verursacht hatte.
- Deaktivieren Sie die intrinsische Erinnerung in Funktionen, die einen Vararg-Parameter enthalten.
- Fehlerhaftes Überspringen in Composables mit Standardparametern beheben
- Füge eine defensive Fallback-Fehlermeldung hinzu, wenn die Prüfung der Kotlin-Kompatibilität fehlschlägt.
- Entfernen der Überspringen-Codegenerierung aus Inline-Lambda
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
- „Gemerkte Informationen“ deaktiviert
- Die Datenklasse für UI-Tools
Group
hat jetzt ein Feld,isInline
, das angibt, ob die Gruppe für einen Aufruf einer Inline-Composable-Funktion bestimmt ist. WennisInline
gleichtrue
ist, erfolgt der Aufruf an eine Inline-Composable-Funktion. Der Wert kann jedoch für Aufrufe von Inline-Composable-Funktionen aus Modulen, die mit einer Version des Compose-Compiler-Plug-ins kompiliert werden, die die Inline-Funktionsinformationen nicht generiert, „false“ sein. ImmutableCollection
und die entsprechenden Persistent-Varianten gelten jetzt als stabil.- Neuer Parameter in
AnimatedContent
für das Tooling-Label - Fehlerhafte Codegenerierung für Inline-Lambda 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
- Fehlerkorrektur bei der Möglichkeit, frühzeitig aus Inline-Composable-Funktionen zurückzukehren (b/255350755)
- Es wurde ein Fehler bei der Reduzierung von Decoys behoben, durch den die Kotlin/JS-Unterstützung in Compose nicht mehr funktionierte (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
- Der Fehler
IllegalStateException
wurde behoben. In bestimmten Fällen hat der Compose-Compiler fälschlicherweise Einheitstypen als zusammensetzbar gekennzeichnet. (b/237863365) - Nutzer müssen jetzt ihre bevorzugte Kotlin-Version angeben, wenn sie die Compiler-Versionsprü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 New Compose Compiler Versioning strategy (Neue Strategie für die Versionsverwaltung des Compose-Compilers) wird die neue Strategie für die Versionsverwaltung des Compose-Compilers erläutert.
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
- Entfernung der generierten Composable-Trace-Ereignis-Codes (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. Seit der letzten Alphaversion hat sich nichts geändert.
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 Zwischenablageinhalte beim Lesen aus der Zwischenablage unter Android verursacht wurde, wurde behoben. (I06020, b/197769306)
- RTL-Problem in
LazyVerticalGrid
behoben (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 Berührungszielen
- Im Vergleich zu Compose 1.0 wird der Layoutbereich von Material-Komponenten erweitert, um den Richtlinien für Bedienungshilfen in Material Design für die Größe von Berührungszielen zu entsprechen. 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 Compose Material an das Verhalten von Material Design Components angepasst. So ist das Verhalten konsistent, wenn Sie Views und Compose mischen. Diese Änderung sorgt auch dafür, dass beim Erstellen der Benutzeroberfläche mit Compose Material-Komponenten die Mindestanforderungen für die Barrierefreiheit von Touch-Zielen erfüllt werden. - Stabile Unterstützung für Navigation Rail
- Eine Reihe zuvor experimenteller APIs wird auf stabil umgestellt.
- Unterstützung für neuere Versionen von Kotlin
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 zur Unterstützung von Compose Material 1.1.0-rc03
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. Ein kompatibler
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
für Ihr Projekt das folgende Snippet hinzu:buildscript { repositories { google() jcenter() maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' } } }
Fügen Sie der Datei
build.gradle
für Ihre App oder Ihr Modul, die bzw. das Compose verwendet, 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, um mit Kotlin
1.6.0
kompatibel zu sein
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 späteren 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 aktualisiert und hängt jetzt von Kotlin1.5.30
ab. (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 zur Unterstützung der Compose-Version 1.0.2
. 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
- Die Abhängigkeit wurde auf Kotlin
1.5.21
aktualisiert.
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 Version 1.0.0
Dies ist die erste stabile Version von Compose. Weitere Informationen finden Sie 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ätsinferenz und -weitergabe: Das Compose-Compiler-Plug-in analysiert die kompilierten Typen, um abzuleiten, ob sie für bestimmte Optimierungen durch die Laufzeit infrage kommen. Dieses abgeleitete Ergebnis wird dann als Metadaten in die Klasse aufgenommen, damit es vom Compiler in anderen Modulen verwendet werden kann. Außerdem wird das Laufzeitergebnis dieser Inferenz in Metadaten übergeben, die während der Komposition an zusammensetzbare Aufrufe übergeben werden. Dies erforderte ein anderes Metadatenprotokoll für zusammensetzbare Funktionen. Das bedeutet, dass mit dem Alpha07-Compiler kompilierte zusammensetzbare Funktionen nicht binärkompatibel mit zusammensetzbaren Funktionen sind, 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
umgestaltet.
Dies ist die erste Version in der neuen Gruppe.