Компилятор Compose

Преобразуйте функции @Composable и включите оптимизацию с помощью плагина компилятора Kotlin.
Последнее обновление Основная версия Release Candidate Бета-версия Альфа-версия
7 августа 2024 г. 1.5.15 - - -

Структура

Compose – это сочетание семи идентификаторов группы Maven в androidx. Каждая группа содержит определенный набор функций, для которых есть отдельные примечания к выпуску.

В таблице ниже перечислены группы и ссылки на примечания к каждому выпуску.

ГруппаОписание
compose.animationСоздавать анимацию в приложениях Jetpack Compose, чтобы повышать удобство для пользователей.
compose.compilerПреобразуйте функции @Composable и включите оптимизацию с помощью плагина компилятора Kotlin.
compose.foundationСоздавайте приложения Jetpack Compose с помощью готовых блоков и расширяйте их, чтобы создавать собственные элементы системы проектирования.
compose.materialСоздавайте интерфейсы Jetpack Compose с помощью готовых компонентов Material Design. Это точка входа более высокого уровня для Compose, предназначенная для предоставления компонентов, соответствующих описанным на сайте www.material.io.
compose.material3Создавайте интерфейсы Jetpack Compose с помощью компонентов Material Design 3 – следующего поколения Material Design. Material 3 включает обновленные темы и компоненты, а также функции персонализации Material You, такие как динамические цвета. Он разработан с учетом нового визуального стиля Android 12 и системного интерфейса.
compose.runtimeОсновные строительные блоки модели программирования и управления состоянием Compose, а также основная среда выполнения для плагина компилятора Compose.
compose.uiОсновные компоненты Compose UI, необходимые для взаимодействия с устройством, в том числе макет, отрисовка и ввод.

Как объявлять зависимости

Чтобы добавить зависимость от Compose, необходимо добавить в проект репозиторий Maven от Google. Подробная информация приведена в репозитории Google Maven.

Добавьте в файл build.gradle приложения или модуля зависимости для нужных артефактов:

классный

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Котлин

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Подробнее о зависимостях приведено в статье Добавление зависимостей сборки.

Отзыв

Ваши отзывы помогают нам улучшать Jetpack. Если вы обнаружите проблемы или решите что-то предложить, отправьте отзыв. Прежде чем создавать новую проблему, ознакомьтесь с существующими. Вы можете добавить свой голос к существующей проблеме, нажав на значок звездочки.

Как создать новую проблему

Дополнительную информацию можно найти в документации по системе отслеживания ошибок.

Версия 1.5

Версия 1.5.15

7 августа 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.15 и androidx.compose.compiler:compiler-hosted:1.5.15. Версия 1.5.15 содержит эти коммиты.

  • Эта версия компилятора предназначена для Kotlin 1.9.25.

Версия 1.5.14

14 мая 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.14 и androidx.compose.compiler:compiler-hosted:1.5.14. Версия 1.5.14 содержит эти коммиты.

Эта версия компилятора предназначена для Kotlin 1.9.24.

Исправление ошибок

  • Убедитесь, что встроенный текст отображается, когда информация об источнике отключена. (Idddb8)

Версия 1.5.13

1 мая 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.13 и androidx.compose.compiler:compiler-hosted:1.5.13. Версия 1.5.13 содержит эти коммиты.

Новые функции

  • Сильная перемотка больше не считается экспериментальной функцией и может использоваться в рабочих версиях. В одном из следующих выпусков это станет поведением по умолчанию. (I6c8c4)

Исправление ошибок

  • Исправлена двоичная совместимость для функций @Composable с параметрами класса значений, у которых есть значение по умолчанию и которые оборачивают не примитивное значение. (I89465
  • Исправления для компиляции JS и нативных приложений из Compose Multiplatform. Подробную информацию можно найти в диапазоне фиксаций выше.

Версия 1.5.12

17 апреля 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.12 и androidx.compose.compiler:compiler-hosted:1.5.12. Версия 1.5.12 содержит эти коммиты.

Исправление ошибок

  • Исправлена проблема с инкрементной компиляцией в Kotlin 1.9.23. (Ifca55)
  • Исправлены типы, допускающие значение NULL, в параметрах значений для встроенных классов, не являющихся примитивными. (Ie6bb5)

Версия 1.5.11

20 марта 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.11 и androidx.compose.compiler:compiler-hosted:1.5.11. Версия 1.5.11 содержит эти коммиты.

Примечания

  • Начиная с этой версии, при компиляции модуля с помощью среды выполнения, содержащей этот метод, компилятор будет вызывать startReplaceGroup вместо startReplacableGroup. Функция startReplaceGroup была добавлена в среду выполнения в Compose Runtime 1.7.0-alpha03. Вызовы startRestartGroup генерируются только при таргетинге на версию среды выполнения 1.7.0-alpha03 или более позднюю.

  • Вызов startReplaceGroup вместо startReplaceableGroup позволяет среде выполнения более эффективно обнаруживать изменения, но может повлиять на порядок, в котором изменения обнаруживаются Composer и отправляются в Applier. Это может привести к незначительным изменениям в поведении, если объект Applier зависит от порядка обнаружения этих операций.

Новые функции

  • Поддержка Kotlin 1.9.23

Исправление ошибок

  • Исправлена проблема, из-за которой вложенные внешние общие типы определялись как нестабильные. (I3437f, b/327643787)
  • Поддержка нескольких файлов конфигурации стабильности. (I8db14, b/325326744)
  • Компилятор Compose теперь правильно преобразует переопределенные функции, рекурсивно проходя по базовым классам и переопределениям. (I2c9f9, b/316196500)
  • Убедитесь, что при мемоизации ссылок на функции не предпринимается попытка захватить неявных родителей локальных объявлений, если они не используются напрямую. (Ib1267)
  • Исправлена генерация кода для composable-функции crossinline (без включенной оптимизации nonSkippingGroupOptimization обнаружить эту ошибку сложно). (Icb2fd, b/325502738)

Версия 1.5.10

21 февраля 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.10 и androidx.compose.compiler:compiler-hosted:1.5.10. Версия 1.5.10 содержит следующие коммиты:

Исправление ошибок

  • Поддержка литералов в блоках инициализации. (b/320397488)
  • Используйте параметр диспетчера, чтобы проверить, находится ли функция в локальном классе (b/323123439).

Версия 1.5.9

7 февраля 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.9 и androidx.compose.compiler:compiler-hosted:1.5.9. Версия 1.5.9 содержит следующие коммиты:

Исправление ошибок

  • Исправлены вызовы composable-функций в инициализаторе анонимного объекта. (b/320261458, 96315c)
  • Учитывать рекурсивные локальные объявления как захваты. (b/318745941, e7b4b0)
  • Исправлено поведение встроенной функции remember, связанное со ссылками на методы Java, путем принудительного использования .changed для типов функций со встроенной функцией remember. (b/319810819, 77128e)
  • Добавлена экспериментальная оптимизация, которая удаляет группы вокруг функций, которые нельзя пропустить, например явно отмеченных как @NonSkippableComposable и неявно не пропускаемых, таких как встроенные функции и функции, возвращающие значение, отличное от Unit, например remember.
  • Чтобы включить эту оптимизацию, передайте компилятору Kotlin параметр plugin option, -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true. (I1688f)

Версия 1.5.8

10 января 2024 г.

Выпущены androidx.compose.compiler:compiler:1.5.8 и androidx.compose.compiler:compiler-hosted:1.5.8. Версия 1.5.8 содержит следующие коммиты:

Новые функции

  • Поддержка Kotlin 1.9.22

Исправление ошибок

  • Исправлена ошибка, из-за которой при сборке с помощью Java 21 возникали исключения. Пользователи, которые используют Compose Compiler из Google Maven (то есть не создают его самостоятельно), никогда не сталкивались с этой ошибкой. (b/316644294)
  • Исправлена ошибка, из-за которой для некоторых вызывающих не встроенные лямбда-функции сообщалось об ошибке COMPOSABLE_EXPECTED. (b/309364913)
  • Добавлена ошибка компиляции для параметров по умолчанию в открытых функциях (ранее она была ограничена только абстрактными функциями). В настоящее время Compose не поддерживает замену параметров по умолчанию из переопределенных функций, поэтому переопределение composable-функции с параметрами по умолчанию приводило к ошибке во время выполнения. Используйте @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE"), чтобы подавить функцию, но помните, что переопределение такой функции без указания значения по умолчанию для параметра приведет к сбою во время выполнения.(b/317490247)
  • Исправлена ошибка во встроенной функции запоминания, из-за которой значения не распространялись должным образом. (b/316327367)

Внешний вклад

  • Исправлена опечатка в документации. (aosp/288106)

Версия 1.5.7

19 декабря 2023 г.

Выпущены androidx.compose.compiler:compiler:1.5.7 и androidx.compose.compiler:compiler-hosted:1.5.7. Версия 1.5.7 содержит следующие коммиты:

Исправление ошибок

  • Исправлен сбой во время выполнения при создании, когда параметр ключа remember() вызывает composable-функцию (b/315855015)
  • Исправлена ошибка, приводившая к сбою во время выполнения Compose при использовании return@. (b/315821171)
  • Не используйте абсолютные пути в ключах мемоизации, чтобы повысить эффективность использования кеша сборки. (b/313937484)

Версия 1.5.6

6 декабря 2023 г.

Выпущены androidx.compose.compiler:compiler:1.5.6 и androidx.compose.compiler:compiler-hosted:1.5.6. Версия 1.5.6 содержит следующие коммиты:

Новые функции

  • Поддержка Kotlin 1.9.21

Исправление ошибок

  • Включите встроенную функцию запоминания. Компилятор преобразует ее, встраивая функцию запоминания в плагин компилятора Compose и заменяя сравнения .equals сравнениями целых чисел метаданных параметров для стабильных параметров. В результате используется меньше слотов и во время выполнения выполняется меньше сравнений. Эту функцию можно отключить, указав аргумент плагина компилятора: -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false. (If675f)
  • Исправлена мемоизация адаптированных ссылок на функции и встроенных аргументов. (b/312738720)
  • Реализация групп при выходе из встроенного вызова функции (b/312242547)

Внешний вклад

  • Исправлена ошибка в работе среды выполнения k/native и k/wasm, связанная с отсутствием оператора return в функциях Composable, когда он является последним оператором и возвращает нулевую константу (aosp/2835716).

Версия 1.5.5

29 ноября 2023 г.

Выпущены androidx.compose.compiler:compiler:1.5.5 и androidx.compose.compiler:compiler-hosted:1.5.5. Версия 1.5.5 содержит следующие коммиты:

Исправление ошибок

  • Исправлен сбой при поиске переопределенных типов функций, поддерживающих композицию (Ib6d2c, b/297665426).
    • Добавлен символ stabilityConfigurationPath к известным параметрам (ранее ошибка не позволяла использовать флаг файла конфигурации). (b/309765121)
    • Исправления мемоизации (I081d1, I4d7bf)
    • Исправлена ошибка, связанная с повторной композицией, путем учета состояния параметра Uncertain во встроенной функции запоминания (b/263402091)
    • Исправлена информация о строке отладки для встроенной функции запоминания (Ic8cf5)
    • Исправлена ошибка, из-за которой во время компиляции происходил сбой (не удалось понизить уровень IR) при поиске переопределенных типов composable (b/297665426).

Внешний вклад

  • Кэширование стабильных ссылок на функции с аргументами (I4d7bf, b/302680514)

Версия 1.5.4

7 ноября 2023 г.

Выпущены androidx.compose.compiler:compiler:1.5.4 и androidx.compose.compiler:compiler-hosted:1.5.4. Версия 1.5.4 содержит следующие коммиты:

Обновления зависимостей

  • Компилятор Compose теперь совместим с Kotlin 1.9.20

Новые функции

  • Добавлена экспериментальная функция, позволяющая включить режим пропуска с помощью сильного нажатия. В строгом режиме пропуска можно пропускать композиции с нестабильными параметрами. Кроме того, лямбда-функции с нестабильными захватами мемоизируются. Это экспериментальная функция, которая не предназначена для использования в рабочей среде. (22421e)
  • Добавьте флаг, чтобы включить или отключить информацию об источнике или трассировке. (4d45f09)
  • Разрешить настраивать стабильность внешних классов с помощью файла конфигурации. (If40eb)

Исправление ошибок

  • Исправлена проблема с преждевременным выходом из составных функций, когда не собирается информация об источнике. (fe6267)
  • Исправлена ошибка, связанная с продолжением работы с функциями, которые можно комбинировать. (948362)
  • Исправлена проблема с разрешением, возникающая при вызове компонуемых функций из вызова функции с несколькими перегрузками, которые зависят от типа возвращаемого значения выражения. (2d36d0)
  • Исправлена ошибка мемоизации, когда у ссылки на функцию нет получателя. (fc2326)
  • Исправлена проверка, которая в некоторых случаях препятствовала повторному составлению лямбда-функций. (db3699)
  • Устранена проблема со стабильностью при пошаговой компиляции модулей. (7d3e127)
  • Уменьшите область действия @DontMemoize до лямбда-выражений. (7a7fa52)
  • Исправлена ошибка, из-за которой переменные неправильно захватывались при использовании интерфейса функции Composable в качестве лямбда-выражения. (5ae3556)

Внешний вклад

  • Использование символа структурного равенства для сравнения числовых значений и значений NULL (c612a0)

Версия 1.5.3

29 августа 2023 г.

androidx.compose.compiler:compiler:1.5.3, androidx.compose.compiler:compiler-daemon:1.5.3 и androidx.compose.compiler:compiler-hosted:1.5.3. Версия 1.5.3 содержит следующие коммиты:

Обновление зависимостей

  • Версия Kotlin обновлена до 1.9.10

Версия 1.5.2

23 августа 2023 г.

androidx.compose.compiler:compiler:1.5.2, androidx.compose.compiler:compiler-daemon:1.5.2 и androidx.compose.compiler:compiler-hosted:1.5.2. Версия 1.5.2 содержит следующие коммиты:

Исправление ошибок

  • Вставляйте номера строк для операторов return в композиционных функциях, возвращающих константы. (I42d89)
  • Устранена утечка памяти, вызванная переходом на новую точку входа плагина компилятора. (4f0a101)
  • Прекратите преобразовывать некомпонуемые интерфейсы функций в компиляторе Compose. В результате функциональные интерфейсы обрабатываются так же, как лямбда-выражения, в том числе с учетом правил мемоизации. (28b3ce9)
  • Используйте тип аргумента vararg для определения стабильности в месте вызова. (bc83645)

Версия 1.5.1

26 июля 2023 г.

androidx.compose.compiler:compiler:1.5.1, androidx.compose.compiler:compiler-daemon:1.5.1 и androidx.compose.compiler:compiler-hosted:1.5.1. Версия 1.5.1 содержит следующие коммиты:

Исправление ошибок

  • Исправлены маркеры событий трассировки композиции в функциях @ReadOnlyComposable с ранним возвратом, которые приводили к повреждению трассировки.

Версия 1.5.0

18 июля 2023 г.

androidx.compose.compiler:compiler:1.5.0, androidx.compose.compiler:compiler-daemon:1.5.0 и androidx.compose.compiler:compiler-hosted:1.5.0. Версия 1.5.0 содержит следующие коммиты:

Экспериментальная поддержка K2

  • Компилятор Compose 1.5.0 поддерживает компилятор K2 в экспериментальном режиме. Некоторые функции Compose пока не поддерживаются в K2, но будут добавлены в будущих версиях компилятора.

Важные изменения с версии 1.4.0

  • Версия Kotlin обновлена до 1.9.0.
  • Именованные аргументы для вызовов лямбда-функций @Composable больше не поддерживаются. Эта функция использует внутренние API компилятора и не будет поддерживаться в K2.
  • Добавлена диагностика для проверки аннотации @Composable в вызовах expect/actual. Аннотации в обеих декларациях должны совпадать.

Версия 1.4.8

Версия 1.4.8

28 июня 2023 г.

androidx.compose.compiler:compiler:1.4.8, androidx.compose.compiler:compiler-daemon:1.4.8 и androidx.compose.compiler:compiler-hosted:1.4.8. Версия 1.4.8 содержит следующие коммиты:

Новые функции

  • Целевая версия компилятора Kotlin обновлена до 1.8.22.

Исправление ошибок

  • Улучшено сообщение об ошибке для переопределений @Composable. Теперь он правильно указывает на несоответствие аннотаций.
  • Предупреждение о лишней аннотации @Composable для встроенных лямбда-выражений, которые не должны быть отмечены как composable-функции. Эта функция не будет поддерживаться компилятором K2.

Версия 1.4.7

Версия 1.4.7

3 мая 2023 г.

androidx.compose.compiler:compiler:1.4.7, androidx.compose.compiler:compiler-daemon:1.4.7 и androidx.compose.compiler:compiler-hosted:1.4.7. Версия 1.4.7 содержит следующие коммиты:

Новые функции

  • Поддержка Kotlin 1.8.21
  • Добавлены примитивные версии API State, позволяющие отслеживать значения Int, Long, Float и Double в объектах State без штрафов за автоупаковку.

Версия 1.4.6

Версия 1.4.6

19 апреля 2023 г.

androidx.compose.compiler:compiler:1.4.6, androidx.compose.compiler:compiler-daemon:1.4.6 и androidx.compose.compiler:compiler-hosted:1.4.6. Версия 1.4.6 содержит следующие коммиты:

Исправление ошибок

  • Теперь для Compose Compiler требуется Java 11 (а не Java 17, как для Compose Compiler версии 1.4.5). Это сделано для того, чтобы обеспечить поддержку пользователей, которые по-прежнему используют более старые версии Java.

Версия 1.4.5

Версия 1.4.5

12 апреля 2023 г.

androidx.compose.compiler:compiler:1.4.5, androidx.compose.compiler:compiler-daemon:1.4.5 и androidx.compose.compiler:compiler-hosted:1.4.5. Версия 1.4.5 содержит следующие коммиты:

Примечание. Для этой версии компилятора Compose требуется, чтобы в среде сборки использовалась Java 17 или более поздняя версия. Мы получили отзывы пользователей и решили вернуться к Java 11. В следующем выпуске (1.4.6) мы добавим поддержку более старых версий Java.

Новые функции

Поддержка Kotlin 1.8.20

Исправление ошибок

  • Распространение требования переопределения оператора вызова, поддерживающего композицию, на классы и интерфейсы, которые расширяют интерфейсы лямбда-функций с соответствующими аннотациями.f8f2f78a1a769c2373201027f12700e772e4e97e
  • Позволяет использовать аннотацию @Composable для оператора getValue и помечает сгенерированный геттер для делегата как компонуемый в IR, чтобы обеспечить его правильное преобразование в дальнейшем. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Исправлена внутренняя ошибка времени выполнения Compose (ожидался вызов applyChanges()) для встроенных функций.b/274786923
  • Не используйте символ ProcessCancelledException, поскольку в IDE он имеет особое значение.b/274725600

Внешний вклад

Версия 1.4.4

Версия 1.4.4

22 марта 2023 г.

androidx.compose.compiler:compiler:1.4.4, androidx.compose.compiler:compiler-daemon:1.4.4 и androidx.compose.compiler:compiler-hosted:1.4.4. Версия 1.4.4 содержит следующие коммиты:

Исправление ошибок

  • Исправлены возвращаемые значения встроенных лямбда-функций Composable (72172b)
  • Разрешить composable-функциям возвращать значение Nothing (не создавать ошибку при использовании TODO в composable-функции) 3aea8d.

Версия 1.4.3

Версия 1.4.3

22 февраля 2023 г.

Выход androidx.compose.compiler:compiler:1.4.3. Версия 1.4.3 содержит следующие коммиты:

Исправление ошибок

  • Исправлены условные вызовы composable-функций в аргументах вызовов composable-функций (Ie93edb).

Версия 1.4.2

Версия 1.4.2

8 февраля 2023 г.

Выход androidx.compose.compiler:compiler:1.4.2. Версия 1.4.2 содержит следующие коммиты:

Новые функции

  • Поддержка Kotlin 1.8.10

Исправление ошибок

  • Добавьте группы в тело лямбда-функций, которые нельзя пропустить, чтобы избежать ошибки повторной композиции.

Версия 1.4.1

Версия 1.4.1

8 февраля 2023 г.

Выход androidx.compose.compiler:compiler:1.4.1. Версия 1.4.1 содержит следующие коммиты:

Исправление ошибок

  • Отключена оптимизация встроенной функции запоминания, которая ранее приводила к ошибкам при создании кода.
  • Отключите встроенную функцию запоминания в функциях, содержащих параметр vararg.
  • Как исправить пропуск композиций с параметрами по умолчанию
  • Добавлено сообщение об ошибке для случаев, когда не удается проверить совместимость с Kotlin.
  • Удаление пропуска генерации кода из встроенной лямбда-функции

Версия 1.4.0

17 января 2023 г.

Выход androidx.compose.compiler:compiler:1.4.0. Версия 1.4.0 содержит следующие коммиты:

Важные изменения с версии 1.3.0

  • Поддержка Kotlin 1.8.0
  • Отключена встроенная функция запоминания
  • В класс данных ui tooling Group добавлено поле isInline, которое указывает, предназначена ли группа для вызова встроенной composable-функции. Если isInline – true, то вызов относится к встроенной composable-функции. Однако значение может быть ложным для вызовов встроенных функций, которые относятся к модулям, скомпилированным с помощью плагина компилятора Compose, не генерирующего информацию о встроенных функциях.
  • ImmutableCollection и их постоянные аналоги теперь считаются стабильными.
  • Новый параметр в группе "AnimatedContent" для ярлыка инструмента
  • Исправлена ошибка при создании кода для встроенной лямбда-функции.

Версия 1.4.0-alpha02

11 ноября 2022 г.

Выход androidx.compose.compiler:compiler:1.4.0-alpha02. Версия 1.4.0-alpha02 содержит следующие коммиты:

Новые функции

  • Добавлена поддержка Kotlin 1.7.21

Версия 1.4.0-alpha01

9 ноября 2022 г.

Выход androidx.compose.compiler:compiler:1.4.0-alpha01. Версия 1.4.0-alpha01 содержит следующие коммиты:

Исправление ошибок

  • Исправлена возможность досрочного выхода из встроенных composable-функций (b/255350755).
  • Исправлена ошибка в функции понижения ложных значений, из-за которой в Compose не поддерживался Kotlin/JS (6a40f8).

Версия 1.3

Версия 1.3.2

4 октября 2022 г.

Выход androidx.compose.compiler:compiler:1.3.2. Версия 1.3.2 содержит следующие коммиты:

Новая функция

  • В этой версии обновлен Kotlin до версии 1.7.20.

Версия 1.3.1

7 сентября 2022 г.

Выход androidx.compose.compiler:compiler:1.3.1. Версия 1.3.1 содержит следующие коммиты:

Исправление ошибок

  • Исправлена ошибка IllegalStateException, из-за которой в некоторых случаях компилятор Compose ошибочно отмечал типы единиц как composable-функции. (b/237863365)
  • Теперь при отключении проверки версии компилятора (I9e5e2) пользователи должны указывать предпочитаемую версию Kotlin.

Версия 1.3.0

10 августа 2022 г.

Выход androidx.compose.compiler:compiler:1.3.0. Версия 1.3.0 содержит следующие коммиты:

Версия 1.3.0-rc02

3 августа 2022 г.

Выход androidx.compose.compiler:compiler:1.3.0-rc02. Версия 1.3.0-rc02 содержит следующие коммиты:

Версия 1.3.0-rc01

27 июля 2022 г.

Выход androidx.compose.compiler:compiler:1.3.0-rc01. Версия 1.3.0-rc01 содержит следующие коммиты:

Версия 1.3.0-beta01

20 июля 2022 г.

Выход androidx.compose.compiler:compiler:1.3.0-beta01. Версия 1.3.0-beta01 содержит следующие коммиты:

Новые функции

  • Добавлена поддержка Kotlin 1.7.10

Версия 1.2

Версия 1.2.0

29 июня 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0. Версия 1.2.0 содержит следующие коммиты:

Важные изменения с версии 1.1.0

Версия 1.2.0-rc02

22 июня 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-rc02. Версия 1.2.0-rc02 содержит следующие коммиты:

Исправление ошибок

  • Удалена генерация кода для событий трассировки с возможностью компоновки (aosp/2127922).

Версия 1.2.0-rc01

15 июня 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-rc01. Версия 1.2.0-rc01 содержит следующие коммиты:

Версия 1.2.0-beta03

1 июня 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-beta03. Версия 1.2.0-beta03 содержит следующие коммиты:

Версия 1.2.0-beta02

18 мая 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-beta02. Версия 1.2.0-beta02 содержит следующие коммиты:

Версия 1.2.0-beta01

11 мая 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-beta01. Версия 1.2.0-beta01 содержит следующие коммиты:

  • Это первая бета-версия 1.2. С момента выпуска последней альфа-версии изменений не было.

Новые функции

  • Добавлена поддержка Kotlin 1.6.21

Версия 1.2.0-alpha08

20 апреля 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha08. Версия 1.2.0-alpha08 содержит следующие коммиты:

Версия 1.2.0-alpha07

6 апреля 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha07. Версия 1.2.0-alpha07 содержит следующие коммиты:

Версия 1.2.0-alpha06

23 марта 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha06. Версия 1.2.0-alpha06 содержит следующие коммиты:

Версия 1.2.0-alpha05

9 марта 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha05. Версия 1.2.0-alpha05 содержит следующие коммиты:

Версия 1.2.0-alpha04

23 февраля 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha04. Версия 1.2.0-alpha04 содержит следующие коммиты:

Версия 1.2.0-alpha03

9 февраля 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha03. Версия 1.2.0-alpha03 содержит следующие коммиты:

Версия 1.2.0-alpha02

26 января 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha02. Версия 1.2.0-alpha02 содержит следующие коммиты:

Версия 1.2.0-alpha01

12 января 2022 г.

Выход androidx.compose.compiler:compiler:1.2.0-alpha01. Версия 1.2.0-alpha01 содержит следующие коммиты:

Новые функции

  • Добавлена поддержка Kotlin 1.6.10.

Версия 1.1

Версия 1.1.1

23 февраля 2022 г.

Выход androidx.compose.compiler:compiler:1.1.1. Версия 1.1.1 содержит следующие коммиты:

Исправление ошибок

  • Исправлена ошибка NullPointerException в androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • Исправлен сбой, вызванный содержимым буфера обмена при чтении из него на устройстве Android. (I06020, b/197769306)
  • Исправлена поддержка письма справа налево в LazyVerticalGrid (aosp/1931080, b/207510535).

Версия 1.1.0

9 февраля 2022 г.

Выход androidx.compose.compiler:compiler:1.1.0. Версия 1.1.0 содержит следующие коммиты:

Важные изменения с версии 1.0.0

  • Стабильная поддержка эффекта достижения конца прокрутки в Android 12
  • Улучшения в определении размера области прикосновения
  • Обратите внимание, что в Compose 1.0 компоненты Material будут расширять пространство макета в соответствии с рекомендациями по обеспечению доступности для размера интерактивных элементов. Например, область прикосновения кнопки будет расширена до минимального размера 48x48dp, даже если вы зададите меньший размер кнопки. Это позволяет обеспечить согласованное поведение компонентов Material Design и Compose Material при их совместном использовании. Это изменение также гарантирует, что при создании интерфейса с помощью компонентов Compose Material будут соблюдены минимальные требования к доступности областей прикосновения.
  • Стабильная поддержка боковой панели навигации
  • Несколько экспериментальных API переведены в стабильную версию.
  • Поддержка более новых версий Kotlin

Версия 1.1.0-rc03

26 января 2022 г.

Выход androidx.compose.compiler:compiler:1.1.0-rc03. Версия 1.1.0-rc03 содержит следующие коммиты:

Исправление ошибок

  • Обновлена поддержка Compose Material 1.1.0-rc03

Версия 1.1.0-rc02

16 декабря 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-rc02. Версия 1.1.0-rc02 содержит следующие коммиты:

Обновления зависимостей

  • Компилятор Compose 1.1.0-rc02 совместим с Kotlin 1.6.10.

Версия 1.1.0-rc01

15 декабря 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-rc01. Версия 1.1.0-rc01 содержит следующие коммиты:

Изменения зависимостей

  • Компилятор Compose 1.1.0-rc01 совместим с Kotlin 1.6.0.
  • Совместимая сборка 1.6.10 доступна в виде моментальных снимков androidx.dev с buildId 8003490. Следующий фрагмент кода зависимости настроит SNAPSHOT для компилятора Compose:

    Добавьте в корневой файл build.gradle проекта следующий фрагмент кода:

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

    Добавьте следующий фрагмент в файл build.gradle для приложения или модуля, в котором используется Compose:

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

Версия 1.1.0-beta04

1 декабря 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-beta04. Версия 1.1.0-beta04 содержит следующие коммиты:

Новые функции

  • Обновлено для совместимости с Kotlin 1.6.0

Версия 1.1.0-beta03

17 ноября 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-beta03. Версия 1.1.0-beta03 содержит следующие коммиты:

Версия 1.1.0-beta02

3 ноября 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-beta02. Версия 1.1.0-beta02 содержит следующие коммиты.

Версия 1.1.0-beta01

27 октября 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-beta01. Версия 1.1.0-beta01 содержит следующие коммиты:

Версия 1.1.0-alpha06

13 октября 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-alpha06. Версия 1.1.0-alpha06 содержит следующие коммиты:

Версия 1.1.0-alpha05

29 сентября 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-alpha05. Версия 1.1.0-alpha05 содержит следующие коммиты:

Версия 1.1.0-alpha04

15 сентября 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-alpha04. Версия 1.1.0-alpha04 содержит следующие коммиты:

Версия 1.1.0-alpha03

1 сентября 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-alpha03. Версия 1.1.0-alpha03 содержит следующие коммиты.

Новые функции

  • Компилятор Compose теперь поддерживает более ранние версии среды выполнения Compose (1.0). До этого изменения Компилятор Compose был совместим только со средой выполнения Compose той же или более поздней версии. После этого изменения компилятор Compose стал совместим с более ранней версией среды выполнения Compose (1.0). (aosp/1796968)
  • Обновлена зависимость Compose 1.1.0-alpha03 от Kotlin 1.5.30. (I74545)

Версия 1.1.0-alpha02

18 августа 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-alpha02. Версия 1.1.0-alpha02 содержит следующие коммиты:

Версия 1.1.0-alpha01

4 августа 2021 г.

Выход androidx.compose.compiler:compiler:1.1.0-alpha01. Версия 1.1.0-alpha01 содержит следующие коммиты:

Версия 1.0

Версия 1.0.5

3 ноября 2021 г.

Выход androidx.compose.compiler:compiler:1.0.5. Версия 1.0.5 содержит следующие коммиты:

Исправление ошибок

  • Исправлена ошибка отслеживания сбоев, связанных с экземплярами derivedStateOf. (aosp/1792247)

Версия 1.0.4

13 октября 2021 г.

Выход androidx.compose.compiler:compiler:1.0.4. Версия 1.0.4 содержит следующие коммиты:

Обновления зависимостей

  • Обновлена зависимость от Kotlin 1.5.31

Версия 1.0.3

29 сентября 2021 г.

Выход androidx.compose.compiler:compiler:1.0.3. Версия 1.0.3 содержит следующие коммиты:

Обновления зависимостей

  • Обновлена зависимость от Kotlin 1.5.30

Версия 1.0.2

1 сентября 2021 г.

Выход androidx.compose.compiler:compiler:1.0.2. Версия 1.0.2 содержит следующие коммиты:

Добавлена поддержка версии Compose 1.0.2. Compose 1.0.2 по-прежнему совместим с Kotlin 1.5.21.

Версия 1.0.1

4 августа 2021 г.

Выход androidx.compose.compiler:compiler:1.0.1. Версия 1.0.1 содержит следующие коммиты:

Обновления зависимостей

  • Обновлена зависимость от Kotlin 1.5.21.

Версия 1.0.0

28 июля 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0. Версия 1.0.0 содержит следующие коммиты:

Основные функции версии 1.0.0

Это первый стабильный выпуск Compose. Подробную информацию можно найти в официальном блоге Compose Release.

Версия 1.0.0-rc02

14 июля 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-rc02. Версия 1.0.0-rc02 содержит следующие коммиты:

Версия 1.0.0-rc01

1 июля 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-rc01. Версия 1.0.0-rc01 содержит следующие коммиты:

Версия 1.0.0-beta09

16 июня 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta09. Версия 1.0.0-beta09 содержит следующие коммиты:

Версия 1.0.0-beta08

2 июня 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta08. Версия 1.0.0-beta08 содержит следующие коммиты:

Версия 1.0.0-beta07

18 мая 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta07. Версия 1.0.0-beta07 содержит следующие коммиты.

Версия 1.0.0-beta06

5 мая 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta06. Версия 1.0.0-beta06 содержит следующие коммиты.

Версия 1.0.0-beta05

21 апреля 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta05. Версия 1.0.0-beta05 содержит следующие коммиты:

Версия 1.0.0-beta04

7 апреля 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta04. Версия 1.0.0-beta04 содержит следующие коммиты.

Версия 1.0.0-beta03

24 марта 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta03. Версия 1.0.0-beta03 содержит следующие коммиты:

Версия 1.0.0-beta02

10 марта 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta02. Версия 1.0.0-beta02 содержит следующие коммиты:

Версия 1.0.0-beta01

24 февраля 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-beta01. Версия 1.0.0-beta01 содержит следующие коммиты:

Это первый выпуск Compose 1.0.0 Beta.

Версия 1.0.0-alpha12

10 февраля 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha12. Версия 1.0.0-alpha12 содержит следующие коммиты:

Версия 1.0.0-alpha11

28 января 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha11. Версия 1.0.0-alpha11 содержит следующие коммиты:

Версия 1.0.0-alpha10

13 января 2021 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha10. Версия 1.0.0-alpha10 содержит следующие коммиты:

Версия 1.0.0-alpha09

16 декабря 2020 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha09. Версия 1.0.0-alpha09 содержит следующие коммиты:

Версия 1.0.0-alpha08

2 декабря 2020 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha08. Версия 1.0.0-alpha08 содержит следующие коммиты:

Версия 1.0.0-alpha07

11 ноября 2020 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha07. Версия 1.0.0-alpha07 содержит следующие коммиты:

Новые функции

  • Вывод и распространение стабильности. Плагин Compose Compiler анализирует типы, которые он компилирует, чтобы определить, можно ли применить к ним определенные оптимизации во время выполнения. Затем этот вывод синтезируется в метаданные класса, которые компилятор использует в других модулях. Кроме того, результат этих выводов во время выполнения передается в метаданных, которые передаются в составные вызовы во время композиции. Это потребовало другого протокола метаданных для функций, которые можно комбинировать, а значит, функции, которые можно комбинировать и были скомпилированы с помощью компилятора alpha07, не будут двоично совместимы с функциями, которые можно комбинировать и были скомпилированы с помощью более ранних версий компилятора. (aosp/1431988)

Версия 1.0.0-alpha06

28 октября 2020 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha06. Версия 1.0.0-alpha06 содержит следующие коммиты.

Версия 1.0.0-alpha05

14 октября 2020 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha05. Версия 1.0.0-alpha05 содержит следующие коммиты:

Версия 1.0.0-alpha04

1 октября 2020 г.

Выход androidx.compose.compiler:compiler:1.0.0-alpha04. Версия 1.0.0-alpha04 содержит следующие коммиты:

androidx.compose:compose-compiler был переработан и теперь называется androidx.compose.compiler:compiler. Это первый выпуск в новой группе.