本页介绍 Kotlin 不同版本以及子系统的兼容性保证。
兼容性词汇表
兼容性意味着回答这个问题:对于给定的两个版本的 Kotlin(例如,1.2 和 1.1.5),为一个版本编写的代码可以与另一个版本一起使用吗?下面的列表解释了不同版本对的兼容模式。请注意,如果版本号较小(即使发布时间晚于版本号较大的版本)那么版本较旧。对于“旧版本”我们使用 OV,对于“新版本”使用 NV。C——完全兼容(Full Compatibility)语言无语法改动(除去 bug*)
可能添加或删除新的警告/提示
API(kotlin-stdlib-*、 kotlin-reflect-*)无 API 改动
可能添加/删除带有 WARNING 级的弃用项
二进制(ABI)运行时:二进制可以互换使用
编译:二进制可以互换使用
BCLA——语言和 API 向后兼容(Backward Compatibility for the Language and API)语言可能会在 NV 中删除 OV 中已弃用的语法
除此之外,OV 中可编译的所有代码都可以在 NV 中编译(除去 bug*)
可能在 NV 中添加新语法
在 NV 中可以提升 OV 的一些限制
可能添加或删除新的警告/提示
API(kotlin-stdlib-*、 kotlin-reflect-*)可能添加新的 API
可能添加/删除带有 WARNING 级的弃用项
WARNING 级的弃用项可能在 NV 中提升到 ERROR 级或者 HIDDEN 级
BCB——二进制向后兼容(Backward Compatibility for Binaries)二进制(ABI)运行时:NV 的二进制可以在 OV 的二进制工作的任何地方使用
NV