Compiler erstellen

@Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
17. April 2024 1.5.12

Struktur

Compose ist eine Kombination aus sieben Maven-Gruppen-IDs in androidx. Jede Gruppe enthält eine ausgewählte Teilmenge von Funktionen mit jeweils eigenen Versionshinweisen.

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

GruppeBeschreibung
compose.animationAnimationen in den Jetpack Compose-Anwendungen erstellen, um die Nutzererfahrung zu verbessern.
compose.compiler@Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren
compose.foundationSchreiben Sie Jetpack Compose-Anwendungen mit einsatzbereiten Bausteinen und erweitern Sie die Grundlage, um Ihre eigenen Designsystemteile zu erstellen.
compose.materialErstellen Sie Jetpack Compose-Benutzeroberflächen mit einsatzbereiten Material Design-Komponenten. Das ist der übergeordnete Einstiegspunkt von Compose. Hier stellen wir Komponenten bereit, die den unter www.material.io beschriebenen entsprechen.
compose.material3Erstellen Sie Jetpack Compose-Benutzeroberflächen mit Material Design 3 Components, der nächsten Entwicklung des Material Design. Material 3 enthält aktualisierte Designs und Komponenten sowie Personalisierungsfunktionen wie dynamische Farben. Das Design ist an den visuellen Stil und die System-UI von Android 12 angepasst.
compose.runtimeGrundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie der Kernlaufzeit für das Targeting des Compiler-Plug-ins „Compose“.
compose.uiGrundlegende Komponenten der Editor-UI, die für die Interaktion mit dem Gerät erforderlich sind, einschließlich Layout, Zeichnung und Eingabe.

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von Compose 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 Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Groovig

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.12"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.12"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

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

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.5

Version 1.5.12

17. April 2024

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

Fehlerkorrekturen

  • Behebt ein Problem mit der inkrementellen Kompilierung mit Kotlin 1.9.23. (Ifca55)
  • Korrigieren Sie Typen, die keine Nullwerte zulassen, in Wertparametern für nicht-primitive Inline-Klassen. (Ie6bb5)

Version 1.5.11

20. März 2024

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

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 der Compose-Laufzeit 1.7.0-alpha03 eingeführt. startRestartGroup-Aufrufe werden nur bei einer Ausrichtung auf Versionen der Laufzeit 1.7.0-alpha03 oder höher generiert.

  • 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 Änderungen im Verhalten 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 der Ableitung von verschachtelten externen generischen Typen in „Instabil“ wurden behoben. (I3437f, b/327643787)
  • Mehrere Stabilitätskonfigurationsdateien unterstützen (I8db14, b/325326744)
  • Compose Compiler wandelt überschriebene Funktionen jetzt korrekt um, indem Basisklassen/-überschreibungen rekursiv durchlaufen werden. (I2c9f9, b/316196500)
  • Achten Sie darauf, dass bei der Funktionsreferenzspeicherung nicht versucht wird, implizite übergeordnete lokale Deklarationen zu erfassen, wenn diese nicht direkt verwendet werden. (Ib1267)
  • Fehler bei der Codegenerierung für zusammensetzbare Cross-Inline-Lambda-Aktualisierungen behoben (der Fehler ist nur schwer zu beseitigen, 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 veröffentlicht. Version 1.5.10 enthält diese Commits.

Fehlerkorrekturen

  • Unterstützung von Live-Literalen in Init-Blöcken. (b/320397488)
  • Verwenden Sie den Dispatcher-Parameter, um zu prüfen, ob sich die Funktion in der lokalen Klasse befindet (b/323123439).

Version 1.5.9

7. Februar 2024

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

Fehlerkorrekturen

  • Probleme mit zusammensetzbaren Aufrufen im anonymen Objektinitialisierer wurden behoben. (b/320261458 und 96315c)
  • Rekursive lokale Deklarationen als Erfassung zählen. (b/318745941 und e7b4b0)
  • Korrigieren Sie das Verhalten bei Änderungen des intrinsischen Merkens im Zusammenhang mit Java-Methodenverweisen, indem Sie .changed für Funktionstypen mit intrinsischer Erinnerungsfunktion erzwingen. (b/319810819 und 77128e)
  • Es wurde eine experimentelle Optimierung hinzugefügt, bei der die Gruppen um nicht überspringbare Funktionen, wie z. B. die explizit als @NonSkippableComposable gekennzeichnete Funktionen, und Funktionen, die implizit nicht überspringbar sind, entfernt werden, wie z. B. Inline-Funktionen und Funktionen, die einen Nicht-Einheitswert 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 werden 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 beim Erstellen von Compiler-Builds Ausnahmen ausgelöst wurden, wenn der Build mit Java21 erstellt wurde. Nutzer, die Compose Compiler von Google Maven verwenden (d.h. nicht selbst erstellen), waren von diesem Fehler nie betroffen. (b/316644294)
  • Es wurde ein Fehler behoben, bei dem für einige Anrufer von nicht Inline-Lambdas COMPOSABLE_EXPECTED Fehler gemeldet wurde. (b/309364913)
  • Ein Kompilierungsfehler für Standardparameter in offenen Funktionen wurde hinzugefügt. Zuvor war die Funktion nur für abstrakte Funktionen eingeschränkt. Bei der Funktion „Compose“ können derzeit keine Standardparameter durch überschriebene Funktionen ersetzt werden. Das Überschreiben einer zusammensetzbaren Funktion mit Standardparametern ist während der Laufzeit fehlgeschlagen. Verwenden Sie @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") zum Unterdrücken. Das Überschreiben einer solchen Funktion ohne Angabe eines Standardwerts für den Parameter führt jedoch zu einem Absturz während der Laufzeit.(b/317490247)
  • Es wurde ein Fehler im integrierten Merken behoben, der verhinderte, dass Werte richtig weitergegeben wurden. (b/316327367)

Externer Beitrag

  • Tippfehler in der Dokumentation beheben. (aosp/288106)

Version 1.5.7

19. Dezember 2023

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

Fehlerkorrekturen

  • Behebung eines Absturzes bei der Erstellung der Laufzeit, wenn der Schlüsselparameter remember() eine zusammensetzbare Funktion aufruft (b/315855015)
  • Problem mit dem Absturz der Compose-Laufzeit bei Verwendung von return@ wurde behoben. (b/315821171)
  • Vermeiden Sie die Verwendung absoluter Pfade in Memoisierungsschlüsseln, da dies eine bessere Build-Cache-Nutzung 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 werden veröffentlicht. Version 1.5.6 enthält diese Commits.

Neue Funktionen

  • Unterstützung für Kotlin 1.9.21

Fehlerkorrekturen

  • Aktiviert das intrinsische Speichern. Dies ist die Compiler-Transformation, die Inlines im Compose-Compiler-Plug-in speichert und .equals-Vergleiche durch int-Vergleiche des Parameter-Meta für stabile Parameter ersetzt. Dies führt dazu, dass weniger Slots verwendet und weniger Vergleiche während der Laufzeit durchgeführt werden. Die Option kann durch Angabe des Compiler-Plug-in-Arguments „-P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false“ deaktiviert werden. (If675f)
  • Speichern angepasster Funktionsverweise und Inline-Argumente korrigiert. (b/312738720)
  • Gruppen beim Beenden des Inline-Funktionsaufrufs realisieren (b/312242547)

Externer Beitrag

  • Behebung des k/native- und k/wasm-Laufzeitabsturzes aufgrund einer fehlenden Return-Anweisung in zusammensetzbaren Funktionen, wenn dies die letzte Anweisung ist 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 veröffentlicht. Version 1.5.5 enthält diese Commits.

Fehlerkorrekturen

  • Behebt einen Absturz beim Suchen von überschriebenen zusammensetzbaren Typen (Ib6d2c, b/297665426)
    • stabilityConfigurationPath zu bekannten Parametern hinzugefügt (zuvor konnte das Konfigurationsdatei-Flag durch den Fehler verhindert werden). (b/309765121)
    • Fehlerkorrekturen bei Erinnerungen (I081d1, I4d7bf)
    • Korrektur der Neuzusammensetzung durch Berücksichtigung des Zustands eines unsicheren Parameters in der internen Erinnerung (b/263402091)
    • Informationen in der Debugging-Zeile für intrinsic Merken korrigiert (Ic8cf5)
    • Behebung eines Absturzes (IR-Senkung fehlgeschlagen) beim Suchen von überschriebenen zusammensetzbaren Typen zum Zeitpunkt der Kompilierung (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 werden veröffentlicht. Version 1.5.4 enthält diese Commits.

Aktualisierungen von Abhängigkeiten

  • Compose Compiler ist jetzt mit Kotlin 1.9.20 kompatibel

Neue Funktionen

  • Fügen Sie eine experimentelle Option hinzu, um den Modus für starkes Überspringen zu aktivieren. Mit dem starken Überspringungsmodus können zusammensetzbare Funktionen mit instabilen Parametern übersprungen werden. Außerdem werden Lambdas mit instabilen Aufnahmen gespeichert. Diese Funktion befindet sich in der Testphase und ist noch nicht für den Produktionseinsatz bereit. 22421e
  • Flag hinzufügen, um Quell-/Trace-Informationen zu aktivieren/deaktivieren. (4d45f09)
  • Ermöglicht die Konfiguration der Stabilität externer Klassen über eine Konfigurationsdatei. (If40eb)

Fehlerkorrekturen

  • Ein vorzeitiges Beenden von zusammensetzbaren Funktionen wurde behoben, wenn keine Quellinformationen erfasst werden. (FE6267)
  • Beheben Sie das Problem mit „Weiter von zusammensetzbaren Funktionen“. (948362)
  • Das Problem wurde behoben, wenn zusammensetzbare Funktionen innerhalb eines Funktionsaufrufs mit mehreren Überlastungen aufgerufen werden, die vom Rückgabetyp des Ausdrucks abhängig sind. (2d36d0)
  • Fehler bei der Erinnerung behoben, wenn Funktionsreferenz keinen Weiterleitungsempfänger hat. (fc2326)
  • Reparatur von Verschmutzungen, die in einigen Situationen die Neuzusammensetzung von Lambdas verhinderten. (db3699)
  • Stabilität bei inkrementeller modulübergreifender Kompilierung beheben (7d3e127)
  • Reduzieren Sie den Bereich von @DontMemoize auf Lambda-Ausdrücke. (7a7fa52)
  • Variablen korrigieren, die nicht richtig erfasst wurden, wenn eine zusammensetzbare Benutzeroberfläche als Lambda verwendet wird (5ae3556)

Externer Beitrag

  • Strukturelles Gleichheitssymbol für numerischen Vergleiche und Nullvergleiche 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.

Abhängigkeitsaktualisierung

  • 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 zusammensetzbaren Funktionen ein, die konstant zurückgegeben werden. (I42d89)
  • Ein Speicherleck, das durch einen Wechsel zum neuen Einstiegspunkt für das Compiler-Plug-in verursacht wurde, wurde behoben. 4f0a101
  • Beenden Sie die Umwandlung nicht zusammensetzbarer unterhaltsamer Schnittstellen im Compose-Compiler. Dadurch werden lustige Benutzeroberflächen genauso gehandhabt wie Lambdas, einschließlich der Erinnerungsregeln. 28b3ce9
  • Der Argumenttyp "vararg" dient zum Ableiten der Stabilität auf der Anrufwebsite. (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

  • Ereignismarkierungen für Kompositionsverfolgung in @ReadOnlyComposable-Funktionen mit frühen Rückgaben wurden korrigiert, die zu Trace-Beschädigungen führten.

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.

Experimenteller K2-Support

  • Compose-Compiler 1.5.0 bietet experimentelle Unterstützung für den K2-Compiler. Einige Funktionen der Funktion „Compose“ 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 verworfen. Diese Funktion nutzt interne Compiler-APIs und wird von K2 nicht unterstützt.
  • Es wurde eine Diagnose hinzugefügt, um die Annotation @Composable zu erwarteten/tatsächlichen Anrufen zu überprüfen. Für beide Deklarationen wird erwartet, dass die Annotationen übereinstimmen.

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-Version wurde auf 1.8.22 erweitert.

Fehlerkorrekturen

  • Die Fehlermeldung für @Composable-Überschreibungen wurde verbessert. Jetzt wird korrekt auf nicht übereinstimmende Annotationen hingewiesen.
  • Vor redundanten @Composable-Annotationen auf Inline-Lambdas warnen, 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 wurden 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 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 wurden veröffentlicht. Version 1.4.6 enthält diese Commits.

Fehlerkorrekturen

  • „Compose Compiler“ basiert jetzt auf Java 11 (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. Aufgrund von Nutzerfeedback werden wir diese Anforderung auf Java 11 zurückversetzen und eine andere 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

  • Anforderung der Überschreibung des Operators für zusammensetzbare Aufrufe an Klassen und Schnittstellen weitergeben, die Lambda-Schnittstellen mit entsprechenden Anmerkungen erweitern.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Ermöglicht die Verwendung der Annotation @Composable im Operator getValue und markiert den generierten Getter für den Delegaten als zusammensetzbar in IR, damit er später korrekt umgewandelt wird. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Interner Laufzeitfehler beim Schreiben wurde für Inline-Funktionen behoben (es wurde erwartet, dass applyChanges() aufgerufen wurde).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

  • Probleme mit zusammensetzbaren Inline-Lambda-Rückgaben beheben (72172b)
  • Zulassen, dass zusammensetzbare Funktionen Nothing zurückgeben (keinen Fehler generieren, wenn Sie TODO in einer zusammensetzbaren Funktion verwenden) 3aea8d)

Version 1.4.3

Version 1.4.3

22. Februar 2023

androidx.compose.compiler:compiler:1.4.3 wird freigegeben. Version 1.4.3 enthält diese Commits.

Fehlerkorrekturen

  • Korrigiert bedingte Aufrufe zusammensetzbarer Funktionen in Argumenten von zusammensetzbaren Aufrufen (Ie93edb)

Version 1.4.2

Version 1.4.2

8. Februar 2023

androidx.compose.compiler:compiler:1.4.2 wird freigegeben. Version 1.4.2 enthält diese Commits.

Neue Funktionen

  • Unterstützung für Kotlin 1.8.10

Fehlerkorrekturen

  • Füge dem Text von nicht überspringbaren Lambdas Gruppen 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 wird freigegeben. Version 1.4.1 enthält diese Commits.

Fehlerkorrekturen

  • Deaktiviert die intrinsische Erinnerungsoptimierung, bei der zuvor einige Fehler bei der Codegenerierung aufgetreten sind.
  • Deaktiviert das intrinsische Speichern 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 wird freigegeben. Version 1.4.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.3.0

  • Unterstützung für Kotlin 1.8.0
  • Funktion „Erinnern“ deaktiviert
  • Die Datenklasse Group des UI-Tools hat jetzt das Feld isInline. Dieses gibt an, ob die Gruppe zum Aufruf einer zusammensetzbaren Inline-Funktion vorgesehen ist. Wenn isInline den Wert true hat, erfolgt der Aufruf an eine zusammensetzbare Inline-Funktion. Der Wert kann jedoch bei Aufrufen von zusammensetzbaren Inline-Funktionen „false“ sein, die aus Modulen stammen, die mit einer Version des Compose-Compiler-Plug-ins kompiliert wurden, die keine Inline-Funktionsinformationen generiert.
  • ImmutableCollection und ihre persistenten Geschwister gelten jetzt als stabil.
  • Neuer Parameter in AnimatedContent für Toollabel
  • Fehlerhafte Codegenerierung für Inline-Lambda behoben

Version 1.4.0-alpha02

11. November 2022

androidx.compose.compiler:compiler:1.4.0-alpha02 wird freigegeben. Version 1.4.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Für Kotlin 1.7.21 wird jetzt unterstützt.

Version 1.4.0-alpha01

9. November 2022

androidx.compose.compiler:compiler:1.4.0-alpha01 wird freigegeben. Version 1.4.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Probleme mit vorzeitigen Rückgaben von zusammensetzbaren Inline-Funktionen wurden behoben (b/255350755).
  • Es wurde ein Fehler behoben, durch den die Kotlin-/JS-Unterstützung in Compose (6a40f8) unterbrochen wurde.

Version 1.3

Version 1.3.2

4. Oktober 2022

androidx.compose.compiler:compiler:1.3.2 wird freigegeben. 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 freigegeben. Version 1.3.1 enthält diese Commits.

Fehlerkorrekturen

  • Problem mit IllegalStateException wurde behoben, bei dem „Kompilierungs-Kompiler“ unter bestimmten Umständen fälschlicherweise als zusammensetzbare Einheitentypen 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 wird freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. Version 1.3.0-beta01 enthält diese Commits.

Neue Funktionen

  • Für Kotlin 1.7.10 wird jetzt unterstützt.

Version 1.2

Version 1.2.0

29. Juni 2022

androidx.compose.compiler:compiler:1.2.0 wird freigegeben. 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 freigegeben. Version 1.2.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Generierung von zusammensetzbaren Trace-Ereigniscode entfernt (aosp/2127922)

Version 1.2.0-rc01

15. Juni 2022

androidx.compose.compiler:compiler:1.2.0-rc01 wird freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. Version 1.2.0-beta01 enthält diese Commits.

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

Neue Funktionen

  • Für Kotlin 1.6.21 wird jetzt unterstützt.

Version 1.2.0-alpha08

20. April 2022

androidx.compose.compiler:compiler:1.2.0-alpha08 wird freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 wird freigegeben. Version 1.1.1 enthält diese Commits.

Fehlerkorrekturen

  • NullPointerException korrigieren unter androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • Ein Absturz wurde behoben, der durch Inhalte in der Zwischenablage beim Lesen aus der Zwischenablage auf Android-Geräten 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 wird freigegeben. 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
  • Beachten Sie, dass in Compose 1.0 der Layoutbereich von Material-Komponenten erweitert wird, um die Material-Richtlinien für Barrierefreiheit im Hinblick auf die Größe des Berührungszielbereichs zu erfüllen. Beispielsweise wird das Berührungsziel auf der Schaltfläche auf eine Mindestgröße von 48x48dp erweitert, auch wenn du eine kleinere Größe festgelegt hast. Dadurch wird das Verhalten von „Compose-Material“ an das gleiche Verhalten wie Material Design-Komponenten angepasst, was beim Mischen von Ansichten und der Funktion „Compose“ zu einem einheitlichen Verhalten führt. Durch diese Änderung wird auch sichergestellt, dass beim Erstellen Ihrer Benutzeroberfläche mit Compose Material-Komponenten die Mindestanforderungen für die Barrierefreiheit des Berührungszielbereichs erfüllt werden.
  • Stabile Unterstützung für Navigationsschienen
  • Eine Reihe von zuvor experimentellen APIs wird zu einer stabilen Version umgestellt
  • Unterstützung neuerer Versionen von Kotlin

Version 1.1.0-rc03

26. Januar 2022

androidx.compose.compiler:compiler:1.1.0-rc03 wird freigegeben. Version 1.1.0-rc03 enthält diese Commits.

Fehlerkorrekturen

  • Aktualisiert zur Unterstützung von Compose Material 1.1.0-rc03

Version 1.1.0-rc02

16. Dezember 2021

androidx.compose.compiler:compiler:1.1.0-rc02 wird freigegeben. Version 1.1.0-rc02 enthält diese Commits.

Aktualisierungen von Abhängigkeiten

  • „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 freigegeben. Version 1.1.0-rc01 enthält diese Commits.

Abhängigkeitsänderungen

  • „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 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 Datei build.gradle für Ihre Anwendung oder Ihr Modul, das Compose verwendet, das folgende Snippet hinzu:

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Version 1.1.0-beta04

1. Dezember 2021

androidx.compose.compiler:compiler:1.1.0-beta04 wird freigegeben. Version 1.1.0-beta04 enthält diese Commits.

Neue Funktionen

  • Für Kotlin-Kompatibilität aktualisiert 1.6.0

Version 1.1.0-beta03

17. November 2021

androidx.compose.compiler:compiler:1.1.0-beta03 wird freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 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)
  • Aktualisierung von „Compose“-1.1.0-alpha03 auf eine Abhängigkeit von Kotlin-1.5.30 wurde aktualisiert. (I74545)

Version 1.1.0-alpha02

18. August 2021

androidx.compose.compiler:compiler:1.1.0-alpha02 wird freigegeben. 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 freigegeben. 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 freigegeben. Version 1.0.5 enthält diese Commits.

Fehlerkorrekturen

  • Ein Absturz-Tracking für abgeleiteteStateOf-Instanzen wurde behoben. (aosp/1792247)

Version 1.0.4

13. Oktober 2021

androidx.compose.compiler:compiler:1.0.4 wird freigegeben. Version 1.0.4 enthält diese Commits.

Aktualisierungen von Abhängigkeiten

  • Aktualisiert und hängt von Kotlin ab 1.5.31

Version 1.0.3

29. September 2021

androidx.compose.compiler:compiler:1.0.3 wird freigegeben. Version 1.0.3 enthält diese Commits.

Aktualisierungen von Abhängigkeiten

  • Aktualisiert und hängt von Kotlin ab 1.5.30

Version 1.0.2

1. September 2021

androidx.compose.compiler:compiler:1.0.2 wird freigegeben. Version 1.0.2 enthält diese Commits.

Aktualisiert, um den Compose-Release 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 wird freigegeben. Version 1.0.1 enthält diese Commits.

Aktualisierungen von Abhängigkeiten

  • Aktualisiert, sodass sie von Kotlin-1.5.21 abhängig sind.

Version 1.0.0

28. Juli 2021

androidx.compose.compiler:compiler:1.0.0 wird freigegeben. 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 Blog zur Compose-Version.

Version 1.0.0-rc02

14. Juli 2021

androidx.compose.compiler:compiler:1.0.0-rc02 wird freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 wird freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. 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 freigegeben. Version 1.0.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Stabilitätsinferenz und -verbreitung. Das Compose Compiler-Plug-in analysiert die kompilierten Typen, um festzustellen, ob es für bestimmte Optimierungen durch die Laufzeit infrage kommt. Dieses abgeleitete Ergebnis wird dann als Metadaten in der Klasse synthetisiert, damit es vom Compiler in anderen Modulen verwendet wird. 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, was bedeutet, dass zusammensetzbare Funktionen, die mit dem Compiler alpha07 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 wird freigegeben. 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 freigegeben. 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 freigegeben. Version 1.0.0-alpha04 enthält diese Commits.

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