Compiler erstellen

@Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
14. Mai 2024 1.5.14 - - -

Gebäude

Compose besteht aus sieben Maven-Gruppen-IDs innerhalb von androidx. Jede Gruppe umfasst eine bestimmte Teilmenge von Funktionen mit jeweils eigenen Versionshinweisen.

In dieser Tabelle werden die Gruppen und Links zu den einzelnen Versionshinweisen erläutert.

GruppeBeschreibung
compose.animation:Animationen in den Jetpack Compose-Anwendungen erstellen, um die User Experience zu bereichern
compose.compiler@Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren.
compose.foundationSchreiben Sie Jetpack Compose-Anwendungen mit gebrauchsfertigen Bausteinen und erweitern Sie die Grundlage für den Aufbau Ihrer eigenen Designsysteme.
compose.materialJetpack Compose-UIs mit einsatzbereiten Material Design-Komponenten erstellen Dies ist der übergeordnete Einstiegspunkt von Compose. Hier werden Komponenten bereitgestellt, die den unter www.material.io beschriebenen Komponenten entsprechen.
compose.material3 einfügenJetpack Compose-UIs mit Material Design 3 Components erstellen, der nächsten Entwicklung des Material Design Material 3 enthält aktualisierte Designs und Komponenten sowie Funktionen zur Personalisierung von Material You wie dynamische Farben. Das Produkt wurde so entwickelt, dass es zum visuellen Stil und zur System-UI von Android 12 passt.
compose.runtimeGrundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die zentrale Laufzeit für das Compose-Compiler-Plug-in.
compose.uiGrundlegende Komponenten der Benutzeroberfläche zum Schreiben von E-Mails, die für die Interaktion mit dem Gerät erforderlich sind, darunter Layout, Zeichnen und Eingabe

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Compose hinzufügen möchten, müssen Sie Ihrem Projekt das Maven-Repository von Google hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen:

Groovig

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder Verbesserungsvorschläge für diese Bibliothek haben. Bitte sieh dir die vorhandenen Probleme in dieser Bibliothek an, bevor du eine neue erstellst. Sie können einem vorhandenen Problem Ihre Stimme hinzufügen, indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.

Version 1.5

Version 1.5.14

14. Mai 2024

androidx.compose.compiler:compiler:1.5.14 und androidx.compose.compiler:compiler-hosted:1.5.14 wurden veröffentlicht. Version 1.5.14 enthält diese Commits.

Diese Compiler-Version ist auf Kotlin 1.9.24 ausgerichtet.

Fehlerkorrekturen

  • Achten Sie darauf, dass der Inline-Text erkannt 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 wurden veröffentlicht. Version 1.5.13 enthält diese Commits.

Neue Funktionen

  • Starkes Überspringen wird nicht mehr als experimentell betrachtet und ist in der Produktion sicher. Sie wird in einem zukünftigen Release zum Standardverhalten. (I6c8c4)

Fehlerkorrekturen

  • Die Binärkompatibilität von @Composable-Funktionen mit Wertklassenparametern wurde korrigiert, die einen Standardwert haben und einen nicht primitiven Wert umschließen. (I89465
  • Upstream-Fehlerbehebungen für die JS-Kompilierung und native Kompilierung aus Compose Multiplatform. Ausführliche Informationen finden Sie oben im Commit-Bereich.

Version 1.5.12

17. April 2024

androidx.compose.compiler:compiler:1.5.12 und androidx.compose.compiler:compiler-hosted:1.5.12 wurden veröffentlicht. Version 1.5.12 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem mit der inkrementellen Kompilierung mit Kotlin 1.9.23 wurde behoben. (Ifca55)
  • Typen in Wertparametern für nicht primitive Inline-Klassen wurden korrigiert, die keine Nullwerte zulassen können. (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 wurden veröffentlicht. Version 1.5.11 enthält diese Commits.

Notizen

  • 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 Laufzeit erstellen1.7.0-alpha03 eingeführt. Aufrufe von startRestartGroup werden nur generiert, wenn ein Targeting auf 1.7.0-alpha03- oder höher-Versionen der Laufzeit erfolgt.

  • Wenn startReplaceGroup anstelle von startReplaceableGroup aufgerufen wird, 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

  • Probleme mit verschachtelten externen generischen Typen beheben, die aus der abgeleiteten Instabile (Instable) stammen (I3437f, b/327643787)
  • Unterstützung mehrerer Stabilitätskonfigurationsdateien (I8db14, b/325326744)
  • Compose Compiler transformiert jetzt überschriebene Funktionen korrekt, indem Basisklassen/Überschreibungen rekursiv durchlaufen werden. (I2c9f9, b/316196500)
  • Achten Sie darauf, dass bei der Erinnerung 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-Lambda wurde korrigiert. Ohne aktivierte „nonSkippingGroupOptimization“ ist dieser Fehler schwer zu finden. (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 wurden veröffentlicht. Version 1.5.10 enthält diese Commits.

Fehlerkorrekturen

  • Live-Literale in Init-Blöcken werden unterstützt. (b/320397488)
  • Verwenden Sie den Dispatcher-Parameter, um zu prüfen, ob sich die Funktion innerhalb 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 wurden veröffentlicht. Version 1.5.9 enthält diese Commits.

Fehlerkorrekturen

  • Probleme mit zusammensetzbaren Aufrufen im anonymen Objektinitialisierer beheben (b/320261458, 96315c)
  • Rekursive lokale Deklarationen werden als Captures gezählt. (b/318745941, e7b4b0)
  • Das Verhalten von intrinsischen Erinnerungsänderungen in Bezug auf Java-Methodenreferenzen wurde behoben, indem für Funktionstypen mit intrinsischem Erinnerung .changed erzwungen wurde. (b/319810819, 77128e)
  • Es wurde eine experimentelle Optimierung hinzugefügt, mit der Gruppen von Funktionen entfernt werden, die nicht überspringbar sind und zum Beispiel explizit als @NonSkippableComposable gekennzeichnet sind, sowie Funktionen, die implizit nicht überspringbar sind, wie z. B. Inline-Funktionen und Funktionen, die einen Nicht-Einheit-Wert wie remember zurückgeben.
  • Sie können diese Optimierung aktivieren, indem Sie die Plug-in-Option -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true an den Kotlin-Compiler übergeben. (I1688f)

Version 1.5.8

10. Januar 2024

androidx.compose.compiler:compiler:1.5.8 und androidx.compose.compiler:compiler-hosted:1.5.8 wurden veröffentlicht. Version 1.5.8 enthält diese Commits.

Neue Funktionen

  • Unterstützung für Kotlin 1.9.22

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, bei dem der Build Compiler beim Erstellen mit Java21 Ausnahmen auslöste. Nutzer, die den Compose Compiler von Google Maven verwenden (und ihn nicht selbst erstellen), waren von diesem Fehler nie betroffen. (b/316644294)
  • Es wurde ein Fehler behoben, bei dem für einige Aufrufer von nicht Inline-Lambdas der Fehler COMPOSABLE_EXPECTED gemeldet wurde. (b/309364913)
  • Fügen Sie einen Kompilierungsfehler für Standardparameter in offenen Funktionen hinzu. Zuvor war dies nur für abstrakte Funktionen eingeschränkt. Compose unterstützt derzeit nicht das Ersetzen von Standardparametern durch überschriebene Funktionen und das Überschreiben einer zusammensetzbaren Funktion mit Standardparametern trat zur Laufzeit auf. Verwenden Sie @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE"), um sie zu unterdrücken. Beachten Sie jedoch, dass das Überschreiben einer solchen Funktion ohne Angabe eines Standardwerts für den Parameter zu einem Absturz während der Laufzeit führt.(b/317490247)
  • Es wurde ein Fehler im intrinsischen Merken behoben, der verhinderte, dass Werte korrekt weitergegeben wurden. (b/316327367)

Externer Beitrag

  • Tippfehler in der Dokumentation korrigiert. (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 wurden veröffentlicht. Version 1.5.7 enthält diese Commits.

Fehlerkorrekturen

  • Absturz bei der Erstellung der Laufzeit behoben, wenn der Schlüsselparameter remember() eine zusammensetzbare Funktion aufruft (b/315855015)
  • Der Absturz bei der Schreiblaufzeit bei Verwendung von return@ wurde behoben. (b/315821171)
  • Vermeiden Sie die Verwendung absoluter Pfade in Erinnerungsschlüsseln, da dies eine bessere Build-Cache-Auslastung ermöglicht. (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 wurden veröffentlicht. Version 1.5.6 enthält diese Commits.

Neue Funktionen

  • Unterstützung für Kotlin 1.9.21

Fehlerkorrekturen

  • Aktiviert das intrinsische Merken: Die Compiler-Transformation, die sich im Compose-Compiler-Plug-in speichert und .equals-Vergleiche durch Int-Vergleiche des Parameters meta für stabile Parameter ersetzt. Dies führt dazu, dass weniger Slots verwendet werden und während der Laufzeit weniger Vergleiche durchgeführt werden. Die Option kann deaktiviert werden, indem das Compiler-Plug-in-Argument -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false angegeben wird. (If675f)
  • Das Merken angepasster Funktionsverweise und Inline-Argumente wurde korrigiert. (b/312738720)
  • Gruppen beim Beenden des Inline-Funktionsaufrufs realisieren (b/312242547)

Externer Beitrag

  • Fehler bei k/native- und k/wasm-Laufzeitabsturz aufgrund fehlender Rückgabeanweisung in zusammensetzbaren Funktionen behoben, wenn dies die letzte Anweisung ist und eine Null-Const-Anweisung zurückgibt (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 wurden veröffentlicht. Version 1.5.5 enthält diese Commits.

Fehlerkorrekturen

  • Absturz beim Suchen überschriebener zusammensetzbarer Typen (Ib6d2c, b/297665426) wurde behoben.
    • stabilityConfigurationPath zu bekannten Parametern hinzufügen (zuvor konnte aufgrund eines Fehlers die Verwendung des Flags für die Konfigurationsdatei verhindert werden). (b/309765121)
    • Fehlerkorrekturen bei der Erinnerung (I081d1, I4d7bf)
    • Korrektur der Neuzusammensetzung durch Berücksichtigung des Status des unsicheren Parameters im intrinsischen Erinnerungsvermögen (b/263402091)
    • Debugging-Zeileninformationen für das intrinsische Erinnern korrigieren (Ic8cf5)
    • Absturz (IR-Senkung fehlgeschlagen) bei der Suche nach überschriebenen zusammensetzbaren Typen zum Kompilieren beheben (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 wurden veröffentlicht. Version 1.5.4 enthält diese Commits.

Aktualisierung der Abhängigkeiten

  • Der Compose Compiler ist jetzt mit Kotlin 1.9.20 kompatibel.

Neue Funktionen

  • Fügen Sie eine Testoption hinzu, um den Modus zum starken Überspringen zu aktivieren. Im starken Überspringen-Modus können zusammensetzbare Funktionen mit instabilen Parametern übersprungen werden. Außerdem werden Lambdas mit instabilen Aufnahmen gespeichert. Diese Funktion ist experimentell und nicht für die Produktion bereit. (22421e)
  • Flag zum Aktivieren/Deaktivieren von Quell-/Trace-Informationen hinzufügen. (4d45f09)
  • Ermöglicht das Konfigurieren der Stabilität externer Klassen über eine Konfigurationsdatei. (If40eb)

Fehlerkorrekturen

  • Das vorzeitige Beenden von zusammensetzbaren Funktionen wurde korrigiert, wenn keine Quellinformationen erfasst wurden. (fe6267)
  • Korrigieren Sie den Vorgang von zusammensetzbaren Funktionen. (948362)
  • Problembehebung, wenn zusammensetzbare Funktionen innerhalb eines Funktionsaufrufs mit mehreren Überlastungen aufgerufen werden, die vom Rückgabetyp des Ausdrucks abhängen. (2d36d0)
  • Die Erinnerung wurde korrigiert, wenn die Funktionsreferenz keinen Weiterleitungsempfänger hat. (fc2326)
  • Eine „schmutzige Prüfung“ wurde behoben, die in einigen Situationen die Neuzusammensetzung von Lambdas verhinderte. (db3699)
  • Stabilität bei inkrementeller Kompilierung über Module hinweg wurde korrigiert. (7d3e127)
  • Den Bereich von @DontMemoize auf Lambda-Ausdrücke beschränken. (7a7fa52)
  • Sie können Variablen korrigieren, die nicht korrekt erfasst wurden, wenn eine zusammensetzbare Fun-Schnittstelle als Lambda verwendet wird. (5ae3556)

Externer Beitrag

  • Strukturelles Gleichheitssymbol für numerischen Vergleich und Nullvergleich verwenden (c612a0)

Version 1.5.3

29. August 2023

androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3 und androidx.compose.compiler:compiler-hosted:1.5.3 wurden veröffentlicht. Version 1.5.3 enthält diese Commits.

Aktualisierung der Abhängigkeit

  • 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 wurden veröffentlicht. Version 1.5.2 enthält diese Commits.

Fehlerkorrekturen

  • Fügen Sie Zeilennummern für „return“-Anweisungen in zusammensetzbare Funktionen mit konstanter Rückgabe ein. (I42d89)
  • Ein Speicherleck wurde behoben, das durch den Wechsel zum neuen Compiler-Plug-in-Einstiegspunkt verursacht wurde. (4f0a101)
  • Beenden Sie die Transformation nicht zusammensetzbarer unterhaltsamer Schnittstellen im Compose-Compiler. Dadurch werden lustige Schnittstellen genauso behandelt wie Lambdas, einschließlich der Erinnerungsregeln. (28b3ce9)
  • Verwenden Sie den Argumenttyp „vararg“, um die Stabilität auf der Aufrufwebsite 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 wurden veröffentlicht. Version 1.5.1 enthält diese Commits.

Fehlerkorrekturen

  • Die Markierung von Kompositions-Trace-Ereignissen in @ReadOnlyComposable-Funktionen mit frühen Rückgaben, die zu einer Trace-Beschädigung führten, wurde behoben.

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 wurden veröffentlicht. Version 1.5.0 enthält diese Commits.

Experimentelle K2-Unterstützung

  • 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 und sind in zukünftigen Versionen des Compilers verfügbar.

Wichtige Änderungen seit Version 1.4.0

  • Die Kotlin-Version wurde auf 1.9.0 aktualisiert.
  • Benannte Argumente für Lambda-Aufrufe vom Typ @Composable wurden eingestellt. Dieses Feature basiert auf internen Compiler-APIs und wird von K2 nicht unterstützt.
  • Diagnose zur Überprüfung der Anmerkung @Composable bei erwarteten/tatsächlichen Anrufen hinzugefügt. Beide Deklarationen müssen übereinstimmende Annotationen enthalten.

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 wurden veröffentlicht. Version 1.4.8 enthält diese Commits.

Neue Funktionen

  • Die Kotlin-Compiler-Zielversion wurde auf 1.8.22 erweitert.

Fehlerkorrekturen

  • Die Fehlermeldung für @Composable-Überschreibungen wurde verbessert. Jetzt wird korrekt auf abweichende Annotationen hingewiesen.
  • Vor einer redundanten @Composable-Anmerkung auf Inline-Lambdas warnen, die nicht als zusammensetzbar gekennzeichnet werden sollten. Diese Funktion wird beim 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 wurden veröffentlicht. Version 1.4.7 enthält diese Commits.

Neue Funktionen

  • Unterstützung für Kotlin 1.8.21
  • Primitive Versionen der State API wurden hinzugefügt, mit denen Werte vom Typ „Int“, „Long“, „Float“ und „Double“ in State-Objekten verfolgt werden können, ohne dass für Autoboxing Strafmaßnahmen 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 wurden veröffentlicht. Version 1.4.6 enthält diese Commits.

Fehlerkorrekturen

  • Der Compose-Compiler basiert jetzt auf Java11 (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 wurden veröffentlicht. Version 1.4.5 enthält diese Commits.

HINWEIS Für diesen Build von Compose Compiler muss Ihre Build-Umgebung Java 17 oder höher verwenden. Basierend auf dem Feedback von Nutzern werden wir diese Anforderung auf Java 11 zurücksetzen und eine weitere Version (1.4.6) veröffentlichen, um Nutzer, die ältere Java-Versionen verwenden, besser zu unterstützen.

Neue Funktionen

Unterstützung für Kotlin 1.8.20

Fehlerkorrekturen

  • Die Anforderung der Überschreibung des zusammensetzbaren Aufrufoperators an Klassen und Schnittstellen weitergeben, die Lambda-Schnittstellen mit entsprechenden Annotationen erweitern.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Ermöglicht die Verwendung der Annotation @Composable im Operator getValue und des generierten Getters für den Delegat als zusammensetzbar in IR, um sicherzustellen, dass er später korrekt umgewandelt wird. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Internen Laufzeitfehler beim Schreiben (applyChanges()) für Inline-Funktionen wurde erwartet.b/274786923
  • Vermeiden Sie es, ProcessCancelledException zu erfassen, da dies 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 wurden veröffentlicht. Version 1.4.4 enthält diese Commits.

Fehlerkorrekturen

  • Zusammensetzbare Inline-Lambda-Rückgaben korrigieren (72172b)
  • Rückgabe von Nothing für zusammensetzbare Funktionen zulassen (keinen Fehler generieren, wenn TODO in einer zusammensetzbaren Funktion verwendet wird) 3aea8d

Version 1.4.3

Version 1.4.3

22. Februar 2023

androidx.compose.compiler:compiler:1.4.3 wurde veröffentlicht. Version 1.4.3 enthält diese Commits.

Fehlerkorrekturen

  • Korrigiert bedingte zusammensetzbare Aufrufe in Argumenten von zusammensetzbaren Aufrufen (Ie93edb).

Version 1.4.2

Version 1.4.2

8. Februar 2023

androidx.compose.compiler:compiler:1.4.2 wurde 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 Text von nicht überspringbaren Lambdas hinzu, um Fehler bei der Neuzusammensetzung zu vermeiden.

Version 1.4.1

Version 1.4.1

8. Februar 2023

androidx.compose.compiler:compiler:1.4.1 wurde veröffentlicht. Version 1.4.1 enthält diese Commits.

Fehlerkorrekturen

  • Deaktivieren Sie die intrinsische Erinnerungsoptimierung, die zuvor einige Fehler bei der Codegenerierung verursacht hatte.
  • Deaktivieren Sie das intrinsische Erinnern in Funktionen, die einen vararg-Parameter enthalten.
  • Fehler beim Überspringen in zusammensetzbaren Funktionen mit Standardparametern beheben
  • Fügen Sie eine defensive Fallback-Fehlermeldung hinzu, wenn die Prüfung der Kotlin-Kompatibilität fehlschlägt.
  • Überspringen der Codegenerierung aus Inline-Lambda entfernen

Version 1.4.0

17. Januar 2023

androidx.compose.compiler:compiler:1.4.0 wurde 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
  • Intrins. Erinnerung deaktiviert
  • Die UI-Tooling-Datenklasse Group hat jetzt das Feld isInline, das angibt, ob die Gruppe für einen Aufruf einer zusammensetzbaren Inline-Funktion vorgesehen ist. Wenn isInline auf true gesetzt ist, erfolgt der Aufruf an eine zusammensetzbare Inline-Funktion. Der Wert kann jedoch bei Aufrufen von zusammensetzbaren Inline-Funktionen auf „false“ gesetzt sein, die aus Modulen stammen, die mit einer Version des Compiler-Plug-ins kompiliert wurden, das keine Inline-Funktionsinformationen generiert.
  • ImmutableCollection und ihre persistenten Geschwister gelten jetzt als stabil.
  • Neuer Parameter in AnimatedContent für Tool-Label
  • Fehlerhafte Codegenerierung für Inline-Lambda behoben

Version 1.4.0-alpha02

11. November 2022

androidx.compose.compiler:compiler:1.4.0-alpha02 wurde 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 wurde veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Fehler beim frühzeitigen Zurückgeben von zusammensetzbaren Inline-Funktionen behoben (b/255350755)
  • Ein Fehler beim Absenken von Lockvogeln wurde behoben, durch den die Kotlin-/JS-Unterstützung in Compose unterbrochen wurde (6a40f8).

Version 1.3

Version 1.3.2

4. Oktober 2022

androidx.compose.compiler:compiler:1.3.2 wurde 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 wurde veröffentlicht. Version 1.3.1 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem „IllegalStateException“ wurde behoben, bei dem der Compiler vom Typ „Composer“ unter bestimmten Umständen fälschlicherweise Anzeigenblocktypen als zusammensetzbar markiert hat. (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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde veröffentlicht. Version 1.2.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Die Codegenerierung für zusammensetzbare Trace-Ereignisse wurde entfernt (aosp/2127922).

Version 1.2.0-rc01

15. Juni 2022

androidx.compose.compiler:compiler:1.2.0-rc01 wurde 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 wurde 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 wurde 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 wurde veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

  • Dies ist die erste Betaversion von Version 1.2. Seit der letzten Alphaversion hat es keine Änderungen gegeben.

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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Kotlin 1.6.10 wird jetzt unterstützt.

Version 1.1

Version 1.1.1

23. Februar 2022

androidx.compose.compiler:compiler:1.1.1 wurde veröffentlicht. Version 1.1.1 enthält diese Commits.

Fehlerkorrekturen

  • Problem mit NullPointerException unter androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList beheben (aosp/1947059, b/206677462)
  • Ein Absturz wurde behoben, der beim Lesen aus der Zwischenablage unter Android durch Inhalte in der Zwischenablage verursacht wurde. (I06020, b/197769306)
  • RTL-Fehler in LazyVerticalGrid behoben (aosp/1931080, b/207510535)

Version 1.1.0

9. Februar 2022

androidx.compose.compiler:compiler:1.1.0 wurde veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Stabile Unterstützung für den Overscroll-Effekt von Android 12
  • Verbesserungen bei der Größe von Berührungszielbereichen
  • In Bezug auf Compose 1.0 wird der Layoutbereich von Material-Komponenten so erweitert, dass sie den Richtlinien für Bedienungshilfen von Material für die Größe des Berührungszielbereichs entsprechen. Das Berührungsziel der Schaltfläche wird beispielsweise auf eine Mindestgröße von 48x48dp erweitert, auch wenn Sie die Größe der Schaltfläche entsprechend verringern. Dadurch wird das Material Design auf das gleiche Verhalten wie die Material Design-Komponenten abgestimmt, was ein einheitliches Verhalten ermöglicht, wenn du „View“ und „Compose“ mischst. Durch diese Änderung wird außerdem sichergestellt, dass beim Erstellen der Benutzeroberfläche mit „Material erstellen“-Komponenten die Mindestanforderungen für die Barrierefreiheit auf Berührungszielbereichen erfüllt sind.
  • Stabile Unterstützung für Navigation Rail
  • Umstellung einer Reihe zuvor experimenteller APIs auf stabile Version
  • Support für neuere Versionen von Kotlin

Version 1.1.0-rc03

26. Januar 2022

androidx.compose.compiler:compiler:1.1.0-rc03 wurde 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 wurde veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.

Aktualisierung der Abhängigkeiten

  • 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 wurde veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Abhängigkeitsänderungen

  • 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ängigkeits-Snippet werden SNAPSHOTs für den Compose-Compiler konfiguriert:

    Fügen Sie der build.gradle-Stammdatei für Ihr Projekt das folgende Snippet hinzu:

    buildscript {
        repositories {
            google()
            jcenter()
            maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' }
        }
    }
    

    Fügen Sie der build.gradle-Datei Ihrer App oder Ihres Moduls, in der/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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Der Compose-Compiler unterstützt jetzt ältere Versionen der Compose Runtime (1.0). Vor dieser Änderung war der Compose-Compiler nur mit der Compose-Laufzeit derselben oder einer neueren Version kompatibel. Nach dieser Änderung ist der Compose-Compiler mit einer älteren Version der Compose-Laufzeit (1.0) kompatibel. (aosp/1796968)
  • Die Funktion „Compose“ (1.1.0-alpha03) wurde so aktualisiert, dass sie von „1.5.30“ in Kotlin abhängig ist. (I74545)

Version 1.1.0-alpha02

18. August 2021

androidx.compose.compiler:compiler:1.1.0-alpha02 wurde 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 wurde 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 wurde veröffentlicht. Version 1.0.5 enthält diese Commits.

Fehlerkorrekturen

  • Ein Absturz-Tracking von RelatedStateOf-Instanzen wurde behoben. (aosp/1792247)

Version 1.0.4

13. Oktober 2021

androidx.compose.compiler:compiler:1.0.4 wurde veröffentlicht. Version 1.0.4 enthält diese Commits.

Aktualisierung der Abhängigkeiten

  • Aktualisiert und abhängig von Kotlin 1.5.31

Version 1.0.3

29. September 2021

androidx.compose.compiler:compiler:1.0.3 wurde veröffentlicht. Version 1.0.3 enthält diese Commits.

Aktualisierung der Abhängigkeiten

  • Aktualisiert und abhängig von Kotlin 1.5.30

Version 1.0.2

1. September 2021

androidx.compose.compiler:compiler:1.0.2 wurde 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 wurde veröffentlicht. Version 1.0.1 enthält diese Commits.

Aktualisierung der Abhängigkeiten

  • Aktualisiert und abhängig von Kotlin-1.5.21.

Version 1.0.0

28. Juli 2021

androidx.compose.compiler:compiler:1.0.0 wurde veröffentlicht. Version 1.0.0 enthält diese Commits.

Hauptfunktionen von Version 1.0.0

Dies ist die erste stabile Version von Compose. Weitere Informationen finden Sie im offiziellen Compose-Blog.

Version 1.0.0-rc02

14. Juli 2021

androidx.compose.compiler:compiler:1.0.0-rc02 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Dies ist die erste Version der Betaversion von Compose 1.0.0.

Version 1.0.0-alpha12

10. Februar 2021

androidx.compose.compiler:compiler:1.0.0-alpha12 wurde 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 wurde 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 wurde 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 wurde 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 wurde 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 wurde veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Inferenz und Verbreitung aus der Stabilität. Das Compose Compiler-Plug-in analysiert die kompilierten Typen, um abzuleiten, ob es für bestimmte Optimierungen durch die Laufzeit infrage kommt oder nicht. Dieses gefolgerte Ergebnis wird dann als Metadaten in der Klasse synthetisiert, die vom Compiler in anderen Modulen verwendet werden kann. Darüber hinaus wird das Laufzeitergebnis dieser Inferenzen in Metadaten übergeben, die während der Zusammensetzung an zusammensetzbare Aufrufe übergeben werden. Dies erforderte ein anderes Metadatenprotokoll für zusammensetzbare Funktionen. Das bedeutet, dass zusammensetzbare Funktionen, die mit dem Alpha07-Compiler kompiliert wurden, nicht binär kompatibel mit zusammensetzbaren Funktionen sind, die mit einer früheren Compiler-Version kompiliert wurden. (aosp/1431988)

Version 1.0.0-alpha06

28. Oktober 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 wurde 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 wurde 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 wurde veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

androidx.compose:compose-compiler wurde zu androidx.compose.compiler:compiler refaktoriert. Dies ist der erste Release in der neuen Gruppe.