Компилятор Compose

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

Структура

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

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

Группа Описание
сочинение.анимация Создавайте анимации в своих приложениях Jetpack Compose, чтобы обогатить пользовательский опыт.
композер.компилятор Преобразуйте функции @Composable и включите оптимизацию с помощью плагина компилятора Kotlin.
сочинять.фундамент Создавайте приложения Jetpack Compose с готовыми строительными блоками и расширяйте базу для создания собственных элементов системы проектирования.
сочинять.материал Создавайте пользовательские интерфейсы Jetpack Compose с готовыми к использованию компонентами Material Design. Это точка входа более высокого уровня Compose, разработанная для предоставления компонентов, соответствующих описанным на www.material.io.
сочинить.материал3 Создавайте пользовательские интерфейсы Jetpack Compose с компонентами Material Design 3, следующим этапом эволюции Material Design. Material 3 включает обновленные темы и компоненты, а также функции персонализации Material You, такие как динамический цвет, и разработан для соответствия новому визуальному стилю Android 12 и системному пользовательскому интерфейсу.
compose.время выполнения Основные строительные блоки модели программирования Compose и управления состоянием, а также основная среда выполнения для целевого плагина компилятора Compose.
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 лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новый выпуск

Более подробную информацию смотрите в документации Issue Tracker .

Версия 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 содержит эти коммиты .

Новые возможности

  • Strong skipping больше не считается экспериментальным и безопасен для использования в производстве. Он станет поведением по умолчанию в предстоящем выпуске. ( I6c8c4 )

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

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

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

  • Поддержка живых литералов внутри блоков init. ( 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 )
  • Исправление изменений поведения, связанных с внутренним запоминанием методов Java, путем принудительного применения .changed для типов функций с внутренним запоминанием. ( b/319810819 , 77128e )
  • Добавлена ​​экспериментальная оптимизация, которая удалит группы вокруг функций, которые нельзя пропустить, например, явно помеченных как @NonSkippableComposable и функций, которые нельзя пропустить неявно, например, встроенных функций и функций, возвращающих неединичное значение, например, remember .
  • Эту оптимизацию можно включить, передав параметр плагина -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true компилятору Kotlin. ( 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 вызывала исключения при сборке с использованием Java21. Пользователи, использующие 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, когда параметр ключа 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 на сравнения int параметров meta для стабильных параметров. Это приводит к использованию меньшего количества слотов и меньшему количеству сравнений во время выполнения. Опцию можно отключить, указав аргумент плагина компилятора: -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 содержит эти коммиты.

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

  • Вставьте номера строк для операторов возврата в составных функциях, возвращающих константы. ( 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 на встроенных лямбдах, которые не должны быть помечены как компонуемые. Эта функция не будет поддерживаться компилятором 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
  • Добавлены примитивные версии State API, позволяющие отслеживать значения 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 теперь зависит от Java11 (вместо Java17, требуемого для версии 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 Compiler требуется, чтобы ваша среда сборки использовала Java 17+. На основе отзывов пользователей мы отменим это требование до Java 11 и выпустим еще один релиз (1.4.6) для лучшей поддержки пользователей, использующих старые версии Java.

Новые возможности

Поддержка Kotlin 1.8.20

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

  • Распространить требование переопределения компонуемого оператора вызова на классы и интерфейсы, расширяющие лямбда-интерфейсы с соответствующими аннотациями. f8f2f78a1a769c2373201027f12700e772e4e97e
  • Позволяет использовать аннотацию @Composable для оператора getValue и помечает сгенерированный геттер для делегата как компонуемый в IR, чтобы гарантировать его правильное преобразование в дальнейшем. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • Исправлена ​​внутренняя ошибка выполнения компоновки (ожидался вызов 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 содержит эти коммиты.

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

  • Исправление составных встроенных лямбда-возвратов ( 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 содержит эти коммиты.

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

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

Версия 1.4.0-альфа02

11 ноября 2022 г.

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

Новые возможности

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

Версия 1.4.0-альфа01

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 Compiler ошибочно помечал типы единиц как компонуемые в некоторых обстоятельствах. ( 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-альфа08

20 апреля 2022 г.

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

Версия 1.2.0-альфа07

6 апреля 2022 г.

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

Версия 1.2.0-альфа06

23 марта 2022 г.

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

Версия 1.2.0-альфа05

9 марта 2022 г.

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

Версия 1.2.0-альфа04

23 февраля 2022 г.

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

Версия 1.2.0-альфа03

9 февраля 2022 г.

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

Версия 1.2.0-альфа02

26 января 2022 г.

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

Версия 1.2.0-альфа01

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

    Добавьте следующий фрагмент в корневой файл 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-альфа06

13 октября 2021 г.

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

Версия 1.1.0-альфа05

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

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

Версия 1.1.0-альфа04

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

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

Версия 1.1.0-альфа03

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

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

Новые возможности

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

Версия 1.1.0-альфа02

18 августа 2021 г.

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

Версия 1.1.0-альфа01

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-альфа12

10 февраля 2021 г.

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

Версия 1.0.0-альфа11

28 января 2021 г.

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

Версия 1.0.0-альфа10

13 января 2021 г.

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

Версия 1.0.0-альфа09

16 декабря 2020 г.

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

Версия 1.0.0-альфа08

2 декабря 2020 г.

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

Версия 1.0.0-альфа07

11 ноября 2020 г.

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

Новые возможности

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

Версия 1.0.0-альфа06

28 октября 2020 г.

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

Версия 1.0.0-альфа05

14 октября 2020 г.

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

Версия 1.0.0-альфа04

1 октября 2020 г.

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

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