|
| 1 | +# v1.17.3 |
| 2 | + |
| 3 | +> 发布日期:2026-08-12 |
| 4 | +> 类型:Patch / Cursor Hook and SkillRoute recovery |
| 5 | +
|
| 6 | +## 摘要 |
| 7 | + |
| 8 | +本版本修复 Cursor 3.15.6 / Windows 中会导致 `Submission blocked by hook`、Hook `returned no output`、渐进式 Skill 路由反复阻断以及 Agent 猜测不存在工具的完整问题链。修复覆盖宿主传输字节、Windows 路径、Cursor 导入 Claude Hook 的重复执行、官方 MCP 工具名、精确恢复消息、多 generation 升级、受管配置所有权、宿主身份摘要与静态诊断,不要求用户开启“完全访问权限”。 |
| 9 | + |
| 10 | +## 修复内容 |
| 11 | + |
| 12 | +- Cursor/Claude 专用兼容入口只剥离一个 JSON stdin 前导 BOM;双 BOM、畸形 JSON、空帧上限与超限输入继续失败关闭。 |
| 13 | +- Windows `/X:/...` 与 `\X:\...` workspace 路径在文件系统调用前规范化;UNC、POSIX 与相对路径语义保持不变。 |
| 14 | +- 强 Cursor 指纹的 Claude 兼容导入返回事件合法 no-op,Cursor 专用 Hook 成为唯一 lifecycle owner,避免同一事件推进两次。 |
| 15 | +- Cursor 官方 `MCP:<tool_name>` 与 server-qualified 形式在宿主边界规范化;错误工具、错误 digest 与未知动作仍拒绝。 |
| 16 | +- `preToolUse` 拒绝时,短 `user_message` 保留稳定原因,`agent_message` 携带生命周期生成的精确 `Next call (exact)`,不再让模型臆造 `project`、`turnBinding`、`contextEpoch`、`generation` 或 `planDigest`。 |
| 17 | +- Resolver Skill 明确 Cursor `beforeSubmitPrompt` allow 响应不能承载动态上下文,要求优先执行服务端提供的精确恢复动作。 |
| 18 | +- 用户级升级识别旧/current compatible generation;Cursor 10 个事件与 Claude 4 个事件只保留一个当前活动入口,旧 runtime 可供已打开进程保留,用户第三方 Hook 不变。 |
| 19 | +- 受管 Hook 分类限定 DevCodex 路径、历史宿主路径和精确入口文件名;用户目录同名脚本、`.backup` 与非 command metadata 不再被认领。 |
| 20 | +- Cursor static verifier 同时统计所有旧/新受管入口,并逐事件精确验证当前 wrapper、host 参数、Plugin 路径和 Resolver anchors;重复代次、legacy shared 入口、stale Plugin 或缺失恢复契约均失败关闭。 |
| 21 | +- Claude/Cursor 子 lifecycle 使用显式 Node preload 获得包含 compatible helper/preload/wrapper 的专用 adapter identity;Codex、Copilot、Gemini、Grok 与共享 runtime digest 保持 v1.17.2 发布基线。 |
| 22 | +- validation DAG 将三个 compatible 文件同时绑定到 host adapter 与 SkillRoute lifecycle 节点,入口漂移不能再跳过关联测试。 |
| 23 | + |
| 24 | +## 升级与恢复 |
| 25 | + |
| 26 | +```bash |
| 27 | +npm update -g devcodex |
| 28 | +devcodex global-adapters apply |
| 29 | +devcodex status |
| 30 | +``` |
| 31 | + |
| 32 | +升级后请完全退出所有 Cursor 窗口,再重新打开项目并新建对话。不要为本问题开启完全访问权限,也不要把用户级 `.cursor` 目录复制到业务仓库。 |
| 33 | + |
| 34 | +## 防回归验证 |
| 35 | + |
| 36 | +- BOM、双 BOM、畸形/超限 stdin、slash-drive、UNC/POSIX/relative path 与真实 CLI stdout/exit 组合。 |
| 37 | +- Cursor-imported-Claude 四事件 no-op、原生 Claude 委托、Cursor 10 事件 schema 与单一 lifecycle owner。 |
| 38 | +- `MCP:skill_route`、server-qualified 名称、unknown tool、wrong digest、allow/deny/postToolUse 与精确恢复消息。 |
| 39 | +- 当前/旧 generation、legacy shared + current compatible、用户同名/backup 脚本、任意 metadata、重复 apply、retained runtime 与 stale Plugin path。 |
| 40 | +- compatible wrapper 字节漂移只改变 Claude/Cursor identity;共享 runtime 与其他四宿主摘要逐字冻结。 |
| 41 | +- release-risk 无缓存 full 93/93、Profile、治理台账、package、隔离安装和发布后 fresh-install R7。 |
| 42 | + |
| 43 | +## 六宿主非回归与已知边界 |
| 44 | + |
| 45 | +- Copilot、Codex、Gemini、Grok 继续使用共享入口;Claude 的原生事件和输出合同保持不变,仅通过兼容入口获得 BOM/导入隔离与专用身份。 |
| 46 | +- Cursor 本地 IDE、交互 CLI 与 Headless CLI 继续为 Beta;Cursor Cloud Agent 不加载用户级 Hook,保持 Partial / `UNVERIFIED`。 |
| 47 | +- 由于维护者 Cursor 订阅额度耗尽,本版本不宣称完成真实模型回放;自动化协议、进程、安装与配置证据通过不等于 native model readiness。 |
| 48 | +- Cursor Marketplace 发布不在本版本范围内。 |
| 49 | + |
| 50 | +## 发布拓扑 |
| 51 | + |
| 52 | +- npm 包名:`devcodex` |
| 53 | +- registry:`https://registry.npmjs.org/` |
| 54 | +- 发布分支:`main` |
| 55 | +- 目标 Tag:`v1.17.3` |
| 56 | +- 上一版本:`v1.17.2` |
| 57 | +- 问题证据:`.devcodex/devcodex/bugs/Cursor-Windows-Hook传输与兼容导入修复/` |
0 commit comments