# Changelog 本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循语义化版本。 ## [1.0.0] - 2026-09-08 ### Added - 首次发布:Todo 代码扫描插件(Host + Web 客户端面板)。 - 扫描 `TODO / FIXME / HACK / NOTE / XXX / BUG / OPTIMIZE / REVIEW` 标记,输出含文件、行号、代码上下文、语言的条目与统计。 - 8 个工具:`todo_scan / todo_list / todo_get / todo_update_status / todo_batch_update / todo_export / todo_stats / todo_clear`。 - 本地 HTTP 数据服务 + 侧边「TODO 雷达」面板(统计卡片 / 类型分布 / 筛选排序清单 / 状态管理 / Markdown 导出)。 - 忽略规则(默认目录/扩展名 + `.gitignore` 语义子集)、只读安全白名单、文件数/大小上限、按会话隔离状态、卸载零残留。 - 端到端冒烟测试 `tests/smoke.test.mjs`(`node:test`)。 ### Changed - bundle 补丁文件按官方命名约定更名 `cordis.yml` → `cordis.patch.yml`(`dsh.bundle.patch` 同步指向)。 - `package.json`:`exports` 暴露 `./cordis.patch.yml`;`dsh.client` 精简为 `platform: "web"`;`files` 与磁盘产物对齐;`prepublishOnly` 同时构建 Host 与 Client;新增 `typecheck:client`。 - 补齐交付文档(README / LICENSE / CHANGELOG / docs/api.md)。 - 拆分插件入口:配置 schema 与类型校验移至 `src/config.ts`,8 个工具注册移至 `src/tools.ts`(依赖注入 `TodoToolDeps`),`TodoScanOutput` 移入 `src/types.ts`;`src/index.ts` 收为纯装配层。 - 客户端类型纪律调整:`src/client` 不再 import 任何 `@deepseek-ai` 客户端包(跨插件值导入存在版本分裂风险),改为本地结构子集类型(`src/client/types.ts`,与 dsh-plugin-feihualing 的 client/types.ts 一致);新增 `tsconfig.client.json`(DOM lib)对面板做独立类型检查。 - 新增纯逻辑单测:`tests/matcher.test.mjs` / `tests/ignore-rules.test.mjs` / `tests/safety.test.mjs`(`npm test` 一并运行)。 ### Fixed - 安全黑名单缺陷:`isSystemPath` 的 Windows 目录模式用 `(?:\/|$)` 结尾,而路径归一化后分隔符为 `\`,导致仅 `C:\Windows` 本身被拦、深层系统目录(如 `C:\Windows\System32`)漏网;改为 `(?:[\\/]|$)`(单测捕获)。