Compose-Compiler

@Zusammensetzbare Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in ermöglichen
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.

GruppeBeschreibung
compose.animationAnimationen 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.foundationMit den einsatzbereiten Bausteinen können Sie Jetpack Compose-Anwendungen schreiben und die Foundation-Bibliothek erweitern, um eigene Designsystemkomponenten zu erstellen.
compose.materialJetpack 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.material3Jetpack 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.runtimeGrundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Core-Laufzeit für das Compose Compiler-Plug-in.
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 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.

Neues Problem melden

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 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 Laufzeitversion 1.7.0-alpha03 oder höher ist.

  • Wenn Sie startReplaceGroup anstelle von startReplaceableGroup aufrufen, kann die Laufzeit Änderungen effizienter erkennen. Dies kann sich jedoch auf die Reihenfolge auswirken, in der Änderungen von Composer erkannt und an Applier gesendet werden. Dies kann zu geringfügigen Verhaltensänderungen 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

  • 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 @NonSkippableComposable gekennzeichnet sind, und Funktionen, die implizit nicht übersprungen werden können, z. B. Inline-Funktionen und Funktionen, die einen Nicht-Unit-Wert wie remember zurückgeben.
  • 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 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_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 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 -P plugin: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)

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)
    • stabilityConfigurationPath wurde 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

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 @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)

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 in State-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 Operator getValue und 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

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 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 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 Group hat jetzt das Feld isInline, das angibt, ob die Gruppe für einen Aufruf einer Inline-Composable-Funktion bestimmt ist. Wenn isInline gleich true ist, 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.
  • ImmutableCollection und die zugehörigen 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 ist 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 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 IllegalStateException wurde 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.10 hinzugefü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.21 hinzugefü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.10 hinzugefü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 NullPointerException in androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList korrigieren (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 LazyVerticalGrid korrigiert (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 48x48dp erweitert, 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-rc02 ist mit Kotlin 1.6.10 kompatibel.

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-rc01 ist mit Kotlin 1.6.0 kompatibel.
  • Ein kompatibler 1.6.10-Build ist über androidx.dev-SNAPSHOTs mit buildId 8003490 verfügbar. Mit dem folgenden Abhängigkeitssnippet werden SNAPSHOTs für den Compose-Compiler konfiguriert:

    Fügen Sie der Stammdatei build.gradle Ihres 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.0 kompatibel 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-alpha03 wurde aktualisiert und hängt jetzt von Kotlin 1.5.30 ab. (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.31 abhä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.30 abhä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.21 wurde 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.