Compose Compiler

@Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren
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.

GruppeBeschreibung
compose.animationSie 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.foundationErstellen Sie Jetpack Compose-Anwendungen mit vorgefertigten Bausteinen und erweitern Sie die Grundlage, um eigene Designsystem-Elemente zu erstellen.
compose.materialErstellen 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.material3Erstellen 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.runtimeGrundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Kernlaufzeit, auf die das Compose-Compiler-Plug-in ausgerichtet ist.
compose.uiGrundlegende 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.

Neues Problem erstellen

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 von startReplacableGroup auf, wenn ein Modul mit einer Laufzeit kompiliert wird, die diese Methode enthält. startReplaceGroup wurde in der Laufzeit in Compose Runtime 1.7.0-alpha03 eingeführt. Aufrufe von startRestartGroup werden nur generiert, wenn die Runtime-Version 1.7.0-alpha03 oder höher verwendet wird.

  • Wenn startReplaceGroup anstelle von startReplaceableGroup aufgerufen wird, kann die Laufzeit Änderungen effizienter erkennen. Dies kann sich jedoch auf die Reihenfolge auswirken, in der Änderungen vom Composer erkannt und an den Applier gesendet werden. Dies kann zu geringfügigen Änderungen des Verhaltens führen, wenn ein Applier 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 -P plugin: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 in State-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 den getValue-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

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 Feld isInline, das angibt, ob die Gruppe für einen Aufruf einer inline-komposierbaren Funktion bestimmt ist. Wenn isInline 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

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 unter androidx.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 Kotlin 1.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 Kotlin 1.6.0 kompatibel.
  • Eine kompatible 1.6.10-Build ist über androidx.dev-SNAPSHOTs mit buildId 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 Kotlin 1.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.