内容提要
Kotlin 2.4.20发布,主要更新包括:标准库支持协程堆栈恢复及集合新函数;Kotlin/Native新增Swift导出和自动生成Package.swift;Kotlin/Wasm改进require()调用;Kotlin/JS支持浏览器测试DSL和异步导出;兼容Gradle 9.7.0,并新增kotlinr命令。用户可通过IDE或命令行安装,问题可反馈至YouTrack。
延伸解读
跨平台能力增强
本次更新在多个平台上有显著改进:Kotlin/Native新增Swift导出和自动生成Package.swift,方便SwiftPM集成;Kotlin/Wasm优化了require()调用和初始化顺序;Kotlin/JS则引入了浏览器测试DSL和异步导出支持。这些变化表明Kotlin在多平台开发上的持续投入,开发者可以更顺畅地在不同生态中使用Kotlin。
开发体验提升
新版本增加了kotlinr命令和独立的native image,简化了命令行使用。同时,标准库新增协程堆栈恢复支持,有助于调试协程异常。集合的新函数和kotlin.test的新重载也提升了日常编码效率。这些改进虽小,但能减少样板代码,让开发者更专注于业务逻辑。
工具链兼容性
Kotlin 2.4.20支持Gradle 9.7.0,并改进了Problems API的报告。Build tools API新增对Kotlin/JS、Kotlin/Wasm和Kotlin metadata的支持,意味着构建工具可以更好地处理这些新目标。对于使用Gradle的项目,升级前需确认插件兼容性,并注意Kotlin版本与IDE的匹配。
Q&A
Kotlin 2.4.20 有哪些主要更新?
Kotlin 2.4.20 的主要更新包括:标准库支持协程堆栈恢复、集合元素相等性和唯一性检查的新函数、kotlin.test 断言函数的新重载;Kotlin/Native 新增 Swift 导出功能、改进增量编译、自动生成 SwiftPM 依赖的 Package.swift 文件;Kotlin/Wasm 改进 require() 调用和伴生对象初始化顺序,支持 Wasmtime;Kotlin/JS 新增浏览器测试 DSL、支持将挂起 lambda 导出为异步函数、改进数据类的可导出性;兼容 Gradle 9.7.0 并改进 Problems API 报告;构建工具 API 支持 Kotlin/JS、Kotlin/Wasm 和 Kotlin metadata 新目标;编译器新增 kotlinr 命令和独立 native image。
Kotlin 2.4.20 在 Kotlin/Native 方面有哪些改进?
Kotlin/Native 新增了 Swift 导出功能,改进了增量编译,并自动生成用于 SwiftPM 依赖的 Package.swift 文件。
Kotlin 2.4.20 如何支持 Kotlin/JS 的浏览器测试?
Kotlin/JS 新增了一个用于浏览器测试的 DSL,并支持将挂起 lambda 导出为异步函数,同时改进了数据类的可导出性。
Kotlin 2.4.20 对 Gradle 版本有什么要求?
Kotlin 2.4.20 支持 Gradle 9.7.0,并改进了 Problems API 的报告。
如何安装或更新到 Kotlin 2.4.20?
Kotlin 2.4.20 已包含在最新版本的 IntelliJ IDEA 和 Android Studio 中。要更新,请确保 IDE 是最新版本,并在构建脚本中将 Kotlin 版本改为 2.4.20。如果需要命令行编译器,可以从 GitHub 发布页面下载。
Kotlin 2.4.20 中 kotlinr 命令是什么?
Kotlin 编译器新增了 kotlinr 命令,它是一个独立的 runner 命令,并附带一个独立的 native image。
Kotlin 2.4.20 在标准库中增加了哪些新功能?
标准库支持协程堆栈跟踪恢复,新增了用于检查集合元素相等性和唯一性的函数,以及 kotlin.test 断言函数的新重载。
Kotlin 2.4.20 对 Kotlin/Wasm 有哪些改动?
Kotlin/Wasm 改进了 @JsFun 声明中顶层 require() 调用的处理,优化了伴生对象的初始化顺序,并在 Kotlin Gradle 插件中支持 Wasmtime。