释放

Kotlin 1.5.30现已上市!

由于Kotlin 1.5.30是Kotlin 1.6.0之前的最后一个增量版本,它包含了我们计划在Kotlin 1.6.0中发布的许多实验性语言和标准库特性。给他们一个尝试,并与我们分享你的反馈,你可以真正影响最终的结果!这些实验特性包括密封性陈述,改变选择的要求,注释课程的实例化,改进期间正则表达式stdlib apis,更多。

有了Kotlin 1.5.30,你也可以享受苹果硅的原生支持,Kotlin/JS IR后端升级到Beta版,自定义使用的能力cinterop支持Kotlin Gradle插件提供的Java工具链,等等。

更新到Kotlin 1.5.30

这篇博客文章提供了这个版本的更新概述:

自动更新到Kotlin 1.5.30

如果你使用IntelliJ IDEA或者Android工作室,您可以选择在新的Kotlin发行版可用时自动更新到它。

了解更多关于安装芬兰湾的科特林1.5.30

保持与最新的Kotlin功能的信息!请填写本文右侧的表格,订阅Kotlin更新。

语言

芬兰湾的科特林路线图包括添加对密封的支持语句,发布可选的注释,改进类型推断,稳定构建器推断。

Kotlin 1.5.30通过提供这些功能的预览来逐步下降,其发布计划为1.6.0。

密封陈述

密封是一项已久的功能,超过了在YouTrack上有280票.如果你在1.5.30中启用此功能,Kotlin编译器将警告您的一个声明不是详尽无遗的。这将使您的代码更安全,而无需引入自己的函数。

尝试一下这个功能,并提供你的反馈这YouTrack票

支持暂停用作超级类型

Kotlin 1.5.30提供了一个使用功能的预览暂停函数类型作为超级接口,尽管它有一些局限性.这是Kotlin协程设计中缺失的部分之一。

启用这个特性,试一试,并提供你的反馈这YouTrack票

更改选择要求

朝着进一步的一步释放选择注释,芬兰湾的科特林1.5.30:

  • 礼物新规则用于在不同的目标上使用和声明选择性加入的需求注释。
  • 即使是实验性API的隐式用法也需要选择加入。例如,如果函数的返回类型被标记为实验性API元素,那么函数的使用要求您选择加入,即使声明没有被标记为要求显式地选择加入。

尝试这些改变,并分享你的反馈这YouTrack票

了解更多关于选择需求

改进递归泛型类型上的类型推断

递归泛型类型的类型推断启用后,Kotlin 1.5.30编译器只能在相应类型参数的上限上推断出类型参数,如果它是递归通用。这使得可以创建具有常用通用类型的各种模式,该类型通常用于Java以制作构建器API。

消除构建器推理限制

消除构建器推理限制启用,Kotlin 1.5.30删除了构建器推理限制。您不仅可以指定Builder推断可以推断的类型信息,但您也可以使用得到函数。例如,你可以打电话get ()在的lambda参数中buildlist()没有明确指定的类型参数。

芬兰湾的科特林多平台

Kotlin 1.5.30包含了以下Kotlin多平台的改进:

  • 使用自定义功能cinterop共享本地代码中的库,它扩展了共享Kotlin/Native附带的平台相关库的能力。
  • 支持XCFrameWorks.作为所有Kotlin多平台项目的输出格式。XCFrameworks帮助在一个bundle中收集所有目标平台和架构的逻辑,并且在将应用发布到AppStore之前不需要删除不必要的架构。
  • Android工件新的默认发布设置.这个设置将与任何构建类型兼容(比如调试或者释放默认情况下)。1.5.30之前,元数据由这件生成maven-publishGradle Plugin在发布Android的多平台库时,包括每个已发布的Android Variant的构建类型属性。这仅使其兼容库消费者使用的相同的构建类型。

芬兰湾的科特林/ JVM

使用Kotlin 1.5.30,Kotlin / JVM获取以下更新:

kotlin / native.

Kotlin 1.5.30为Kotlin / Native提供了以下改进:

芬兰湾的科特林/ JS

Kotlin 1.5.30为Kotlin/JS提供了以下改进:

Kotlin 1.5.30引入了以下特性改善Kotlin Gradle插件用户体验

  • 支持Java Toolchains.Gradle 6.7介绍支持Java Toolchains,这使得可以轻松选择一个用于项目编译的JDK。只需声明构建脚本和Gradle的版本,Revel of the Recure,在您的主机上找到它,甚至在尚未下载和安装它。Kotlin Gradle Plugin支持Kotlin / JVM编译任务的Java Toolchains。对于Gradle版本6.1-6.6,将一个JDK HOME设置为UsesKotlinJavaToolchain接口
  • 更简单的方式来明确指定Kotlin守护程序JVM参数.如果为kotlin守护程序指定了任何内容,它会继承Gradle守护程序的参数。您现在还可以指定特定任务的参数,以及Kotlin扩展,作为单行build.gradle.kts.或者gradle.properties

build.gradle.kts.

gradle.properties

标准库

Kotlin 1.5.30对标准库进行了改进期间正则表达式蜜蜂:

持续时间API改进

如图所示我们的图书馆的路线图我们会的在Kotlin 1.6.0中稳定Duration API,这意味着这是最后的机会,给它一个尝试,并与我们分享您的反馈,任何你想改变。我们将非常感谢你的反馈这保持。

Kotlin 1.5.30提供了API改进的预览。的输出Duration.toString ()现在可读性更好了。例如,Duration.minutes (920) .toString ()生产15 h 20米而不是以前的920米

负持续时间现在以负符号为前缀(-),如果它由多个组件组成,则用括号括起来:-12米- (1h 30m)

这个版本还提供了一个预览用于从String解析Duration的新函数

  • parse()从格式为Duration的字符串解析Duration对象toString ()或者从表示ISO 8601持续时间(如toIsoString ()输出)。
  • parseisostring()从表示ISO 8601持续时间的字符串解析持续时间对象。
  • * OrNull ()两种功能的对应物。

Regex API改进

Kotlin 1.5.30为正则表达提供了新的实验功能:

  • matchesAt ()检查正则表达式在String的指定位置是否匹配。
  • matchAt ()如果找到一个,则返回匹配项。
  • splittosequence()是懒惰的对等物吗split ().它拆分给定Regex的匹配周围的字符串,但返回结果作为一个序列.也添加了类似的功能CharSequence进行

如何安装kotlin 1.5.30

如果你已经使用了IntelliJ IDEA或者Android工作室,您的IDE将建议自动将Kotlin更新到1.5.30。您也可以通过以下方式手动更新这些指令

您可以下载最新版本的这些IDE以获得对Kotlin的广泛支持:

确保你也更新了kotlinx库到兼容版本在现有项目的构建脚本中,kotlin的指定版本1.5.30。

如果您需要命令行编译器,请从GitHub发布页面

如果你遇到任何问题

保持与最新的Kotlin功能的信息!请填写本文右侧的表格,订阅Kotlin更新。

多读多看

外部贡献者

我们想要感谢所有我们的外部贡献者,他们的拉请求包括在这个版本:

晋城杰蒙巴西天宇耿Mark Punzalan.尼蒸机伊凡Gavrilovic史蒂文·谢弗弗拉基米尔·伊万诺夫挂着阮马修加里斯(陈伊凡KochurkinIaroslav Postovalov.Toshiaki Kameyama.Udi科恩新王Bracadabra.