JetBrains公司发布了Ktor 3.4版本,这是其基于Kotlin的异步服务器端和客户端应用开发框架的最新更新。该版本为OkHttp客户端引擎带来了双向流功能,并引入了新的HttpRequestLifecycle插件,可在客户端断开连接时取消正在进行的HTTP请求。
Ktor 3.4于1月23日正式发布,用户可以通过ktor.io网站获取入门指南。
新的HttpRequestLifecycle插件功能介绍
新的HttpRequestLifecycle插件能够在客户端断开连接时取消正在进行的HTTP请求,这一功能在需要取消长时间运行或资源密集型请求时特别有用。当客户端断开连接时,处理请求的协程会被取消,同时客户端启动的launch或async协程也会被取消,结构化并发会清理所有资源。目前此功能仅支持Netty和CIO引擎。
动态文档生成API
Ktor 3.4还引入了用于动态记录端点的新API,该API与新的编译器插件协同工作。与从静态文件构建Swagger前端不同,该模型在运行时从路由树中嵌入的详细信息构建。为了生成文档,开发者可以通过Ktor Gradle插件启用此功能,然后它将通过新的describe API自动在代码中提供详细信息。
OkHttp客户端引擎双向流支持
在Ktor 3.4中,OkHttp客户端引擎现在支持双向流,使客户端能够同时发送请求体数据和接收响应数据,这与常规HTTP调用形成对比——常规调用中请求体必须完全发送后才能开始接收响应。双向流功能适用于HTTP/2连接,可以通过在OkHttpConfig中使用新的duplexStreamingEnabled属性来启用。
Zstd压缩算法支持
此外,压缩插件现在通过ktor-server-compression-zstd模块支持Zstd算法。Zstd是一种快速压缩算法,具有高压缩比、低压缩时间和可配置的压缩级别等特点。
Q&A
Q1:Ktor 3.4的HttpRequestLifecycle插件有什么作用?
A:HttpRequestLifecycle插件能够在客户端断开连接时取消正在进行的HTTP请求,这在需要取消长时间运行或资源密集型请求时特别有用。当客户端断开连接时,处理请求的协程会被取消,结构化并发会清理所有资源。目前仅支持Netty和CIO引擎。
Q2:Ktor 3.4的双向流功能有什么优势?
A:双向流功能使客户端能够同时发送请求体数据和接收响应数据,与常规HTTP调用不同,不需要等待请求体完全发送后才开始接收响应。该功能适用于HTTP/2连接,可以通过OkHttpConfig中的duplexStreamingEnabled属性启用。
Q3:Ktor 3.4如何改进文档生成功能?
A:Ktor 3.4引入了动态记录端点的新API,与编译器插件协同工作。该模型在运行时从路由树中嵌入的详细信息构建,而不是从静态文件构建Swagger前端。开发者可以通过Ktor Gradle插件启用,然后通过新的describe API自动在代码中提供详细信息。
好文章,需要你的鼓励
从今日起,SmartGym用户可将运动进度与Strava同步,所有在SmartGym记录的锻炼将自动显示在Strava上。开发者Matt Abras表示,Strava同步功能需求很高,实现它需要多项后台调整。由于SmartGym可在Apple Watch上独立运行,现在直接在手表上记录的锻炼无需手动操作即可同步到Strava。此外,SmartGym还支持第三方锻炼数据聚合,用户可在其中查看其他应用记录的运动sessions,使其成为中央健身仪表板。
NVIDIA等机构联合开发的PhyCritic系统首次让AI具备了物理学家般的评判能力。该系统采用创新的"自我参照"机制,在评判其他AI回答前先基于物理原理给出自己的答案作为参考标准。通过两阶段训练策略,PhyCritic不仅掌握了深度物理推理能力,还能准确评估涉及物理世界交互的AI回答质量,在多项评估中显著超越传统方法。
谷歌推出Chrome浏览器AI智能体Auto Browse功能,面向AI Pro和Ultra订阅用户开放预览。测试显示该智能体在网页游戏、电子表格操作、Gmail邮件扫描等任务中表现不一,平均得分6.5分。虽然能完成基础网页操作,但在使用谷歌自家产品时频繁出错,无法长时间监控页面,且需要频繁人工干预。目前仍需用户监督,距离真正自主操作还有差距。
StepFun团队发布Step 3.5 Flash,这是一个稀疏专家混合模型,仅用110亿活跃参数就实现了前沿级智能水平。该模型采用创新的混合注意力机制和MIS-PO强化学习方法,在数学推理、代码生成和智能体任务中表现卓越,与GPT-5.2和Gemini 3.0 Pro等顶级模型性能相当,同时大幅提升了计算效率和部署便利性。