0.20.1 (2026-07-03)
🐛 Bug 修复
- archive: 修复广告参考视频项目归档导入不再自愈,损坏骨架条目不再崩溃导入 (#1033) (3b8adc2)
- config: 供应商 base_url 收敛为 DB 配置唯一来源,移除环境变量兜底与隐式路由覆盖 (#1017) (67d8924)
- events: ad 与参考生视频项目恢复分镜级实时事件推送 (#1012) (9e4298a)
- events: 参考生视频通知点击定位到对应视频单元,各骨架通知标签一致 (#1032) (01cc2bb)
- events: 广告参考生视频成片就绪补发视频单元通知 (#1034) (9c20872)
- frontend: 修复 pnpm-lock.yaml 重复 key 导致的前端依赖安装失败 (#1030) (0a32e84)
- project-events: 页面刷新或多标签切换时项目实时更新不再漏推 (#1027) (90224a0)
- script: step1 文件名与剧本路径收敛到单一来源,杜绝审核 gate 被文件名漂移静默绕过 (#995) (68a6432)
- text: 修复 AI 返回格式异常导致的概述生成失败,重试不再重复计费 (#1029) (291daa9)
- timeline: 修复审核面板发声列表编辑串位,加载失败区分错误态并支持重试 (#996) (227f83a)
♻️ 重构
- agent: SDK options 装配析出为持依赖装配器 (#1022) (f433534)
- agent: 会话消息流改产语义化事件,哨兵收编进 seam (#1020) (15c24cb)
- agent: 析出 agent 访问规则为零 I/O 单类,内核沙箱编译与 hook 裁决共用同一份规则 (#1019) (369daa2)
- agent: 析出 SessionManager 的 token/cost 抽取与消息序列化为纯函数模块 (#1018) (36a3d17)
- script: 剧本骨架分派深收口与消费方穷尽性断言 (#1011) (3e56cd1)
- script: 剧本骨架知识收归单一真相源,旧字段名分派一次迁清 (#1010) (3864c9c)
- sse: 会话流与项目事件流的订阅广播收敛为参数化 SseChannel 组件 (#1023) (8fad678)
📚 文档
- adr: 文本输出 token 上限收敛为非约束安全阀,结构化截断升为可操作硬错误 (#1028) (8c70a9f)
- context: 记录 ad 模式不接入剧本审核 gate 的范围决策 (#992) (aee22cf)
- script: 剧本骨架收口设计 ADR 与「骨架」领域词条 (#1001) (034ffe3)
What's Changed
- docs(context): 记录 ad 模式不接入剧本审核 gate 的范围决策 by @Pollo3470 in #992
- fix(timeline): 修复审核面板发声列表编辑串位,加载失败区分错误态并支持重试 by @Pollo3470 in #996
- docs(script): 剧本骨架收口设计 ADR 与「骨架」领域词条 by @Pollo3470 in #1001
- fix(script): step1 文件名与剧本路径收敛到单一来源,杜绝审核 gate 被文件名漂移静默绕过 by @Pollo3470 in #995
- refactor(script): 剧本骨架知识收归单一真相源,旧字段名分派一次迁清 by @Pollo3470 in #1010
- fix(events): ad 与参考生视频项目恢复分镜级实时事件推送 by @Pollo3470 in #1012
- refactor(script): 剧本骨架分派深收口与消费方穷尽性断言 by @Pollo3470 in #1011
- test(script): 散落骨架映射专测删留收尾与 ADR/CONTEXT 文档定稿 [PRD #994] by @Pollo3470 in #1013
- fix(config): 供应商 base_url 收敛为 DB 配置唯一来源,移除环境变量兜底与隐式路由覆盖 by @Pollo3470 in #1017
- refactor(agent): 析出 SessionManager 的 token/cost 抽取与消息序列化为纯函数模块 by @Pollo3470 in #1018
- refactor(agent): 析出 agent 访问规则为零 I/O 单类,内核沙箱编译与 hook 裁决共用同一份规则 by @Pollo3470 in #1019
- refactor(agent): 会话消息流改产语义化事件,哨兵收编进 seam by @Pollo3470 in #1020
- refactor(agent): SDK options 装配析出为持依赖装配器 by @Pollo3470 in #1022
- refactor(sse): 会话流与项目事件流的订阅广播收敛为参数化 SseChannel 组件 by @Pollo3470 in #1023
- test(agent): 清理会话拆解迁移后测试族的重复断言 by @Pollo3470 in #1024
- fix(project-events): 页面刷新或多标签切换时项目实时更新不再漏推 by @Pollo3470 in #1027
- chore(deps): bump pyjianyingdraft from 0.2.6 to 0.2.7 in the media group by @dependabot[bot] in #954
- chore(deps): bump the vite-tailwind group in /frontend with 2 updates by @dependabot[bot] in #955
- fix(frontend): 修复 pnpm-lock.yaml 重复 key 导致的前端依赖安装失败 by @Pollo3470 in #1030
- docs(adr): 文本输出 token 上限收敛为非约束安全阀,结构化截断升为可操作硬错误 by @Pollo3470 in #1028
- fix(text): 修复 AI 返回格式异常导致的概述生成失败,重试不再重复计费 by @Pollo3470 in #1029
- fix(archive): 修复广告参考视频项目归档导入不再自愈,损坏骨架条目不再崩溃导入 by @Pollo3470 in #1033
- fix(events): 参考生视频通知点击定位到对应视频单元,各骨架通知标签一致 by @Pollo3470 in #1032
- fix(events): 广告参考生视频成片就绪补发视频单元通知 by @Pollo3470 in #1034
- chore(main): release 0.20.1 by @arcreel-release-please[bot] in #993
Full Changelog: v0.20.0...v0.20.1