1.1.5 → 1.2.0 迁移

预计阅读时间: 2 分钟

1.2.0

Ktor 已经 1.2.0 了! 🎉

发布于 2019-05-14

版本升级:

  • Kotlin: 1.3.30 -> 1.3.31
  • Kotlinx coroutines: 1.2.0 -> 1.2.1

破坏性变更:

  • 由于多平台的原因,Websocket 帧以及其他相关内容都进行了不兼容修改。
  • Core:
    • HttpStatusCode.equals 现在只比较状态码数值。
  • Auth:
    • 服务端基本认证与摘要认证现在默认使用 UTF-8(可以配置回传统模式)。
    • UserHashedTableAuth 不再支持常量哈希盐。
    • Cookie 会话已配置为默认将 cookie 设置在 /
    • 服务端身份验证器配置已重新实现并拆分为提供方及其配置。
  • Servlet 引擎:
    • Servlet 引擎首先使用 servlet 初始化参数,然后再使用上下文初始化参数。
    • Servlet 引擎处理上下文路径开箱即用了,因此无需再在路由中指定根上下文路径。可以在 ApplicationEnvironment.rootPath 中访问。
  • 序列化:
    • 在客户端中序列化 Unit 现在会发送 {}
    • KotlinxSerializer 转移到了一个独立的构件。
  • 所有原生库都需要用新版 Kotlin 编译器与新版库重新编译。
  • MockEngine lambda 表达式接收者变更为 call。
  • Okhttp 客户端升级到了 3.14.0,因此需要为 Android 配置 java 8。参见 https://github.com/square/okhttp/blob/master/CHANGELOG.md#version-3130 与 https://medium.com/square-corner-blog/okhttp-3-13-requires-android-5-818bb78d07ce 。
  • 客户端多部分构建器 DSL:append(Any) 已弃用,请改用具有特定类型的 append

参见 1.2.0 变更记录