Skip to content

2.0.8

Choose a tag to compare

@imaegoo imaegoo released this 22 Sep 03:49
· 21 commits to main since this release
47cb229

安全

  • 修复若干安全问题。

修复

  • 私有部署优雅退出时可能丢失最近写入(#1175):gracefulShutdown() 此前没有把已装配的数据库传给 shutdown(),关库逻辑完全不执行;最近已返回成功的评论或配置可能尚未落盘。
  • AWS Lambda 预检丢失 CORS 头(#1175):OPTIONS 预检响应补齐管线已算出的 CORS 头,跨域调用不再失败。
  • 私有部署直连时访客共用空 IP、互相耗尽限流额度(#1178):恢复 1.7.24 get-user-ip 的直连兜底(connection.remoteAddress / socket.remoteAddress / connection.socket.remoteAddress),并实现文档中早已记载、但 2.0 缺失的 TWIKOO_IP_HEADERS。
  • EdgeOne Makers 并发写会丢评论、甚至恢复已删除的评论(#1177):评论的增/改/删改为「回源取最新整表再写回」,把并发覆盖窗口从「整个请求时长」压缩到一次回源往返。
  • Cap 验证码过期记录无限增长(#1179):挑战与通行 token 的 deleteExpired() 由空实现改为下推给数据库批量删除。
  • deta 部署跨域失败、限流状态码被吞(#1181):fromTkResponse 此前写死 200 并丢弃全部响应头——OPTIONS 预检因此没有 CORS 头、429 被压成 200。EdgeOne 同步不再把非 204 状态码压成 200。

变更

  • 移除 Push Plus Hxtrip 渠道(#1180):该服务已停止运营。同时 Markdown 转纯文本改用仍在维护的 remove-markdown,移除不再使用的 marked 与 lodash;支持渠道由 22 个调整为 21 个。
  • HTTP 层改用原生 fetch(#1173):不再依赖 axios,可在只提供 Web 标准 API 的运行时中工作。

新增

  • 私有部署可配置请求体上限与读取超时:新增环境变量 TWIKOO_MAX_BODY_BYTES(默认 16 MiB)与 TWIKOO_BODY_TIMEOUT_MS(默认 15 秒),超限返回 413、超时返回 408。如需导入超大站点的评论数据,可调高 TWIKOO_MAX_BODY_BYTES。

Full Changelog: 2.0.7...2.0.8