1.1.2
Ktor 已经 1.1.2 了!🎉
发布于 2019-01-24
版本升级:
Kotlin: 1.3.11 -> 1.3.20
Kotlinx IO: 0.1.3 -> 0.1.4
Kotlinx Coroutines: 1.1.0 -> 1.1.1
Kotlinx Serialization: 0.9.0 -> 0.10.0
AtomicFU: 0.12.0 -> 0.12.1
新增:
- 客户端:
- 原生 curl 客户端引擎 #479。
- IOS ARM32 目标平台(除了 curl)。
- CIO client 的 CBC 支持(#623、 #560、 #394)。
- 服务器:
- 主机名与端口号路由构建器。
- 用于 digest 认证与 OAuth 的
NonceManager
。
- 实验性的 ktor 服务器异常:
BadRequestException
NotFoundException
MissingRequestParameterException
ParameterConversionException
- 支持在 location 中开箱即用(包括 #767)
- 实验性的参数委托支持
- 路由末端通配符(tailcard)的前缀支持(#876、 #526)
ContentType.Text.EventStream
,默认情况下不进行压缩
修复:
- 添加了 iosArm32 目标平台(除了 curl)
- 修复了
host()
与 port()
函数以遵从代理(#834)
- 修复了影响热更新的类加载问题(#825)
- 修复了 CIO 客户端挂起问题(#800, #806)
- 升级了 JWKS/JWT(#856)
- 修复了服务器
MessageDigest
并发问题
- 禁止了响应调用后在服务器上设置会话(#864)
- 修复了当已经发送了响应时在
StatusPages
中丢失错误的问题
- 修复了使用自定义内容类型(content type)模式注册内容转换器的问题(#872)
- 改进了 GSON 错误诊断(#811)
- 修复了 handleWebSocketConversation 挂起问题
- 修复了 cookie 会话 max-age 值,提升到了
Int.MAX_VALUE
(#892)
- 修复了 CIO 头解析问题:允许无值的头
- 修复了客户端 websocket nonce size 问题(#861)
- 修复了客户端 scheme 解析
- 修复了 CIO 主线程的网络问题(#764)
- 修复了
WebSockets
与 StatusPages
冲突(#889)
破坏性变更:
- 由于二进制兼容问题,需要将 kotlinx.serialization 从 0.9.0 升级到 0.10.0
- 几个已启用 API 是错误级的,会在 1.2.0 中删除
已知问题:
- 对于 threadless 容器还是有问题
- arm32 目标平台尚未支持 curl