Compilateur Compose

Transformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
20 mars 2024 1.5.11 - - -

Structure

Compose est une combinaison de sept ID de groupe Maven dans androidx, chacun contenant un sous-ensemble ciblé de fonctionnalités. Chaque sous-ensemble est associé à son propre ensemble de notes de version.

Ce tableau décrit les différents groupes et renvoie à chaque ensemble de notes de version.

GroupeDescription
compose.animationCréer des animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur.
compose.compilerTransformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin.
compose.foundationConception d'applications Jetpack Compose avec des composants prêts à l'emploi et extension de la base pour créer vos propres éléments de système de conception.
compose.materialCréation d'UI Jetpack Compose avec des composants Material Design prêts à l'emploi. Il s'agit du point d'entrée de niveau supérieur de Compose, conçu pour fournir des composants qui correspondent à ceux décrits sur www.material.io.
compose.material3Création d'UI Jetpack Compose grâce aux composants Material Design 3, la nouvelle évolution de Material Design. Material 3 inclut des thématisations et des composants mis à jour ainsi que des fonctionnalités de personnalisation Material You telles que les couleurs dynamiques. Material 3 est conçu pour correspondre au nouveau style visuel et à l'UI du système Android 12.
compose.runtimeComposants fondamentaux du modèle de programmation et de la gestion d'état de Compose, et environnement d'exécution principal du plug-in Compose Compiler à cibler.
compose.uiComposants fondamentaux de l'interface utilisateur de Compose nécessaires pour interagir avec l'appareil, y compris la mise en page, le dessin et la saisie.

Déclarer des dépendances

Pour ajouter une dépendance sur Compose, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.5

Version 1.5.11

20 mars 2024

Publication d'androidx.compose.compiler:compiler:1.5.11 et d'androidx.compose.compiler:compiler-hosted:1.5.11. La version 1.5.11 contient ces commits.

Notes

  • À partir de cette version, le compilateur appellera désormais startReplaceGroup au lieu de startReplacableGroup lorsqu'un module est compilé avec un environnement d'exécution contenant cette méthode. startReplaceGroup a été introduit dans l'environnement d'exécution dans l'environnement d'exécution Compose 1.7.0-alpha03. Les appels à startRestartGroup ne sont générés que lorsque vous ciblez les versions 1.7.0-alpha03 ou ultérieures de l'environnement d'exécution.

  • Appeler startReplaceGroup au lieu de startReplaceableGroup permet à l'environnement d'exécution de détecter les modifications plus efficacement, mais peut affecter l'ordre dans lequel les modifications sont détectées par le Composer et envoyées à Applier. Cela peut entraîner des changements subtils de comportement si une Applier repose sur l'ordre dans lequel ces opérations sont détectées.

Nouvelles fonctionnalités

  • Compatibilité avec Kotlin 1.9.23.

Correction de bugs

  • Correction des types génériques externes imbriqués instables. (I3437f, b/327643787).
  • Prendre en charge plusieurs fichiers de configuration de la stabilité (I8db14, b/325326744).
  • Le compilateur Compose transforme désormais correctement les fonctions remplacées en parcourant de manière récursive les classes/remplacements de base. (I2c9f9, b/316196500).
  • Assurez-vous que la mémorisation des références de fonction n'essaie pas de capturer les parents implicites des déclarations locales lorsqu'elles ne sont pas utilisées directement. (Ib1267).
  • Correction de la génération de code pour le lambda crossinline composable (difficile de rencontrer ce bug sans "nonSkippingGroupOptimization" activé). (Icb2fd, b/325502738).

Version 1.5.10

21 février 2024

Publication d'androidx.compose.compiler:compiler:1.5.10 et d'androidx.compose.compiler:compiler-hosted:1.5.10. Liste des commits de la version 1.5.10

Correction de bugs

  • Prise en charge des littéraux actifs dans les blocs init. (b/320397488).
  • Utilisation du paramètre de coordinateur pour vérifier si la fonction se trouve dans une classe locale. (b/323123439)

Version 1.5.9

7 février 2024

Publication d'androidx.compose.compiler:compiler:1.5.9 et d'androidx.compose.compiler:compiler-hosted:1.5.9. Liste des commits de la version 1.5.9

Correction de bugs

  • Correction des appels composables dans l'initialiseur d'objet anonyme. (b/320261458, 96315c).
  • Comptabilise les déclarations locales récursives en tant que captures. (b/318745941, e7b4b0).
  • Correction du comportement de la mémorisation intrinsèque lié aux références de méthodes Java en forçant .changed pour les types de fonction avec mémorisation intrinsèque. (b/319810819, 77128e).
  • Ajout d'une optimisation expérimentale qui supprimera les groupes autour des fonctions qui ne peuvent pas être ignorées, comme celles explicitement marquées comme @NonSkippableComposable et celles qui ne le sont pas implicitement, comme les fonctions intégrées et les fonctions qui renvoient une valeur autre que "Unit" comme remember.
  • Cette optimisation peut être activée en transmettant l'option de plug-in -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true au compilateur Kotlin. (I1688f).

Version 1.5.8

10 janvier 2024

Publication d'androidx.compose.compiler:compiler:1.5.8 et d'androidx.compose.compiler:compiler-hosted:1.5.8. Liste des commits de la version 1.5.8

Nouvelles fonctionnalités

  • Compatibilité avec Kotlin 1.9.22.

Correction de bugs

  • Correction d'un bug qui provoquait des exceptions lors de la compilation du compilateur Compose à l'aide de Java21. Les utilisateurs qui se servent de Compose Compiler de Google Maven (c'est-à-dire qui ne le créent pas eux-mêmes) n'ont jamais été affectés par ce bug. (b/316644294).
  • Correction du bug qui entraînait le signalement de l'erreur COMPOSABLE_EXPECTED pour certains appelants de lambdas non intégrés. (b/309364913).
  • Ajout d'une erreur de compilation pour les paramètres par défaut dans les fonctions ouvertes (auparavant, elle n'était limitée que pour les fonctions abstraites). Pour le moment, Compose n'accepte pas la substitution des paramètres par défaut à partir de fonctions remplacées. Le remplacement d'une fonction modulable par des paramètres par défaut n'était pas possible au moment de l'exécution. Utilisez @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") pour la supprimer, mais notez que le remplacement de cette fonction sans fournir de valeur par défaut pour le paramètre entraînera un plantage au moment de l'exécution.(b/317490247)
  • Correction d'un bug dans la mémorisation intrinsèque qui empêchait la propagation correcte des valeurs. (b/316327367).

Contribution externe

  • Correction d'une faute de frappe dans la documentation. (aosp/288106).

Version 1.5.7

19 décembre 2023

Publication d'androidx.compose.compiler:compiler:1.5.7 et d'androidx.compose.compiler:compiler-hosted:1.5.7. Liste des commits de la version 1.5.7

Correction de bugs

  • Correction du plantage de l'environnement d'exécution Compose lorsque le paramètre de clé remember() appelle une fonction composable. (b/315855015)
  • Correction du plantage de l'environnement d'exécution Compose lorsque return@ est utilisé. (b/315821171).
  • Évitez d'utiliser des chemins absolus dans les clés de mémorisation, car cela permet une meilleure utilisation du cache de compilation. (b/313937484).

Version 1.5.6

6 décembre 2023

Publication d'androidx.compose.compiler:compiler:1.5.6 et d'androidx.compose.compiler:compiler-hosted:1.5.6. Liste des commits de la version 1.5.6

Nouvelles fonctionnalités

  • Compatibilité avec Kotlin 1.9.21.

Correction de bugs

  • Activer la mémorisation intrinsèque, c'est-à-dire la transformation de compilation qui s'intègre dans le plug-in de compilation Compose et qui remplace les comparaisons .equals par des comparaisons int du méta des paramètres pour les paramètres stables. Cela réduit le nombre d'emplacements utilisés et le nombre de comparaisons effectuées au moment de l'exécution. Vous pouvez désactiver cette option en fournissant l'argument du plug-in de compilation: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f).
  • Correction de la mémorisation des références de fonction adaptées et des arguments intégrés. (b/312738720).
  • Mise à jour des groupes lors de la fermeture de l'appel de fonction intégrée. (b/312242547)

Contribution externe

  • Correction du plantage de l'environnement d'exécution k/native et k/wasm en raison de l'absence d'instruction return dans les fonctions composables lorsqu'il s'agit de la dernière instruction et qu'il renvoie une constante nulle. (aosp/2835716)

Version 1.5.5

29 novembre 2023

Publication d'androidx.compose.compiler:compiler:1.5.5 et d'androidx.compose.compiler:compiler-hosted:1.5.5. Liste des commits de la version 1.5.5

Correction de bugs

  • Correction d'un plantage lors de la recherche des types de composables remplacés. (Ib6d2c, b/297665426)
    • Ajout de stabilityConfigurationPath aux paramètres connus (auparavant, le bug empêchait l'utilisation de l'indicateur du fichier de configuration). (b/309765121).
    • Correction de la mémorisation. (I081d1, I4d7bf)
    • Correction de recomposition en prenant en compte l'état de paramètre "Uncertain" dans la mémorisation intrinsèque. (b/263402091)
    • Correction des informations de ligne de débogage pour la mémorisation intrinsèque. (Ic8cf5)
    • Correction du plantage (échec de la réduction infrarouge) lors de la recherche de types composables remplacés au moment de la compilation. (b/297665426)

Contribution externe

  • Mémorisation des références de fonctions stables avec des arguments. (I4d7bf, b/302680514)

Version 1.5.4

7 novembre 2023

Publication d'androidx.compose.compiler:compiler:1.5.4 et d'androidx.compose.compiler:compiler-hosted:1.5.4. Liste des commits de la version 1.5.4

Mises à jour des dépendances

  • Le compilateur Compose est désormais compatible avec Kotlin 1.9.20.

Nouvelles fonctionnalités

  • Ajout d'une option expérimentale pour activer le mode Ignorer. Le mode Ignorer fort permet d'ignorer les composables avec des paramètres instables. De plus, les lambdas avec des captures instables sont mémorisés. Cette fonctionnalité est expérimentale et n'est pas considérée comme prête à être utilisée en production. (22421e).
  • Ajout d'un indicateur pour activer/désactiver les informations sur la source/la trace. (4d45f09).
  • Autoriser la configuration de la stabilité des classes externes à l'aide d'un fichier de configuration (If40eb).

Correction de bugs

  • Correction de la sortie anticipée des fonctions modulables lorsque les informations sources ne sont pas collectées. (fe6267).
  • Correction de l'erreur "Continue" depuis les fonctions modulables. (948362).
  • Correction de la résolution lorsque des fonctions modulables sont appelées depuis un appel de fonction présentant plusieurs surcharges qui dépendent du type renvoyé d'expression. (2d36d0).
  • Correction de la mémorisation lorsque la référence de fonction n'a pas de récepteur de distribution. (fc2326).
  • Correction d'une vérification modifiée qui empêchait la recomposition des lambdas dans certaines situations. (db3699).
  • Correction de la stabilité lors de la compilation incrémentielle sur plusieurs modules. (7d3e127).
  • Réduisez le champ d'application de @DontMemoize aux expressions lambda uniquement. (7a7fa52).
  • Correction des variables mal capturées lors de l'utilisation d'une interface modulable amusante en tant que lambda. (5ae3556).

Contribution externe

  • Utilisation du symbole d'égalité structurelle pour la comparaison des valeurs numériques et des valeurs nulles. (C612a0)

Version 1.5.3

29 août 2023

Publication d'androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3 et androidx.compose.compiler:compiler-hosted:1.5.3. Liste des commits de la version 1.5.3

Mise à jour de la dépendance

  • La version de Kotlin est mise à jour vers la version 1.9.10.

Version 1.5.2

23 août 2023

Publication d'androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2 et androidx.compose.compiler:compiler-hosted:1.5.2. Liste des commits de la version 1.5.2

Correction de bugs

  • Insérez des numéros de ligne pour les instructions de retour dans les fonctions composables à retour constant. (I42d89).
  • Correction d'une fuite de mémoire causée par le passage au nouveau point d'entrée du plug-in de compilation. (4f0a101).
  • Arrêtez de transformer des interfaces amusantes non modulables dans le compilateur Compose. Cela permet de gérer les interfaces amusantes de la même manière que les lambdas, y compris les règles de mémorisation. (28b3ce9).
  • Utilisez le type d'argument vararg pour déduire la stabilité sur le site d'appel. (bc83645).

Version 1.5.1

26 juillet 2023

Publication d'androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1 et androidx.compose.compiler:compiler-hosted:1.5.1. Liste des commits de la version 1.5.1

Correction de bugs

  • Correction des repères d'événements de trace de composition dans les fonctions @ReadOnlyComposable avec des retours anticipés, ce qui entraînait une corruption de trace.

Version 1.5.0

18 juillet 2023

Publication d'androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0 et androidx.compose.compiler:compiler-hosted:1.5.0. Liste des commits de la version 1.5.0

Compatibilité expérimentale avec l'interface K2

  • Le compilateur Compose 1.5.0 est compatible à des fins expérimentales avec le compilateur K2. Certaines fonctionnalités Compose ne sont pas encore compatibles avec K2 et le seront dans les futures versions du compilateur.

Changements importants depuis la version 1.4.0

  • La version de Kotlin est mise à jour vers la version 1.9.0.
  • Abandon des arguments nommés pour les appels lambda @Composable. Cette fonctionnalité repose sur des API de compilation internes et ne sera pas prise en charge par K2.
  • Ajout d'un diagnostic pour vérifier l'annotation @Composable sur les appels attendus/réels. Les deux déclarations doivent comporter des annotations correspondantes.

Version 1.4.8

Version 1.4.8

28 juin 2023

Publication d'androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8 et androidx.compose.compiler:compiler-hosted:1.4.8. Liste des commits de la version 1.4.8

Nouvelles fonctionnalités

  • La version cible du compilateur Kotlin est remontée à la version 1.8.22.

Correction de bugs

  • Amélioration du message d'erreur pour les remplacements de @Composable. Désormais, il signale correctement la non-concordance des annotations.
  • Avertir en cas d'annotation @Composable redondante sur les lambdas intégrés qui ne doivent pas être marqués comme composables. Cette fonctionnalité ne sera pas compatible avec le compilateur K2.

Version 1.4.7

Version 1.4.7

3 mai 2023

Publication d'androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7 et androidx.compose.compiler:compiler-hosted:1.4.7. Liste des commits de la version 1.4.7

Nouvelles fonctionnalités

  • Compatibilité avec Kotlin 1.8.21.
  • Ajout de versions primitives de l'API State, ce qui permet de suivre les valeurs Int, Long, Float et Double dans des objets State sans entraîner de pénalités pour autoboxing.

Version 1.4.6

Version 1.4.6

19 avril 2023

Publication d'androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6 et androidx.compose.compiler:compiler-hosted:1.4.6. Liste des commits de la version 1.4.6

Correction de bugs

  • Le compilateur Compose dépend désormais de Java11 (au lieu de Java17 requis par la version 1.4.5 de Compose Compiler) pour mieux prendre en charge les utilisateurs qui se servent encore d'anciennes versions de Java.

Version 1.4.5

Version 1.4.5

12 avril 2023

Publication d'androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5 et androidx.compose.compiler:compiler-hosted:1.4.5. Liste des commits de la version 1.4.5

REMARQUE Cette version du compilateur Compose nécessite que votre environnement de compilation utilise Java 17 ou une version ultérieure. Suite aux commentaires des utilisateurs, nous reviendrons à Java 11, puis nous proposerons une autre version (1.4.6) pour mieux répondre aux besoins des utilisateurs d'anciennes versions de Java.

Nouvelles fonctionnalités

Compatibilité avec Kotlin 1.8.20.

Correction de bugs

  • Application de l'exigence de forçage de l'opérateur d'appel composable aux classes et aux interfaces qui étendent des interfaces lambda avec les annotations correspondantes.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Autorise l'utilisation de l'annotation @Composable sur l'opérateur getValue et marque le getter généré pour le délégué comme composable dans les communications infrarouges afin de garantir qu'il sera correctement transformé ultérieurement. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Correction de l'erreur d'exécution de Compose interne (appel attendu de applyChanges()) pour les fonctions intégrées (b/274786923).
  • Évitez de capturer ProcessCancelledException, car il a une signification particulière dans l'IDE.b/274725600

Contribution externe

Version 1.4.4

Version 1.4.4

22 mars 2023

Publication d'androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4 et androidx.compose.compiler:compiler-hosted:1.4.4. Liste des commits de la version 1.4.4

Correction de bugs

  • Correction des retours lambda intégrés composables. (72172b)
  • Autoriser les composables à renvoyer Nothing (ne pas générer d'erreur lors de l'utilisation de TODO dans une fonction composable) 3aea8d)

Version 1.4.3

Version 1.4.3

22 février 2023

Publication d'androidx.compose.compiler:compiler:1.4.3. Liste des commits de la version 1.4.3

Correction de bugs

  • Correction des appels composables conditionnels dans les arguments des appels composables. (Ie93edb)

Version 1.4.2

Version 1.4.2

8 février 2023

Publication d'androidx.compose.compiler:compiler:1.4.2. Liste des commits de la version 1.4.2

Nouvelles fonctionnalités

  • Compatibilité avec Kotlin 1.8.10.

Correction de bugs

  • Ajout des groupes dans le corps des lambdas non désactivables afin d'éviter tout bug de recomposition.

Version 1.4.1

Version 1.4.1

8 février 2023

Publication d'androidx.compose.compiler:compiler:1.4.1. Liste des commits de la version 1.4.1

Correction de bugs

  • Désactivation de l'optimisation de la mémorisation intrinsèque, qui comportait quelques bugs de génération de code.
  • Désactivation de la mémorisation intrinsèque dans les fonctions contenant un paramètre vararg.
  • Correction des erreurs qui ignoraient des éléments dans les composables avec des paramètres par défaut.
  • Ajout d'un message d'erreur de remplacement défensif si la vérification de la compatibilité Kotlin échoue.
  • Suppression de l'étape où la génération de code était ignorée à partir du lambda intégré.

Version 1.4.0

17 janvier 2023

Publication d'androidx.compose.compiler:compiler:1.4.0. Liste des commits de la version 1.4.0

Changements importants depuis la version 1.3.0

  • Compatibilité avec Kotlin 1.8.0.
  • Mémorisation intrinsèque désactivée.
  • La classe de données ui-tooling Group dispose désormais d'un champ, isInline, qui indique si le groupe est destiné à un appel à une fonction modulable intégrée. Si isInline est défini sur true, il s'agit d'un appel à une fonction modulable intégrée. Toutefois, la valeur peut être "false" pour les appels à des fonctions modulables intégrées qui proviennent de modules compilés avec une version du plug-in de compilation Compose qui ne génère pas d'informations sur la fonction intégrée.
  • ImmutableCollection et ses frères persistants sont maintenant considérés comme stables.
  • Nouveau paramètre dans AnimatedContent pour l'étiquette d'outil.
  • Résolution du problème de génération de code pour le lambda intégré.

Version 1.4.0-alpha02

11 novembre 2022

Publication d'androidx.compose.compiler:compiler:1.4.0-alpha02. Liste des commits de la version 1.4.0-alpha02

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.7.21

Version 1.4.0-alpha01

9 novembre 2022

Publication d'androidx.compose.compiler:compiler:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01.

Correction de bugs

  • Correction permettant de renvoyer plus tôt des fonctions modulables intégrées (b/255350755)
  • Correction d'un bug lors de la réduction du leurre qui empêchait la prise en charge de Kotlin/JS dans Compose (6a40f8)

Version 1.3

Version 1.3.2

4 octobre 2022

Publication d'androidx.compose.compiler:compiler:1.3.2. Liste des commits de la version 1.3.2.

Nouvelle fonctionnalité

  • Cette version inclut une mise à jour vers Kotlin 1.7.20.

Version 1.3.1

7 septembre 2022

Publication d'androidx.compose.compiler:compiler:1.3.1. Liste des commits de la version 1.3.1

Correction de bugs

  • Correction de IllegalStateException : le compilateur Compose marquait par erreur les types d'unités comme composables dans certaines circonstances. (b/237863365)
  • Les utilisateurs doivent maintenant spécifier leur version de Kotlin préférée lorsqu'ils suppriment la vérification de la version du compilateur. (I9e5e2)

Version 1.3.0

10 août 2022

Publication d'androidx.compose.compiler:compiler:1.3.0. Liste des commits de la version 1.3.0.

Version 1.3.0-rc02

3 août 2022

Publication d'androidx.compose.compiler:compiler:1.3.0-rc02. Liste des commits de la version 1.3.0-rc02

Version 1.3.0-rc01

27 juillet 2022

Publication d'androidx.compose.compiler:compiler:1.3.0-rc01. Liste des commits de la version 1.3.0-rc01

Version 1.3.0-beta01

20 juillet 2022

Publication d'androidx.compose.compiler:compiler:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.7.10

Version 1.2

Version 1.2.0

29 juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0. Liste des commits de la version 1.2.0

Changements importants depuis la version 1.1.0

Version 1.2.0-rc02

22 juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-rc02. Liste des commits de la version 1.2.0-rc02

Correction de bugs

  • Suppression de la génération de code sur les événements de trace du composable (aosp/2127922)

Version 1.2.0-rc01

15 juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-rc01. Liste des commits de la version 1.2.0-rc01.

Version 1.2.0-beta03

1er juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-beta03. Liste des commits de la version 1.2.0-beta03

Version 1.2.0-beta02

18 mai 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-beta02. Liste des commits de la version 1.2.0-beta02

Version 1.2.0-beta01

11 mai 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01

  • Il s'agit de la première version bêta de la version 1.2. Aucune modification n'a été apportée depuis la dernière version alpha.

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.6.21

Version 1.2.0-alpha08

20 avril 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha08. Liste des commits de la version 1.2.0-alpha08.

Version 1.2.0-alpha07

6 avril 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha07. Liste des commits de la version 1.2.0-alpha07

Version 1.2.0-alpha06

23 mars 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha06. Liste des commits de la version 1.2.0-alpha06.

Version 1.2.0-alpha05

9 mars 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha05. Liste des commits de la version 1.2.0-alpha05

Version 1.2.0-alpha04

23 février 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha04. Liste des commits de la version 1.2.0-alpha04.

Version 1.2.0-alpha03

9 février 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha03. Liste des commits de la version 1.2.0-alpha03

Version 1.2.0-alpha02

26 janvier 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha02. Liste des commits de la version 1.2.0-alpha02

Version 1.2.0-alpha01

12 janvier 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.6.10

Version 1.1

Version 1.1.1

23 février 2022

Publication d'androidx.compose.compiler:compiler:1.1.1. Liste des commits de la version 1.1.1

Correction de bugs

  • Correction d'une exception NullPointerException dans androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList. (aosp/1947059, b/206677462)
  • Correction du plantage causé par le contenu du presse-papiers lors de la lecture du presse-papiers sur Android. (I06020, b/197769306)
  • Résolution du problème de lecture de droite à gauche dans LazyVerticalGrid. (aosp/1931080, b/207510535)

Version 1.1.0

9 février 2022

Publication d'androidx.compose.compiler:compiler:1.1.0. Liste des commits de la version 1.1.0

Modifications importantes depuis la version 1.0.0

  • Stabilisation de la prise en charge du défilement hors limites d'Android 12.
  • Améliorations apportées au dimensionnement des zones cibles tactiles.
  • Notez que, dans Compose 1.0, les composants Material développent leur espace de mise en page pour respecter les consignes d'accessibilité Material concernant la taille des zones cibles tactiles. Par exemple, la zone cible tactile minimale d'un bouton est de 48x48dp et sera étendue si le paramètre indique une dimension inférieure. Cela permet d'aligner la bibliothèque Compose Material sur le comportement des composants Material Design, pour plus de cohérence si vous combinez le système de vues et Compose. Cette modification garantit également que les conditions minimales requises pour l'accessibilité des zones cibles tactiles sont remplies lorsque vous créez votre UI à l'aide de composants Compose Material.
  • Stabilisation de la prise en charge du rail de navigation.
  • Reclassement d'un certain nombre d'API expérimentales en version stable.
  • Prise en charge des nouvelles versions de Kotlin.

Version 1.1.0-rc03

26 janvier 2022

Publication d'androidx.compose.compiler:compiler:1.1.0-rc03. Liste des commits de la version 1.1.0-rc03

Correction de bugs

  • Mise à jour pour assurer la compatibilité avec Compose Material 1.1.0-rc03

Version 1.1.0-rc02

16 décembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-rc02. Liste des commits de la version 1.1.0-rc02.

Mises à jour des dépendances

  • Le compilateur Compose 1.1.0-rc02 est compatible avec la version 1.6.10 de Kotlin.

Version 1.1.0-rc01

15 décembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-rc01. Liste des commits de la version 1.1.0-rc01

Modifications de la dépendance

  • Le compilateur Compose 1.1.0-rc01 est compatible avec la version 1.6.0 de Kotlin.
  • Une version 1.6.10 compatible est disponible via les Androidx.dev SNAPSHOT avec le buildId 8003490. L'extrait de dépendance suivant configure les SNAPSHOT pour le compilateur Compose :

    Ajoutez l'extrait suivant au fichier build.gradle racine de votre projet :

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

    Ajoutez l'extrait de code suivant dans le fichier build.gradle de votre application ou module qui utilise Compose :

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

Version 1.1.0-beta04

1er décembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta04. Liste des commits de la version 1.1.0-beta04

Nouvelles fonctionnalités

  • Mise à jour pour assurer la compatibilité avec Kotlin 1.6.0

Version 1.1.0-beta03

17 novembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta03. Liste des commits de la version 1.1.0-beta03

Version 1.1.0-beta02

3 novembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta02. Liste des commits de la version 1.1.0-beta02.

Version 1.1.0-beta01

27 octobre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta01. Liste des commits de la version 1.1.0-beta01

Version 1.1.0-alpha06

13 octobre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha06. Liste des commits de la version 1.1.0-alpha06.

Version 1.1.0-alpha05

29 septembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha05. Liste des commits de la version 1.1.0-alpha05.

Version 1.1.0-alpha04

15 septembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04.

Version 1.1.0-alpha03

1er septembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Nouvelles fonctionnalités

  • Le compilateur Compose est désormais compatible avec les anciennes versions de l'environnement d'exécution Compose (1.0). Avant cette modification, le compilateur Compose n'était compatible qu'avec l'environnement d'exécution Compose de la même version ou d'une version ultérieure. Après cette modification, le compilateur Compose est compatible avec une ancienne version de l'environnement d'exécution Compose (1.0). (aosp/1796968)
  • Mise à jour des dépendances Compose 1.1.0-alpha03 vers Kotlin 1.5.30. (I74545)

Version 1.1.0-alpha02

18 août 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Version 1.1.0-alpha01

4 août 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Version 1.0

Version 1.0.5

3 novembre 2021

Publication d'androidx.compose.compiler:compiler:1.0.5. Liste des commits de la version 1.0.5

Correction de bugs

  • Correction d'un plantage lié au suivi des instances de derivedStateOf. (aosp/1792247)

Version 1.0.4

13 octobre 2021

Publication d'androidx.compose.compiler:compiler:1.0.4. Liste des commits de la version 1.0.4

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.31

Version 1.0.3

29 septembre 2021

Publication d'androidx.compose.compiler:compiler:1.0.3. Liste des commits de la version 1.0.3

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.30

Version 1.0.2

1er septembre 2021

Publication d'androidx.compose.compiler:compiler:1.0.2. Liste des commits de la version 1.0.2

Mise à jour pour prendre en charge la version 1.0.2 de Compose. Compose 1.0.2 reste compatible avec Kotlin 1.5.21.

Version 1.0.1

4 août 2021

Publication d'androidx.compose.compiler:compiler:1.0.1. Liste des commits de la version 1.0.1

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.21

Version 1.0.0

28 juillet 2021

Publication d'androidx.compose.compiler:compiler:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

Première version stable de Compose. Pour en savoir plus, consultez le blog officiel des publications de Compose.

Version 1.0.0-rc02

14 juillet 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-rc02. Liste des commits de la version 1.0.0-rc02

Version 1.0.0-rc01

1er juillet 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01.

Version 1.0.0-beta09

16 juin 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta09. Liste des commits de la version 1.0.0-beta09.

Version 1.0.0-beta08

2 juin 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta08. Liste des commits de la version 1.0.0-beta08.

Version 1.0.0-beta07

18 mai 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta07. Liste des commits de la version 1.0.0-beta07

Version 1.0.0-beta06

5 mai 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta06. Liste des commits de la version 1.0.0-beta06.

Version 1.0.0-beta05

21 avril 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta05. Liste des commits de la version 1.0.0-beta05

Version 1.0.0-beta04

7 avril 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta04. Liste des commits de la version 1.0.0-beta04.

Version 1.0.0-beta03

24 mars 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta03. Liste des commits de la version 1.0.0-beta03.

Version 1.0.0-beta02

10 mars 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta02. Liste des commits de la version 1.0.0-beta02.

Version 1.0.0-beta01

24 février 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Première publication bêta de la version 1.0.0 de Compose.

Version 1.0.0-alpha12

10 février 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12.

Version 1.0.0-alpha11

28 janvier 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11.

Version 1.0.0-alpha10

13 janvier 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10.

Version 1.0.0-alpha09

16 décembre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09.

Version 1.0.0-alpha08

2 décembre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08.

Version 1.0.0-alpha07

11 novembre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07

Nouvelles fonctionnalités

  • Inférences et propagation de la stabilité. Le plug-in Compose Compiler analyse les types qu'il compile pour déterminer s'ils sont éligibles ou non à certaines optimisations par l'environnement d'exécution. Le résultat déduit est ensuite synthétisé sous forme de métadonnées sur la classe qui sera utilisée par le compilateur dans d'autres modules. De plus, le résultat de l'exécution de ces inférences est transmis dans les métadonnées transmises aux appels composables pendant la composition. Cela nécessitait un protocole de métadonnées différent pour les fonctions modulables, ce qui signifie que les fonctions modulables compilées avec le compilateur alpha07 ne seront pas compatibles avec les fonctions modulables compilées avec une version antérieure du compilateur. (aosp/1431988)

Version 1.0.0-alpha06

28 octobre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06.

Version 1.0.0-alpha05

14 octobre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.

Version 1.0.0-alpha04

1er octobre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04.

Refactorisation de androidx.compose:compose-compiler afin d'utiliser androidx.compose.compiler:compiler. Il s'agit de la première version dans le nouveau groupe.