v5.0.9 — 原生身份、Windows 安装与旧 PM 恢复
本补丁处理 #451、#459、#462 和 #463。公开版本与精确验收记录以 GitHub Release 为准。
修复范围
- 原生 admission 身份:单独传递 Hermes
source.user_id,Feishusender_open_id保留 mention 语义。显式身份非法或冲突时拒绝交接;空用户在卡片接管前保留原生交付。原 execution claim、作用域、owner、generation 和 epoch 校验保留。 - Windows 安装:原始文件描述符按二进制模式读写,避免 Ctrl-Z/CRLF 改写 wheel 字节;官方配置子进程使用私有 HOME、USERPROFILE 和临时目录,并只允许精确核验的 Git 查询。私有配置规划对已绑定的 v0.22.5 ACL helper 使用其真实失败路径,避免规划过程调用
whoami/icacls或改写权限;实际官方 enable 保留原行为。恢复事务验证文件、目录和 reparse 归属,并覆盖失败回滚。 - 旧 PM wheel 恢复:仅接纳有完整归属证明的 PR #458 schema-1 flat wheel,核对历史声明、同名 wheel、摘要、属主与权限、精确 file URL、安装版本及全部包资源。保留历史 workspace schema-1 和内容寻址 schema-2。缺失来源或 VCS 安装仍不能凭资源相似跳过校验。
- 恢复诊断与操作顺序:固定、脱敏的 ack 类别和处理提示;区分新版 management CLI 与仍旧版的 owned runtime。先停止实际服务管理器、KeepAlive 和自动更新器,保留 PID/health 双重停止检查、旧 fence 的 CAS 与恢复证据。见 PM 恢复。
- CI 维护:吸收 Dependabot #464/#465/#466,保留原提交作者;固定核验过的 action SHA 和 Ruff 版本。并发确认测试明确区分执行中和完成后的重复请求,继续要求一次修复和准确 successor。
验收边界
失败复现、聚焦测试、独立 QA/review、精确候选/主线/tag 完整矩阵、原生 Windows 3.12/3.14、普通非 editable wheel 与公开安装分别核验。checksums、完整归档清单、实际解压元数据和匿名下载另作发行门禁;最终记录链接放在 Release 中,待验项不写成通过。
本轮不宣称已完成报告者真实 Gateway/model 或飞书客户端复测;桌面/Android 视觉与点击未验证,iOS 和新用户试用不纳入范围。未知 Hermes 源码仍拒绝不安全安装,未知身份仍保留原生交付。旧迁移现场的 v5.0.8 成功证据与本补丁新增恢复覆盖分别记录。
安装包继续使用版本化顶层目录,解压后进入 hermes-feishu-card-v5.0.9-<platform>/ 再运行安装器。所有既有 tag、资产、发行说明和贡献历史保留。
贡献
感谢 coytus 的 #451 反馈,以及 leavrcn 在 #451 提供的原生身份对照、复现和候选验证;感谢 mingyangtech666 的 #463 反馈与 #458 原始实现、mouyong 的 #462 旧格式对照,以及 ywarmy 的 #459 迁移与配置恢复证据。感谢 Dependabot 的 #464/#465/#466。问题证据与代码作者分开记录;原始提交和此前署名全部保留。
本次发行验证
- 合并提交:
678ddfa81ae37a05ce7612ac069458724849dd90;annotated tag:v5.0.9。保留 #467、#468 及 Dependabot #464/#465/#466 的原始提交。 - 最终候选完整矩阵:57/57 成功;候选 CodeQL 成功。
- 准确合并提交完整矩阵:57/57 成功;主线 CodeQL 成功。
- Tag 门禁与资产构建:59/59 成功,包含 Python 3.9–3.14、macOS、Windows 3.12/3.14、SDK、上游/PM、官方镜像及安装器检查。
- 普通非 editable wheel 与真实 PM 代次切换、重绑、重复安装、配置保留、失败回滚和逐字恢复通过。局部环境缺依赖的初次失败已保留,补齐隔离环境后只复测对应失败节点。
- 匿名公开 Git tag 安装通过:实际解析到上述合并提交,145 个包资源逐字匹配,唯一插件入口可加载,CLI 正常。
- 四个资产的完整清单、源文件字节和 checksums 已核验;macOS 实际解压 4 场景,以及 Linux GNU tar root/非 root 实际解压 8 场景 全通过,目标目录元数据和哨兵不变,旧 flat 归档负向控制有效。
- 公开后的匿名下载回读通过:4 个资产无需 Authorization 即可下载,均与已验收 draft 的 SHA-256 完全一致;公开下载副本的清单、checksums 和 macOS 实际解压再次通过。