Compose-Compiler
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 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 einzelnen Versionshinweisen enthalten.
| Gruppe | Beschreibung |
|---|---|
| compose.animation | Animationen in Jetpack Compose-Anwendungen erstellen, um die User Experience zu verbessern |
| compose.compiler | @Zusammensetzbare 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 Foundation-Bibliothek 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 wurde entwickelt, um Komponenten bereitzustellen, die den auf www.material.io beschriebenen Komponenten entsprechen. |
| compose.material3 | Jetpack Compose-UIs mit Material Design 3-Komponenten erstellen – der nächsten Generation von Material Design. Material 3 umfasst aktualisierte Designs und Komponenten sowie Material You-Personalisierungsfunktionen wie dynamische Farben und 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 unter Google-Repository bei Maven.
Fügen Sie die Abhängigkeiten für die benötigten Artefakte in der Datei build.gradle für Ihre App oder Ihr Modul 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. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.
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 sind 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 sind 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 auch dann 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 sind 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
- Die binäre Kompatibilität für
@Composable-Funktionen mit Wertklassenparametern, die einen Standardwert haben und einen nicht primitiven Wert umschließen, wurde korrigiert. (I89465 - Upstreamed-Korrekturen für die JS- und Native-Kompilierung aus 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 sind veröffentlicht. Version 1.5.12 enthält diese Commits.
Fehlerkorrekturen
- Behebt ein Problem mit der inkrementellen Kompilierung mit Kotlin 1.9.23. (Ifca55)
- Nicht nullable Typen in Wertparametern für nicht primitive Inline-Klassen korrigieren (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 sind veröffentlicht. Version 1.5.11 enthält diese Commits.
Hinweise
Ab dieser Version ruft der Compiler jetzt
startReplaceGroupanstelle vonstartReplacableGroupauf, wenn ein Modul mit einer Laufzeit kompiliert wird, die diese Methode enthält.startReplaceGroupwurde in der Laufzeit in Compose Runtime1.7.0-alpha03eingeführt. Aufrufe vonstartRestartGroupwerden nur generiert, wenn die Laufzeitversion 1.7.0-alpha03 oder höher ist.Wenn Sie
startReplaceGroupanstelle vonstartReplaceableGroupaufrufen, kann die Laufzeit Änderungen effizienter erkennen. Dies kann sich jedoch auf die Reihenfolge auswirken, in der Änderungen vonComposererkannt und anAppliergesendet werden. Dies kann zu geringfügigen Verhaltensänderungen führen, wenn einAppliervon 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 für mehrere Stabilitätskonfigurationsdateien (I8db14, b/325326744)
- Der Compose-Compiler transformiert überschriebene Funktionen jetzt korrekt, indem er rekursiv durch Basisklassen/Ü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 Codegenerierung für zusammensetzbare Crossinline-Lambdas wurde korrigiert. Ohne aktivierte „nonSkippingGroupOptimization“ ist es schwierig, diesen Fehler 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 sind 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 sind 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
@NonSkippableComposablegekennzeichnet sind, und Funktionen, die implizit nicht übersprungen werden können, z. B. Inline-Funktionen und Funktionen, die einen Nicht-Unit-Wert wierememberzurückgeben. - Diese Optimierung kann aktiviert werden, indem die Plug-in-Option
-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=truean 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 sind 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 vom Compose-Compiler ausgegeben wurden. Nutzer, die den Compose-Compiler von 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_EXPECTEDgemeldet 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 schlug zur Laufzeit fehl. 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, führt dies jedoch zu einem Laufzeitfehler.(b/317490247) - Ein Fehler im intrinsischen Remember wurde behoben, der die korrekte Weitergabe von Werten verhindert hat. (b/316327367)
Externer Beitrag
- Tippfehler in der Dokumentation korrigieren. (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 sind veröffentlicht. Version 1.5.7 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Compose-Laufzeitabsturzes, wenn mit dem Schlüsselparameter
remember()eine zusammensetzbare Funktion aufgerufen wird (b/315855015) - Behebung eines Laufzeitabsturzes bei Compose, wenn
return@verwendet wird. (b/315821171) - Vermeiden Sie die Verwendung absoluter Pfade in Memoization-Schlüsseln, da so der Build-Cache besser genutzt werden kann. (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 sind 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“. Die Compiler-Transformation inlines „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 zur Laufzeit weniger Vergleiche durchgeführt. Die Option kann durch Angabe des Compiler-Plug-in-Arguments -Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=falsedeaktiviert werden. (If675f) - Die Memoization von angepassten Funktionsreferenzen und Inline-Argumenten wurde korrigiert. (b/312738720)
- Gruppen beim Beenden des Inline-Funktionsaufrufs realisieren (b/312242547)
Externer Beitrag
- Behebung des Absturzes der k/native- und k/wasm-Laufzeit aufgrund einer fehlenden return-Anweisung in zusammensetzbaren 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 sind veröffentlicht. Version 1.5.5 enthält diese Commits.
Fehlerkorrekturen
- Behebt einen Absturz bei der Suche nach überschriebenen zusammensetzbaren Typen (Ib6d2c, b/297665426)
stabilityConfigurationPathwurde zu den bekannten Parametern hinzugefügt. Zuvor wurde die Verwendung des Flags für die Konfigurationsdatei durch einen Fehler 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 die intrinsische Erinnerung korrigieren (Ic8cf5)
- Absturz behoben (IR-Senkung fehlgeschlagen) bei der Suche nach überschriebenen zusammensetzbaren Typen zur Kompilierzeit (b/297665426)
Externer Beitrag
- 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 sind 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
- Eine experimentelle Option zum Aktivieren des starken Überspringen-Modus wird 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- und Trace-Informationen zu aktivieren/deaktivieren. (4d45f09)
- Die Stabilität externer Klassen kann über eine Konfigurationsdatei konfiguriert werden. (If40eb)
Fehlerkorrekturen
- Behebung des Problems, dass die Ausführung von zusammensetzbaren Funktionen vorzeitig beendet wird, wenn keine Quellinformationen erhoben werden. (fe6267)
- Fehlerbehebung für „Fortsetzen“ aus zusammensetzbaren Funktionen (948362)
- Die Auflösung wird korrigiert, wenn zusammensetzbare Funktionen aus einem Funktionsaufruf 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 Neuzusammensetzung von Lambdas verhindert hat. (db3699)
- Stabilität beim inkrementellen Kompilieren über Module hinweg wurde verbessert. (7d3e127)
- Beschränken Sie den Umfang von
@DontMemoizeauf 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)
Externer Beitrag
- Symbol für strukturelle Gleichheit für numerischen und Null-Vergleich 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
- Kotlin-Version 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 funktionalen Schnittstellen im Compose-Compiler wird eingestellt. 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 „expect“-/„actual“-Aufrufen 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 Diskrepanz bei der Annotation hingewiesen. - Warnung vor redundanten
@Composable-Annotationen 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
@Composablefür den OperatorgetValueund kennzeichnet den generierten Getter für das Delegat als zusammensetzbar in IR, damit er später korrekt transformiert wird. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40 - Internen Compose-Laufzeitfehler (Es wurde erwartet, dass
applyChanges()aufgerufen wurde) für Inlinefunktionen behoben.b/274786923 - Vermeiden Sie die Erfassung von
ProcessCancelledException, da dieses Zeichen in der IDE eine besondere 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 sind veröffentlicht. Version 1.4.4 enthält diese Commits.
Fehlerkorrekturen
- Fehlerbehebung bei Inline-Lambda-Rückgaben für Composables (72172b)
- Zulassen, dass Composables
Nothingzurü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 ist 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 ist 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 Neuzusammensetzung zu vermeiden.
Version 1.4.1
Version 1.4.1
8. Februar 2023
androidx.compose.compiler:compiler:1.4.1 ist veröffentlicht. Version 1.4.1 enthält diese Commits.
Fehlerkorrekturen
- Die Optimierung der intrinsischen Erinnerung wurde deaktiviert, da sie zuvor einige Fehler bei der Codeerstellung verursacht hatte.
- Deaktivieren Sie die intrinsische Erinnerung in Funktionen, die einen Vararg-Parameter enthalten.
- Falsches Überspringen in Composables mit Standardparametern beheben
- Füge eine defensive Fallback-Fehlermeldung hinzu, wenn die Prüfung der Kotlin-Kompatibilität fehlschlägt.
- Das Überspringen der Codegenerierung aus Inline-Lambda entfernen
Version 1.4.0
17. Januar 2023
androidx.compose.compiler:compiler:1.4.0 ist 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 UI-Tooling-Datenklasse
Grouphat jetzt das FeldisInline, das angibt, ob die Gruppe für einen Aufruf einer Inline-Composable-Funktion bestimmt ist. WennisInlinegleichtrueist, handelt es sich beim Aufruf um eine Inline-Composable-Funktion. Der Wert kann jedoch „false“ für Aufrufe von Inline-Composable-Funktionen sein, die aus Modulen stammen, die mit einer Version des Compose-Compiler-Plug-ins kompiliert wurden, die keine Informationen zur Inline-Funktion generiert. ImmutableCollectionund die zugehörigen Persistent-Varianten gelten jetzt als stabil.- Neuer Parameter in
AnimatedContentfü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 ist veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin
1.7.21hinzugefügt
Version 1.4.0-alpha01
9. November 2022
androidx.compose.compiler:compiler:1.4.0-alpha01 ist veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Problem behoben: Frühe Rückgabe aus Inline-Composable-Funktionen möglich (b/255350755)
- Fehler bei der Senkung von Decoy behoben, der den Kotlin/JS-Support in Compose unterbrochen hat (6a40f8).
Version 1.3
Version 1.3.2
4. Oktober 2022
androidx.compose.compiler:compiler:1.3.2 ist 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 ist veröffentlicht. Version 1.3.1 enthält diese Commits.
Fehlerkorrekturen
- Der Fehler
IllegalStateExceptionwurde behoben. In bestimmten Fällen hat der Compose-Compiler Einheitstypen fälschlicherweise 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 ist 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 ist 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 ist 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 ist veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin
1.7.10hinzugefügt
Version 1.2
Version 1.2.0
29. Juni 2022
androidx.compose.compiler:compiler:1.2.0 ist 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) erfahren Sie mehr über die neue Strategie für die Versionsverwaltung des Compose-Compilers.
Version 1.2.0-rc02
22. Juni 2022
androidx.compose.compiler:compiler:1.2.0-rc02 ist veröffentlicht. Version 1.2.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Entfernung der generierten Trace-Ereignis-Composable-Funktionen (aosp/2127922)
Version 1.2.0-rc01
15. Juni 2022
androidx.compose.compiler:compiler:1.2.0-rc01 ist 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 ist 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 ist 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 ist 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.21hinzugefügt
Version 1.2.0-alpha08
20. April 2022
androidx.compose.compiler:compiler:1.2.0-alpha08 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin
1.6.10hinzugefügt.
Version 1.1
Version 1.1.1
23. Februar 2022
androidx.compose.compiler:compiler:1.1.1 ist veröffentlicht. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
- Fehler bei
NullPointerExceptioninandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayListkorrigieren (aosp/1947059, b/206677462) - Ein Absturz wurde behoben, der durch Zwischenablageinhalte beim Lesen aus der Zwischenablage unter Android verursacht wurde. (I06020, b/197769306)
- RTL in
LazyVerticalGridkorrigiert (aosp/1931080, b/207510535)
Version 1.1.0
9. Februar 2022
androidx.compose.compiler:compiler:1.1.0 ist 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 in Android 12
- Verbesserungen bei der Größe von Berührungszielbereichen
- Im Vergleich zu Compose 1.0 wird der Layoutbereich von Material-Komponenten erweitert, um die Richtlinien für Bedienungshilfen von Material Design für die Größe von Berührungszielen zu erfüllen. Der Berührungszielbereich einer Schaltfläche wird beispielsweise auf eine Mindestgröße von
48x48dperweitert, auch wenn Sie die Größe der Schaltfläche kleiner festlegen. So wird Compose Material an das gleiche Verhalten von Material Design-Komponenten angepasst und bietet ein einheitliches Verhalten, 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 Berührungszielbereichen erfüllt werden. - Stabile Unterstützung für Navigation Rail
- Eine Reihe von zuvor experimentellen APIs wird als stabil eingestuft.
- Unterstützung für neuere Versionen von Kotlin
Version 1.1.0-rc03
26. Januar 2022
androidx.compose.compiler:compiler:1.1.0-rc03 ist 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 ist veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.
Abhängigkeitsupdates
- Der Compose-Compiler
1.1.0-rc02ist mit Kotlin1.6.10kompatibel.
Version 1.1.0-rc01
15. Dezember 2021
androidx.compose.compiler:compiler:1.1.0-rc01 ist veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Änderungen an Abhängigkeiten
- Der Compose-Compiler
1.1.0-rc01ist mit Kotlin1.6.0kompatibel. Ein kompatibler
1.6.10-Build ist über androidx.dev-SNAPSHOTs mitbuildId8003490 verfügbar. Mit dem folgenden Abhängigkeitssnippet werden SNAPSHOTs für den Compose-Compiler konfiguriert:Fügen Sie der Stammdatei
build.gradleIhres Projekts den folgenden Snippet hinzu:buildscript { repositories { google() jcenter() maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' } } }Fügen Sie das folgende Snippet der
build.gradle-Datei für Ihre App oder Ihr Modul hinzu, in der Compose verwendet wird:android { composeOptions { kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT" } }
Version 1.1.0-beta04
1. Dezember 2021
androidx.compose.compiler:compiler:1.1.0-beta04 ist veröffentlicht. Version 1.1.0-beta04 enthält diese Commits.
Neue Funktionen
- Aktualisiert, um mit Kotlin
1.6.0kompatibel zu sein
Version 1.1.0-beta03
17. November 2021
androidx.compose.compiler:compiler:1.1.0-beta03 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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-alpha03wurde aktualisiert und hängt jetzt von Kotlin1.5.30ab. (I74545)
Version 1.1.0-alpha02
18. August 2021
androidx.compose.compiler:compiler:1.1.0-alpha02 ist 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 ist 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 ist 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 ist veröffentlicht. Version 1.0.4 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert, um von Kotlin
1.5.31abhängig zu sein
Version 1.0.3
29. September 2021
androidx.compose.compiler:compiler:1.0.3 ist veröffentlicht. Version 1.0.3 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert, um von Kotlin
1.5.30abhängig zu sein
Version 1.0.2
1. September 2021
androidx.compose.compiler:compiler:1.0.2 ist veröffentlicht. Version 1.0.2 enthält diese Commits.
Aktualisiert, um die Compose-Version 1.0.2 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 ist veröffentlicht. Version 1.0.1 enthält diese Commits.
Abhängigkeitsupdates
- Die Abhängigkeit von Kotlin
1.5.21wurde aktualisiert.
Version 1.0.0
28. Juli 2021
androidx.compose.compiler:compiler:1.0.0 ist 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-Versionsblog.
Version 1.0.0-rc02
14. Juli 2021
androidx.compose.compiler:compiler:1.0.0-rc02 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist 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 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
Neue Funktionen
- Stability Inference & Propagation. 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 der Compiler es in anderen Modulen verwenden 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 ist 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 ist 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 ist 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.