Compose 编译器
最新更新 | 稳定版 | 发布候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 8 月 7 日 | 1.5.15 | - | - | - |
结构
Compose 是 androidx
中 7 个 Maven Group ID 的组合。每个 Group 包含一个特定的功能子集,每个功能子集都有自己的版本说明。
下表解释了这些 Group 并提供了每个版本说明的链接。
Group | 说明 |
---|---|
compose.animation | 在其 Jetpack Compose 应用中构建动画,丰富用户体验。 |
compose.compiler | 使用 Kotlin 编译器插件转换 @Composable 函数并启用优化。 |
compose.foundation | 使用现成的构建块编写 Jetpack Compose 应用,并扩展基础组件来构建自己的设计系统组件。 |
compose.material | 使用现成的 Material Design 组件构建 Jetpack Compose UI。这是 Compose 更高层级的入口点,旨在提供与 www.material.io 所述组件相匹配的组件。 |
compose.material3 | 使用 Material Design 3 组件构建 Jetpack Compose UI,这是 Material Design 的下一个演进版本。Material 3 包含更新的主题和组件,以及 Material You 个性化功能(如动态颜色),旨在与新的 Android 12 视觉风格和系统 UI 保持一致。 |
compose.runtime | Compose 编程模型和状态管理的基本构建块,以及供 Compose 编译器插件定位的核心运行时。 |
compose.ui | 与设备交互所需的 Compose UI 基本组件,包括布局、绘制和输入。 |
声明依赖项
要添加对 Compose 的依赖,您必须将 Google Maven 代码库添加到项目中。阅读Google 的 Maven 代码库了解详情。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项
Groovy
android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "19" } }
Kotlin
android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "19" } }
如需详细了解依赖项,请参阅添加构建依赖项。
反馈
您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的想法,请告知我们。创建新问题之前,请先查看此库的现有问题。您可以点击星标按钮为您关注的现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
版本 1.5
版本 1.5.15
2024 年 8 月 7 日
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
2024 年 5 月 14 日
androidx.compose.compiler:compiler:1.5.14
和 androidx.compose.compiler:compiler-hosted:1.5.14
已发布。版本 1.5.14 包含这些提交。
此编译器版本面向 Kotlin 1.9.24。
Bug 修复
- 确保在关闭源代码信息时实现内联主体。(Idddb8)
版本 1.5.13
2024 年 5 月 1 日
androidx.compose.compiler:compiler:1.5.13
和 androidx.compose.compiler:compiler-hosted:1.5.13
已发布。版本 1.5.13 包含这些提交。
新功能
- 强跳过功能不再被视为实验性功能,可以安全地用于生产环境。它将在即将发布的版本中成为默认行为。(I6c8c4)
Bug 修复
- 修复带有默认值且包装非原生类型的值类参数的
@Composable
函数的二进制兼容性问题。(I89465 - 上游修复了 Compose 多平台中的 JS 和 Native 编译问题。有关完整详细信息,请参阅上述提交范围。
版本 1.5.12
2024 年 4 月 17 日
androidx.compose.compiler:compiler:1.5.12
和 androidx.compose.compiler:compiler-hosted:1.5.12
已发布。版本 1.5.12 包含这些提交。
Bug 修复
版本 1.5.11
2024 年 3 月 20 日
androidx.compose.compiler:compiler:1.5.11
和 androidx.compose.compiler:compiler-hosted:1.5.11
已发布。版本 1.5.11 包含这些提交。
备注
从这个版本开始,当模块使用包含此方法的运行时进行编译时,编译器现在将调用
startReplaceGroup
而不是startReplacableGroup
。startReplaceGroup
是在Compose Runtime1.7.0-alpha03
的运行时中引入的。仅当面向 1.7.0-alpha03 或更高版本的运行时时,才会生成对startRestartGroup
的调用。调用
startReplaceGroup
而不是startReplaceableGroup
可以让运行时更有效地检测变更,但可能会影响Composer
检测变更并将其发送给Applier
的顺序。如果Applier
依赖于这些操作被检测到的顺序,这可能会导致行为发生微小变化。
新功能
- 支持 Kotlin 1.9.23
Bug 修复
- 修复嵌套的外部泛型类型被推断为不稳定类型的问题。(I3437f, b/327643787)
- 支持多个稳定性配置文件。(I8db14, b/325326744)
- Compose 编译器现在通过递归遍历基类/覆盖项来正确转换被覆盖的函数。(I2c9f9, b/316196500)
- 确保函数引用内存化在不直接使用本地声明的隐式父项时不会尝试捕获它们。(Ib1267)
- 修复可组合 crossinline lambda 的代码生成问题(未启用 "
nonSkippingGroupOptimization
" 时很难遇到此 bug)。(Icb2fd, b/325502738)
版本 1.5.10
2024 年 2 月 21 日
androidx.compose.compiler:compiler:1.5.10
和 androidx.compose.compiler:compiler-hosted:1.5.10
已发布。版本 1.5.10 包含这些提交。
Bug 修复
- 支持 init 块中的实时字面量。(b/320397488)
- 使用 dispatcher 参数检查函数是否在本地类中。(b/323123439)
版本 1.5.9
2024 年 2 月 7 日
androidx.compose.compiler:compiler:1.5.9
和 androidx.compose.compiler:compiler-hosted:1.5.9
已发布。版本 1.5.9 包含这些提交。
Bug 修复
- 修复匿名对象初始化器中的可组合调用。(b/320261458, 96315c)
- 将递归本地声明计为捕获。(b/318745941, e7b4b0)
- 通过强制
.changed
对于使用内在 remember 的函数类型,修复 Intrinsic remember 更改与 Java 方法引用相关的行为。(b/319810819, 77128e) - 添加了一个实验性优化,该优化将移除不可跳过函数周围的组,例如显式标记为
@NonSkippableComposable
的函数以及隐式不可跳过的函数(如内联函数和返回非 Unit 值(如remember
)的函数)。 - 可以通过向 Kotlin 编译器传递插件选项
-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true
来启用此优化。(I1688f)
版本 1.5.8
2024 年 1 月 10 日
androidx.compose.compiler:compiler:1.5.8
和 androidx.compose.compiler:compiler-hosted:1.5.8
已发布。版本 1.5.8 包含这些提交。
新功能
- 支持 Kotlin 1.9.22
Bug 修复
- 修复了使用 Java21 构建时 Compose 编译器构建抛出异常的 bug。从 Google Maven 使用 Compose 编译器(即未自行构建)的用户未受到此 bug 的影响。(b/316644294)
- 修复了对于某些非内联 lambda 调用方报告
COMPOSABLE_EXPECTED
错误的 bug。(b/309364913) - 对开放函数中的默认参数添加编译错误(之前仅限于抽象函数)。Compose 目前不支持从覆盖函数中替换默认参数,并且使用默认参数覆盖可组合函数会在运行时失败。使用
@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE")
进行抑制,但请注意,覆盖此类函数而不为参数提供默认值将导致运行时崩溃。(b/317490247) - 修复了内在 remember 中的 bug,该 bug 阻止了值正确传播。(b/316327367)
外部贡献
- 修复文档中的错字。(aosp/288106)
版本 1.5.7
2023 年 12 月 19 日
androidx.compose.compiler:compiler:1.5.7
和 androidx.compose.compiler:compiler-hosted:1.5.7
已发布。版本 1.5.7 包含这些提交。
Bug 修复
- 修复当
remember()
键参数调用 Composable 函数时 Compose 运行时崩溃的问题。(b/315855015) - 修复使用
return@
时 Compose 运行时崩溃的问题。(b/315821171) - 避免在内存化键中使用绝对路径,从而更好地利用构建缓存。(b/313937484)
版本 1.5.6
2023 年 12 月 6 日
androidx.compose.compiler:compiler:1.5.6
和 androidx.compose.compiler:compiler-hosted:1.5.6
已发布。版本 1.5.6 包含这些提交。
新功能
- 支持 Kotlin 1.9.21
Bug 修复
- 启用内在 remember - 这是一种编译器转换,它在 Compose 编译器插件中内联 remember,并将
.equals
比较替换为稳定参数的参数元数据的整型比较。这会减少使用的槽位数,并减少运行时进行的比较。可以通过提供编译器插件参数来禁用此选项:-Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false
。(If675f) - 修复适配函数引用和内联参数的内存化问题。(b/312738720)
- 退出内联函数调用时实现组。(b/312242547)
外部贡献
- 修复 k/native 和 k/wasm 运行时崩溃问题,该问题是由于 Composable 函数中缺少返回语句(当它是最后一条语句且返回 null 常量时)导致的。(aosp/2835716)
版本 1.5.5
2023 年 11 月 29 日
androidx.compose.compiler:compiler:1.5.5
和 androidx.compose.compiler:compiler-hosted:1.5.5
已发布。版本 1.5.5 包含这些提交。
Bug 修复
- 修复在查找被覆盖的可组合类型时崩溃的问题。(Ib6d2c, b/297665426)
- 将
stabilityConfigurationPath
添加到已知参数(之前的 bug 阻止了配置文件标志的使用)。(b/309765121) - 内存化修复。(I081d1, I4d7bf)
- 通过考虑内在 remember 中不确定参数状态来修复重组问题。(b/263402091)
- 修复内在 remember 的调试行信息。(Ic8cf5)
- 修复编译时查找被覆盖的可组合类型时崩溃的问题(IR 降级失败)。(b/297665426)
- 将
外部贡献
- 内存化带有参数的稳定函数引用。(I4d7bf, b/302680514)
版本 1.5.4
2023 年 11 月 7 日
androidx.compose.compiler:compiler:1.5.4
和 androidx.compose.compiler:compiler-hosted:1.5.4
已发布。版本 1.5.4 包含这些提交。
依赖项更新
- Compose 编译器现在与 Kotlin 1.9.20 兼容
新功能
- 添加一个实验性选项来启用强跳过模式。强跳过模式允许跳过带有不稳定参数的可组合项。此外,带有不稳定捕获的 lambda 会被内存化。此功能是实验性的,不被认为是生产就绪的。(22421e)
- 添加启用/禁用源代码/跟踪信息的标志。(4d45f09)
- 允许通过配置文件配置外部类的稳定性。(If40eb)
Bug 修复
- 修复未收集源代码信息时可组合函数过早退出的问题。(fe6267)
- 修复可组合函数中的 continue 问题。(948362)
- 修复当从具有依赖于表达式返回类型的多个重载的函数调用中调用可组合函数时的解析问题。(2d36d0)
- 修复函数引用没有 dispatch receiver 时的内存化问题。(fc2326)
- 修复在某些情况下阻止 lambda 重组的脏检查问题。(db3699)
- 修复跨模块增量编译时的稳定性问题。(7d3e127)
- 将
@DontMemoize
的范围缩小到仅限于 lambda 表达式。(7a7fa52) - 修复使用 Composable fun interface 作为 lambda 时变量捕获不正确的问题。(5ae3556)
外部贡献
- 使用结构相等符号进行数值和 null 比较。(c612a0)
版本 1.5.3
2023 年 8 月 29 日
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
2023 年 8 月 23 日
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 包含这些提交。
Bug 修复
- 为返回常量的可组合函数中的 return 语句插入行号。(I42d89)
- 修复切换到新编译器插件入口点导致的内存泄漏问题。(4f0a101)
- 停止在 Compose 编译器中转换非可组合 fun interface。这使得 fun interface 的处理方式与 lambda 相同,包括内存化规则。(28b3ce9)
- 使用 vararg 参数类型来推断调用点的稳定性。(bc83645)
版本 1.5.1
2023 年 7 月 26 日
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 包含这些提交。
Bug 修复
- 修复了带有提前返回的
@ReadOnlyComposable
函数中的组合跟踪事件标记,这导致了跟踪损坏。
版本 1.5.0
2023 年 7 月 18 日
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
lambda 调用的命名参数已被弃用。此功能依赖于内部编译器 API,K2 将不再支持它。- 添加了一个诊断来验证 expect/actual 调用上的
@Composable
注解。两个声明都应具有匹配的注解。
版本 1.4.8
版本 1.4.8
2023 年 6 月 28 日
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。
Bug 修复
- 改进了
@Composable
覆盖的错误消息。现在它可以正确指出注解不匹配的问题。 - 警告不应标记为可组合的内联 lambda 上冗余的
@Composable
注解。K2 编译器将不再支持此功能。
版本 1.4.7
版本 1.4.7
2023 年 5 月 3 日
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 的基本类型版本,允许在State
对象中跟踪 Int、Long、Float 和 Double 值,而无需进行自动装箱转换。
版本 1.4.6
版本 1.4.6
2023 年 4 月 19 日
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 包含这些提交。
Bug 修复
- Compose 编译器现在依赖于 Java11(而不是 Compose 编译器 1.4.5 版本要求的 Java17),以便更好地支持仍在使用旧版本 Java 的用户。
版本 1.4.5
版本 1.4.5
2023 年 4 月 12 日
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
Bug 修复
- 将可组合 invoke operator 覆盖的要求传播到使用相应注解扩展 lambda 接口的类和接口。f8f2f78a1a769c2373201027f12700e772e4e97e
- 允许在
getValue
操作符上使用@Composable
注解,并在 IR 中将为 delegate 生成的 getter 标记为可组合,以确保其后续正确转换。f174f6ee60ca957d5cb6d19a5bd02a88267cdf40 - 修复内联函数的内部 Compose 运行时错误(预期
applyChanges()
已被调用)。b/274786923 - 避免捕获
ProcessCancelledException
,因为它在 IDE 中具有特殊含义。b/274725600
外部贡献
- 改进了对 Kotlin/Native 中 Composable 函数的支持。f52b6aeed22400dd4f4a4f05559a9aa42642402c
版本 1.4.4
版本 1.4.4
2023 年 3 月 22 日
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 包含这些提交。
Bug 修复
版本 1.4.3
版本 1.4.3
2023 年 2 月 22 日
androidx.compose.compiler:compiler:1.4.3
已发布。版本 1.4.3 包含这些提交。
Bug 修复
- 修复可组合调用参数中的条件可组合调用问题。(Ie93edb)
版本 1.4.2
版本 1.4.2
2023 年 2 月 8 日
androidx.compose.compiler:compiler:1.4.2
已发布。版本 1.4.2 包含这些提交。
新功能
- 支持 Kotlin 1.8.10
Bug 修复
- 在不可跳过 lambda 的主体中添加组,以避免重组 bug。
版本 1.4.1
版本 1.4.1
2023 年 2 月 8 日
androidx.compose.compiler:compiler:1.4.1
已发布。版本 1.4.1 包含这些提交。
Bug 修复
- 禁用内在 remember 优化,该优化之前引入了一些代码生成 bug。
- 在包含 vararg 参数的函数中禁用内在 remember。
- 修复带有默认参数的可组合项中错误的跳过问题
- 如果检查 Kotlin 兼容性失败,添加防御性回退错误消息。
- 从内联 lambda 中移除跳过代码生成
版本 1.4.0
2023 年 1 月 17 日
androidx.compose.compiler:compiler:1.4.0
已发布。版本 1.4.0 包含这些提交。
自 1.3.0 版本以来的重要变更
- 支持 Kotlin 1.8.0
- 关闭了内在 remember
- ui 工具 data 类
Group
现在有一个字段isInline
,它指示该组是否用于调用内联可组合函数。如果isInline
为true
,则表示调用的是内联可组合函数。但是,对于从使用不生成内联函数信息的 Compose 编译器插件版本编译的模块中的内联可组合函数调用,该值可能为 false。 ImmutableCollection
及其持久化同级现在被视为稳定类型。- AnimatedContent 中用于工具标签的新参数
- 修复了内联 lambda 的错误代码生成问题
版本 1.4.0-alpha02
2022 年 11 月 11 日
androidx.compose.compiler:compiler:1.4.0-alpha02
已发布。版本 1.4.0-alpha02 包含这些提交。
新功能
- 添加了对 Kotlin
1.7.21
的支持
版本 1.4.0-alpha01
2022 年 11 月 9 日
androidx.compose.compiler:compiler:1.4.0-alpha01
已发布。版本 1.4.0-alpha01 包含这些提交。
Bug 修复
- 修复从内联可组合函数提前返回的功能。(b/255350755)
- 修复 decoy lowering 中的 bug,该 bug 破坏了 Compose 中的 Kotlin/JS 支持。(6a40f8)。
版本 1.3
版本 1.3.2
2022 年 10 月 4 日
androidx.compose.compiler:compiler:1.3.2
已发布。版本 1.3.2 包含这些提交。
新功能
- 此版本包含对 Kotlin 1.7.20 的更新
版本 1.3.1
2022 年 9 月 7 日
androidx.compose.compiler:compiler:1.3.1
已发布。版本 1.3.1 包含这些提交。
Bug 修复
- 修复 IllegalStateException 错误,该错误是由于 Compose 编译器在某些情况下错误地将 unit 类型标记为可组合导致的。(b/237863365)
- 用户现在必须在抑制编译器版本检查时指定他们首选的 Kotlin 版本。(I9e5e2)
版本 1.3.0
2022 年 8 月 10 日
androidx.compose.compiler:compiler:1.3.0
已发布。版本 1.3.0 包含这些提交。
版本 1.3.0-rc02
2022 年 8 月 3 日
androidx.compose.compiler:compiler:1.3.0-rc02
已发布。版本 1.3.0-rc02 包含这些提交。
版本 1.3.0-rc01
2022 年 7 月 27 日
androidx.compose.compiler:compiler:1.3.0-rc01
已发布。版本 1.3.0-rc01 包含这些提交。
版本 1.3.0-beta01
2022 年 7 月 20 日
androidx.compose.compiler:compiler:1.3.0-beta01
已发布。版本 1.3.0-beta01 包含这些提交。
新功能
- 添加了对 Kotlin
1.7.10
的支持
版本 1.2
版本 1.2.0
2022 年 6 月 29 日
androidx.compose.compiler:compiler:1.2.0
已发布。版本 1.2.0 包含这些提交。
自 1.1.0 版本以来的重要变更
- 支持 Kotlin 1.7.0
- 查阅我们的博客文章,了解我们在 Compose 中的新版 Compose 编译器版本控制策略。
版本 1.2.0-rc02
2022 年 6 月 22 日
androidx.compose.compiler:compiler:1.2.0-rc02
已发布。版本 1.2.0-rc02 包含这些提交。
Bug 修复
- 移除了可组合 Trace Event 代码生成。(aosp/2127922)
版本 1.2.0-rc01
2022 年 6 月 15 日
androidx.compose.compiler:compiler:1.2.0-rc01
已发布。版本 1.2.0-rc01 包含这些提交。
版本 1.2.0-beta03
2022 年 6 月 1 日
androidx.compose.compiler:compiler:1.2.0-beta03
已发布。版本 1.2.0-beta03 包含这些提交。
版本 1.2.0-beta02
2022 年 5 月 18 日
androidx.compose.compiler:compiler:1.2.0-beta02
已发布。版本 1.2.0-beta02 包含这些提交。
版本 1.2.0-beta01
2022 年 5 月 11 日
androidx.compose.compiler:compiler:1.2.0-beta01
已发布。版本 1.2.0-beta01 包含这些提交。
- 这是 1.2 的首个 Beta 版本!自上一个 Alpha 版本以来没有变化。
新功能
- 添加了对 Kotlin
1.6.21
的支持
版本 1.2.0-alpha08
2022 年 4 月 20 日
androidx.compose.compiler:compiler:1.2.0-alpha08
已发布。版本 1.2.0-alpha08 包含这些提交。
版本 1.2.0-alpha07
2022 年 4 月 6 日
androidx.compose.compiler:compiler:1.2.0-alpha07
已发布。版本 1.2.0-alpha07 包含这些提交。
版本 1.2.0-alpha06
2022 年 3 月 23 日
androidx.compose.compiler:compiler:1.2.0-alpha06
已发布。版本 1.2.0-alpha06 包含这些提交。
版本 1.2.0-alpha05
2022 年 3 月 9 日
androidx.compose.compiler:compiler:1.2.0-alpha05
已发布。版本 1.2.0-alpha05 包含这些提交。
版本 1.2.0-alpha04
2022 年 2 月 23 日
androidx.compose.compiler:compiler:1.2.0-alpha04
已发布。版本 1.2.0-alpha04 包含这些提交。
版本 1.2.0-alpha03
2022 年 2 月 9 日
androidx.compose.compiler:compiler:1.2.0-alpha03
已发布。版本 1.2.0-alpha03 包含这些提交。
版本 1.2.0-alpha02
2022 年 1 月 26 日
androidx.compose.compiler:compiler:1.2.0-alpha02
已发布。版本 1.2.0-alpha02 包含这些提交。
版本 1.2.0-alpha01
2022 年 1 月 12 日
androidx.compose.compiler:compiler:1.2.0-alpha01
已发布。版本 1.2.0-alpha01 包含这些提交。
新功能
- 添加了对 Kotlin
1.6.10
的支持。
版本 1.1
版本 1.1.1
2022 年 2 月 23 日
androidx.compose.compiler:compiler:1.1.1
已发布。版本 1.1.1 包含这些提交。
Bug 修复
- 修复
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
中的 NullPointerException 问题。(aosp/1947059, b/206677462) - 修复在 Android 上从剪贴板读取时,剪贴板内容导致的崩溃问题。(I06020, b/197769306)
- 修复
LazyVerticalGrid
中的 RTL 问题。(aosp/1931080, b/207510535)
版本 1.1.0
2022 年 2 月 9 日
androidx.compose.compiler:compiler:1.1.0
已发布。版本 1.1.0 包含这些提交。
自 1.0.0 版本以来的重要变更
- 稳定支持 Android 12 的Overscroll 效果
- 改进了触摸目标尺寸
- 请注意,相对于 Compose 1.0,Material 组件将扩展其布局空间以满足 Material 无障碍功能指南中关于触摸目标尺寸的要求。例如,Button 的触摸目标将扩展到最小尺寸
48x48dp
,即使您将 Button 的尺寸设置得更小。这使得 Compose Material 与 Material Design Components 的行为保持一致,如果您混用 Views 和 Compose,则会提供一致的行为。此更改还确保了当您使用 Compose Material 组件创建 UI 时,将满足触摸目标无障碍功能的最低要求。 - 稳定支持Navigation Rail
- 将之前的一些实验性 API 升级为稳定 API
- 支持更高版本的 Kotlin
版本 1.1.0-rc03
2022 年 1 月 26 日
androidx.compose.compiler:compiler:1.1.0-rc03
已发布。版本 1.1.0-rc03 包含这些提交。
Bug 修复
- 已更新以支持 Compose Material 1.1.0-rc03
版本 1.1.0-rc02
2021 年 12 月 16 日
androidx.compose.compiler:compiler:1.1.0-rc02
已发布。版本 1.1.0-rc02 包含这些提交。
依赖项更新
- Compose 编译器
1.1.0-rc02
与 Kotlin1.6.10
兼容。
版本 1.1.0-rc01
2021 年 12 月 15 日
androidx.compose.compiler:compiler:1.1.0-rc01
已发布。版本 1.1.0-rc01 包含这些提交。
依赖项变更
- Compose 编译器
1.1.0-rc01
与 Kotlin1.6.0
兼容。 通过 androidx.dev SNAPSHOT 并指定 buildId 8003490,可获取兼容的
1.6.10
构建版本。以下依赖项代码段将配置 Compose 编译器的 SNAPSHOT将以下代码段添加到项目的根
build.gradle
文件中buildscript { repositories { google() jcenter() maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' } } }
将以下代码段添加到使用 Compose 的应用或模块的
build.gradle
文件中android { composeOptions { kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT" } }
版本 1.1.0-beta04
2021 年 12 月 1 日
androidx.compose.compiler:compiler:1.1.0-beta04
已发布。版本 1.1.0-beta04 包含这些提交。
新功能
- 已更新以与 Kotlin
1.6.0
兼容
版本 1.1.0-beta03
2021 年 11 月 17 日
androidx.compose.compiler:compiler:1.1.0-beta03
已发布。版本 1.1.0-beta03 包含这些提交。
版本 1.1.0-beta02
2021 年 11 月 3 日
androidx.compose.compiler:compiler:1.1.0-beta02
已发布。版本 1.1.0-beta02 包含这些提交。
版本 1.1.0-beta01
2021 年 10 月 27 日
androidx.compose.compiler:compiler:1.1.0-beta01
已发布。版本 1.1.0-beta01 包含这些提交。
版本 1.1.0-alpha06
2021 年 10 月 13 日
androidx.compose.compiler:compiler:1.1.0-alpha06
已发布。版本 1.1.0-alpha06 包含这些提交。
版本 1.1.0-alpha05
2021 年 9 月 29 日
androidx.compose.compiler:compiler:1.1.0-alpha05
已发布。版本 1.1.0-alpha05 包含这些提交。
版本 1.1.0-alpha04
2021 年 9 月 15 日
androidx.compose.compiler:compiler:1.1.0-alpha04
已发布。版本 1.1.0-alpha04 包含这些提交。
版本 1.1.0-alpha03
2021 年 9 月 1 日
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
更新为依赖于 Kotlin1.5.30
。(I74545)
版本 1.1.0-alpha02
2021 年 8 月 18 日
androidx.compose.compiler:compiler:1.1.0-alpha02
已发布。版本 1.1.0-alpha02 包含这些提交。
版本 1.1.0-alpha01
2021 年 8 月 4 日
androidx.compose.compiler:compiler:1.1.0-alpha01
已发布。版本 1.1.0-alpha01 包含这些提交。
版本 1.0
版本 1.0.5
2021 年 11 月 3 日
androidx.compose.compiler:compiler:1.0.5
已发布。版本 1.0.5 包含这些提交。
Bug 修复
- 修复了跟踪 derivedStateOf 实例时崩溃的问题。(aosp/1792247)
版本 1.0.4
2021 年 10 月 13 日
androidx.compose.compiler:compiler:1.0.4
已发布。版本 1.0.4 包含这些提交。
依赖项更新
- 已更新为依赖于 Kotlin
1.5.31
版本 1.0.3
2021 年 9 月 29 日
androidx.compose.compiler:compiler:1.0.3
已发布。版本 1.0.3 包含这些提交。
依赖项更新
- 已更新为依赖于 Kotlin
1.5.30
版本 1.0.2
2021 年 9 月 1 日
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
2021 年 8 月 4 日
androidx.compose.compiler:compiler:1.0.1
已发布。版本 1.0.1 包含这些提交。
依赖项更新
- 已更新为依赖于 Kotlin
1.5.21
。
版本 1.0.0
2021 年 7 月 28 日
androidx.compose.compiler:compiler:1.0.0
已发布。版本 1.0.0 包含这些提交。
1.0.0 的主要功能
这是 Compose 的首个稳定版本。请参阅官方Compose 发布博客了解详情!
版本 1.0.0-rc02
2021 年 7 月 14 日
androidx.compose.compiler:compiler:1.0.0-rc02
已发布。版本 1.0.0-rc02 包含这些提交。
版本 1.0.0-rc01
2021 年 7 月 1 日
androidx.compose.compiler:compiler:1.0.0-rc01
已发布。版本 1.0.0-rc01 包含这些提交。
版本 1.0.0-beta09
2021 年 6 月 16 日
androidx.compose.compiler:compiler:1.0.0-beta09
已发布。版本 1.0.0-beta09 包含这些提交。
版本 1.0.0-beta08
2021 年 6 月 2 日
androidx.compose.compiler:compiler:1.0.0-beta08
已发布。版本 1.0.0-beta08 包含这些提交。
版本 1.0.0-beta07
2021 年 5 月 18 日
androidx.compose.compiler:compiler:1.0.0-beta07
已发布。版本 1.0.0-beta07 包含这些提交。
版本 1.0.0-beta06
2021 年 5 月 5 日
androidx.compose.compiler:compiler:1.0.0-beta06
已发布。版本 1.0.0-beta06 包含这些提交。
版本 1.0.0-beta05
2021 年 4 月 21 日
androidx.compose.compiler:compiler:1.0.0-beta05
已发布。版本 1.0.0-beta05 包含这些提交。
版本 1.0.0-beta04
2021 年 4 月 7 日
androidx.compose.compiler:compiler:1.0.0-beta04
已发布。版本 1.0.0-beta04 包含这些提交。
版本 1.0.0-beta03
2021 年 3 月 24 日
androidx.compose.compiler:compiler:1.0.0-beta03
已发布。版本 1.0.0-beta03 包含这些提交。
版本 1.0.0-beta02
2021 年 3 月 10 日
androidx.compose.compiler:compiler:1.0.0-beta02
已发布。版本 1.0.0-beta02 包含这些提交。
版本 1.0.0-beta01
2021 年 2 月 24 日
androidx.compose.compiler:compiler:1.0.0-beta01
已发布。版本 1.0.0-beta01 包含这些提交。
这是 Compose 1.0.0 Beta 的首次发布。
版本 1.0.0-alpha12
2021 年 2 月 10 日
androidx.compose.compiler:compiler:1.0.0-alpha12
已发布。版本 1.0.0-alpha12 包含这些提交。
版本 1.0.0-alpha11
2021 年 1 月 28 日
androidx.compose.compiler:compiler:1.0.0-alpha11
已发布。版本 1.0.0-alpha11 包含这些提交。
版本 1.0.0-alpha10
2021 年 1 月 13 日
androidx.compose.compiler:compiler:1.0.0-alpha10
已发布。版本 1.0.0-alpha10 包含这些提交。
版本 1.0.0-alpha09
2020 年 12 月 16 日
androidx.compose.compiler:compiler:1.0.0-alpha09
已发布。版本 1.0.0-alpha09 包含这些提交。
版本 1.0.0-alpha08
2020 年 12 月 2 日
androidx.compose.compiler:compiler:1.0.0-alpha08
已发布。版本 1.0.0-alpha08 包含这些提交。
版本 1.0.0-alpha07
2020 年 11 月 11 日
androidx.compose.compiler:compiler:1.0.0-alpha07
已发布。版本 1.0.0-alpha07 包含这些提交。
新功能
- 稳定性推断与传播。Compose 编译器插件将分析其编译的类型,以推断它是否符合某些运行时优化条件。然后,此推断结果将作为元数据合成到类上,供其他模块中的编译器使用。此外,这些推断的运行时结果将作为元数据传递给组合期间的可组合调用。这需要为可组合函数提供不同的元数据协议,这意味着使用 alpha07 编译器编译的可组合函数将无法与使用任何早期编译器版本编译的可组合函数二进制兼容。(aosp/1431988)
版本 1.0.0-alpha06
2020 年 10 月 28 日
androidx.compose.compiler:compiler:1.0.0-alpha06
已发布。版本 1.0.0-alpha06 包含这些提交。
版本 1.0.0-alpha05
2020 年 10 月 14 日
androidx.compose.compiler:compiler:1.0.0-alpha05
已发布。版本 1.0.0-alpha05 包含这些提交。
版本 1.0.0-alpha04
2020 年 10 月 1 日
androidx.compose.compiler:compiler:1.0.0-alpha04
已发布。版本 1.0.0-alpha04 包含这些提交。
androidx.compose:compose-compiler
已重构为 androidx.compose.compiler:compiler
。这是新组中的第一个版本。