Yorhel's Projects 中 FU 和 TUWF 是什么关系?

更新时间

FU 是 TUWF 的继任者。根据 dev.yorhel.nl 的公告,TUWF 1.6 于 2025-04-25 发布后进入维护模式,原因正是“已被 FU 取代”;FU 则在 2025-05-11 发布 1.0 首个稳定版,此后继续迭代到 1.4。两者都是 Yorhel 用于 Perl Web 开发的库,但项目阶段不同:新项目应看 FU,仍在维护旧代码的才需要关注 TUWF。

两者的定位与时间线

维度 TUWF FU
类型 Perl Web 开发库 Perl Web 开发库,TUWF 的后继项目
当前阶段 1.6 起进入维护模式 活跃开发,已发布 1.0 稳定版并持续更新
关键节点 2025-04-25 发布 1.6,公告明确“已被 FU 取代” 2025-05-11 发布 1.0;2025-09-04 发布 1.3;2026-01-10 发布 1.4
适合谁 维护已有 TUWF 项目的开发者 新项目,或准备从 TUWF 迁移的开发者

“维护模式”意味着 TUWF 不再作为主要发展方向,公告也把 1.6 描述为积压两年的修复与功能集中发布。FU 的 1.0 公告则说明它“已在生产环境使用一段时间”,这是它被称为首个稳定版的依据。

FU 在 1.0 之后补了什么

从公告看,FU 的迭代重点在健壮性和安全性,而不是大改接口:

  • 1.1(2025-06-07):增加多项加固特性,包括查询构建器中的标识符引用、JSON 中拒绝转义控制字符、写 XML 时拒绝序列化 Perl 引用。
  • 1.2(2025-07-06):Postgres 绑定参数中拒绝非布尔外观的值,改进启动时的进程名更新。
  • 1.3(2025-09-04):改进 UTF-8 校验,把控制字符检查从 JSON/URI 解析函数移到 Validation 模块。
  • 1.4(2026-01-10):重命名 FU::Pg 中的 q() 和 Q() 方法,改进 FastCGI 模式下 EPIPE 错误的处理。

这些变化说明 FU 仍在调整细节,升级时值得读对应 Changelog,尤其是 1.4 的方法重命名,可能影响已有调用代码。

怎么选

  • 新项目:直接用 FU。TUWF 已进入维护模式,公告明确其被 FU 取代。
  • 已有 TUWF 项目:可以继续运行,但新功能和安全改进只会出现在 FU 侧;是否迁移取决于项目对上述加固特性的需求。
  • 评估迁移成本:先看 FU 1.0 到 1.4 的 Changelog,重点确认查询构建器、Postgres 参数绑定和 FastCGI 相关行为是否与现有代码兼容。

两个项目的入口都在 Yorhel's Projects 首页,公告中分别链接了各自的 Homepage 和 Changelog,可据此核对版本与变更细节。