Компилятор Compose

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

Структура

Compose — это комбинация из 7 идентификаторов групп 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, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории 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.

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

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

Версия 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. Подробную информацию см. в указанном выше диапазоне коммитов.

Версия 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 )
  • Исправлены непустые типы в параметрах значений для не примитивных встроенных классов. ( 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 )
  • Исправлена ​​генерация кода для компонуемой лямбда-функции, выполняемой в несколько строк (эту ошибку сложно обнаружить без включенной опции "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 содержит следующие коммиты.

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

  • Исправлены компонуемые вызовы в инициализаторе анонимного объекта. ( b/320261458 , 96315c )
  • Учитывайте рекурсивные локальные объявления как захваты. ( b/318745941 , e7b4b0 )
  • Исправление поведения встроенной функции remember, изменяющей поведение, связанное со ссылками на методы Java, путем принудительного использования метода .changed для типов функций со встроенной функцией remember. ( b/319810819 , 77128e )
  • Добавлена ​​экспериментальная оптимизация, которая удалит группы вокруг функций, которые нельзя пропустить, например, явно помеченных как @NonSkippableComposable , и функций, которые неявно нельзя пропустить, таких как встроенные функции и функции, возвращающие значение, отличное от Unit, например, remember .
  • Эту оптимизацию можно включить, передав компилятору Kotlin параметр -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

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

  • Исправлена ​​ошибка, из-за которой сборка с помощью Compose Compiler выдавала исключения при использовании Java 21. Пользователи, использующие Compose Compiler из Google Maven (то есть не собирающие его самостоятельно), никогда не сталкивались с этой ошибкой. ( b/316644294 )
  • Исправлена ​​ошибка, из-за которой в некоторых случаях при вызове невстроенных лямбда-функций сообщалось об ошибке COMPOSABLE_EXPECTED . ( b/309364913 )
  • Добавьте ошибку компиляции для параметров по умолчанию в открытых функциях (ранее это было ограничено только абстрактными функциями). В данный момент Compose не поддерживает подстановку параметров по умолчанию из переопределенных функций, и переопределение компонуемой функции с параметрами по умолчанию приводило к сбою во время выполнения. Используйте @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 содержит следующие коммиты.

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

  • Исправлена ​​ошибка выполнения Compose, приводящая к сбою при вызове функции Composable параметром ключа remember() ( 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

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

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

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

  • Исправлена ​​ошибка выполнения k/native и k/wasm, возникающая из-за отсутствия оператора return в компонуемых функциях, когда он является последним оператором и возвращает нулевую константу ( 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 )
    • Исправление рекомпозиции путем учета неопределенного состояния параметров во встроенной функции запоминания ( b/263402091 )
    • Исправлена ​​информация в отладочной строке для встроенной функции запоминания ( Ic8cf5 ).
    • Исправлена ​​ошибка (сбой понижения IR) при поиске переопределенных составных типов во время компиляции ( 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 fun в качестве лямбда-функции. ( 5ae3556 )

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

  • Используйте символ структурного равенства для сравнения чисел и нулевых значений ( 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 )
  • Прекратите преобразование некомпозируемых интерфейсов fun в компиляторе Compose. Это приводит к тому, что интерфейсы fun обрабатываются так же, как и лямбда-функции, включая правила мемоизации. ( 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 для встроенных лямбда-выражений, которые не должны быть помечены как компонуемые. Эта функция не будет поддерживаться компилятором 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 )
  • Разрешить составным функциям возвращать Nothing (Не генерировать ошибку при использовании TODO в составной функции) 3aea8d )

Версия 1.4.3

Версия 1.4.3

22 февраля 2023 г.

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

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

  • Исправлены условные вызовы составных функций в аргументах составных вызовов ( 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 содержит следующие коммиты.

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

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

Версия 1.4.0

17 января 2023 г.

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

Важные изменения по сравнению с версией 1.3.0

  • Поддержка Kotlin 1.8.0
  • Отключил встроенную функцию, помните?
  • В классе данных инструментов пользовательского интерфейса Group теперь есть поле isInline , указывающее, относится ли группа к вызову встроенной компонуемой функции. Если isInline равно true , то вызов относится к встроенной компонуемой функции. Однако значение может быть false для вызовов встроенных компонуемых функций из модулей, скомпилированных с версией плагина компилятора compose, которая не генерирует информацию о встроенной функции.
  • Классы ImmutableCollection и Persistent теперь считаются стабильными.
  • Новый параметр в 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 содержит следующие коммиты.

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

  • Исправлена ​​возможность досрочного возврата из встроенных компонуемых функций ( b/255350755 )
  • Исправлена ​​ошибка в механизме понижения уровня с помощью отвлекающих символов, которая нарушала поддержку Kotlin/JS в Compose ( 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 ошибочно помечал типы модулей как компонуемые в некоторых случаях. ( b/237863365 )
  • Теперь пользователям необходимо указывать предпочтительную версию Kotlin при отключении проверки версии компилятора ( I9e5e2 ).

Версия 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 )
  • Исправлено RTL в LazyVerticalGrid ( aosp/1931080 , b/207510535 )

Версия 1.1.0

9 февраля 2022 г.

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

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

  • Стабильная поддержка эффекта Overscroll в Android 12.
  • Улучшена настройка размера сенсорной области.
  • Обратите внимание, что в Compose 1.0 компоненты Material будут расширять свое пространство компоновки в соответствии с рекомендациями Material Design по размеру сенсорной области . Например, сенсорная область кнопки будет расширяться до минимального размера 48x48dp , даже если вы установите меньший размер кнопки. Это приводит поведение Compose Material в соответствие с поведением компонентов Material Design, обеспечивая согласованность при использовании Views и Compose. Это изменение также гарантирует, что при создании пользовательского интерфейса с использованием компонентов Compose Material будут соблюдены минимальные требования к доступности сенсорной области.
  • Стабильная поддержка Navigation Rail
  • Преобразует ряд ранее экспериментальных АФИ в стабильные продукты.
  • Поддержка более новых версий 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 SNAPSHOTs с buildId 8003490. Следующий фрагмент кода зависимости настроит SNAPSHOTs для компилятора 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 !

Версия 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.

Версия 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 анализирует компилируемые типы, чтобы определить, подходят ли они для определенных оптимизаций во время выполнения. Полученный результат затем синтезируется в виде метаданных для класса, которые будут использоваться компилятором в других модулях. Кроме того, результат этих выводов во время выполнения передается в метаданных, передаваемых в компонуемые вызовы во время композиции. Это потребовало использования другого протокола метаданных для компонуемых функций, что означает, что компонуемые функции, скомпилированные с помощью компилятора 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 . Это первый релиз в новой группе.