Merge pull request #9979 from esengine/release-notes/v1.38.3

docs(release): review refreshed 1.38.3 notes / 审阅更新后的 1.38.3 发布说明
This commit is contained in:
SivanCola authored and GitHub committed 2026-09-09 07:56:34 +08:00
commit fa018e4109
3 files changed
+42 -9

No files matched your search

@@ -58,3 +58,11 @@ Native qualification completed on product commit `e0572c8c916c5d012770dcb2aeb98e
Final native requests 28–31 covered held/next SSH and local pairs with distinct credential generations. The no-runtime fixture saved its default and credential with zero session files and the request count unchanged at 31. The final full native Desktop suite passed in 212.733 seconds, following 50 focused repetitions. Native qualification found and repaired premature MCP process-context cancellation, credential pinning from display-only configuration reads, and clock-dependent prompt-history identity; the corresponding shutdown, metadata and frozen-clock regressions pass. Earlier failing runs were retained as diagnostic evidence.
Both Go modules passed their full suites; ownership race tests, frontend full tests and production build, both Go linters and repository lint passed. CodeQL passed after validating session filename components at their construction boundary. The later test-only commit `65cce8c90346f613f3a29584f694d9662b3f5a16` selects canonical noncolliding workspace-lock fixtures; four parallelism tests passed 1,000 race repetitions and the full workspacelease race suite passed. These test fixtures do not change the qualified product binary. Publication still requires terminal CI and review of the final PR head, followed by the release candidate gates. Documentation-only follow-ups do not change the qualified product binaries; any later product change requires reassessment. See [model settings](MODEL_SETTINGS.md) for persistence, downgrade and old-Serve behavior.
## Follow-up shutdown reassessment
Candidate push CI found that an autonomous inbox scan could still refresh its sidecar after controller shutdown returned. Product commit `580caee5be5346b86188a4f0027050e6d6d68c6e` joins sidecar opening and scans at shutdown, releasing the gate before host admission can retire its own controller. Controlled tests failed against the previous implementation for both `Close` and `ReleaseResources`; the fix passed 20 race repetitions and 1,000 repetitions of stale foreground recovery. Full root and Desktop suites, full control/serve/sessioninbox race suites, and lint passed.
The new Windows 11 ARM64 production executable had SHA-256 `0671CF45DA435560E66D5E694DD10C1BB0465E868DD5673E3003C734C9DC148D`. Native shutdown, self-retirement and stale-recovery tests passed 20 repetitions. The same isolated installation restored its 14-round SSH and 17-round local histories. New Desktop and Serve completed SSH request 32; a saved disposable credential applied through runtime replacement before SSH request 33, and local request 34 also used that credential. Both responses completed, the existing local flash selection remained unchanged, and native window shutdown ended the candidate process. Frontend assets and persisted formats were unchanged, so the earlier full upgrade, held-request and no-runtime matrix remains applicable alongside this focused reassessment.
Test-only commit `37b20ce5706e9c3b5b87c8ebbec0c78d273712fa` closes the bot fixture's process-wide history and usage catalogs before removing its temporary home. The old fixture reproduced SQLite sharing failures on Windows; the corrected bot suite passed 20 native Windows repetitions and 10 race repetitions. This commit does not change the qualified binary. These records establish product qualification; release completion still requires the final candidate CI, immutable tags and independent publication postflight.
@@ -58,3 +58,11 @@ go run ./tools/repolint
最终原生请求 28–31 覆盖 SSH、本地各自的挂起请求和下一请求,分别使用对应凭据版本。无运行时夹具保存默认模型和凭据后,会话文件仍为零,请求数保持 31。最终原生 Desktop 完整测试耗时 212.733 秒并通过,此前相关测试已重复 50 次通过。原生验收发现并修复 MCP 进程上下文过早取消、仅显示用途的配置读取固定环境凭据,以及依赖时钟的提示词历史标识;对应关闭顺序、元数据和冻结时钟回归测试均通过。此前失败记录保留为诊断证据。
两个 Go 模块的完整测试、所有权竞态测试、前端完整测试与生产构建、两个 Go lint 和仓库 lint 均已通过。会话文件名在构造边界完成组件校验后,CodeQL 已通过。后续仅测试提交 `65cce8c90346f613f3a29584f694d9662b3f5a16` 为工作区锁选择规范化后不冲突的夹具;四项并行测试重复 1,000 次 race 通过,workspacelease 完整 race 测试也通过。这些测试夹具不改变已验收的产品二进制。发布仍要求最终 PR head 的 CI 全部结束并完成评审,随后通过发布候选门槛。仅文档的后续提交不改变已验收的产品二进制;任何后续产品修改均须重新评估。持久化、降级和旧 Serve 行为见[模型设置](MODEL_SETTINGS.zh-CN.md)。
## 关闭边界修复后的补充验收
候选提交的主分支 CI 发现,控制器关闭返回后,自动收件箱扫描仍可能刷新磁盘侧车。产品提交 `580caee5be5346b86188a4f0027050e6d6d68c6e` 在关闭边界等待侧车打开与扫描完成,并在进入宿主准入回调前释放该边界,使派发器仍能安全替换自己的控制器。受控测试在旧实现的 `Close` 和 `ReleaseResources` 两种模式下均失败;修复后通过 20 次 race 重复及 1,000 次陈旧前台恢复测试。根模块和 Desktop 全量测试、control/serve/sessioninbox 全量 race 与 lint 均通过。
新的 Windows 11 ARM64 生产二进制 SHA-256 为 `0671CF45DA435560E66D5E694DD10C1BB0465E868DD5673E3003C734C9DC148D`。原生关闭、自身退出与陈旧恢复测试重复 20 次通过。同一隔离安装恢复了原有 14 轮 SSH 历史和 17 轮本地历史。新的 Desktop 与 Serve 完成 SSH 请求 32;保存的一次性凭据在 SSH 请求 33 前通过运行时替换生效,本地请求 34 也使用该凭据。两次响应均完成,已有本地会话仍保留 flash 选择,原生关闭窗口后候选进程退出。前端资源与持久化格式未变,因此先前完整的升级、持有请求和无运行时验收矩阵与本次补充验收共同适用。
仅修改测试的提交 `37b20ce5706e9c3b5b87c8ebbec0c78d273712fa` 在删除 bot 测试临时目录前关闭进程级历史与用量索引。旧测试在 Windows 上复现 SQLite 文件占用;修复后 bot 全包通过 20 次原生 Windows 重复和 10 次 race 重复。该提交不改变已验收二进制。以上记录证明产品验收结果;发布完成仍以最终候选 CI、不可变标签和独立发布后核验为准。
+26 -9
View File
@@ -3,7 +3,7 @@
"releases": [
{
"version": "1.38.3",
"date": "2026-09-08",
"date": "2026-09-09",
"channel": "stable",
"targetingVersion": 1,
"title": {
@@ -11,8 +11,8 @@
"zh": "Reasonix 1.38.3"
},
"summary": {
"en": "This release improves model settings persistence, unifies runtime state across local and remote sessions, and refines the desktop composer and turn results. It also fixes read-evidence handling, skill diagnostics, and several Windows-specific issues.",
"zh": "此版本改进了模型设置持久化,统一了本地与远程会话的运行时状态,并优化了桌面输入栏和本轮结果。同时修复了读取证据处理、技能诊断以及若干 Windows 特定问题。"
"en": "This release improves model settings persistence, runtime state consistency, read evidence handling, and desktop UI polish, along with several fixes for shutdown, settings layout, and skill diagnostics.",
"zh": "此版本改进了模型设置持久化、运行时状态一致性、读取证据处理以及桌面界面优化,并修复了关闭、设置布局和技能诊断等问题。"
},
"surfaces": [
"desktop",
@@ -28,7 +28,7 @@
"en": "Learn how model preferences and provider connections are saved and applied.",
"zh": "了解模型偏好和供应商连接的保存与生效时机。"
},
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/9a2abb24114d2b073c45bda82848e1cefeea10c0/docs/MODEL_SETTINGS.md"
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/27a409937d7431ffb2b5760feeef46ccf35eecab/docs/MODEL_SETTINGS.md"
},
{
"title": {
@@ -37,9 +37,9 @@
},
"body": {
"en": "Understand how local and remote session state is unified.",
"zh": "了解本地与远程会话状态如何统一。"
"zh": "了解本地和远程会话状态如何统一。"
},
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/9a2abb24114d2b073c45bda82848e1cefeea10c0/docs/RUNTIME_STATE.md"
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/27a409937d7431ffb2b5760feeef46ccf35eecab/docs/RUNTIME_STATE.md"
},
{
"title": {
@@ -50,7 +50,7 @@
"en": "Inspect recorded file changes, check outcomes and their evidence for each turn.",
"zh": "查看每轮记录的文件改动、检查结果及其证据。"
},
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/9a2abb24114d2b073c45bda82848e1cefeea10c0/docs/TURN_RESULTS.md"
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/27a409937d7431ffb2b5760feeef46ccf35eecab/docs/TURN_RESULTS.md"
},
{
"title": {
@@ -61,7 +61,7 @@
"en": "Explore the refined composer controls and feedback.",
"zh": "探索优化后的输入栏控件和反馈。"
},
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/9a2abb24114d2b073c45bda82848e1cefeea10c0/docs/COMPOSER_CONTROLS.md"
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/27a409937d7431ffb2b5760feeef46ccf35eecab/docs/COMPOSER_CONTROLS.md"
},
{
"title": {
@@ -72,7 +72,7 @@
"en": "Learn about skill tool reference diagnostics.",
"zh": "了解技能工具引用诊断。"
},
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/9a2abb24114d2b073c45bda82848e1cefeea10c0/docs/CAPABILITY_DIAGNOSTICS.md"
"href": "https://github.com/esengine/DeepSeek-Reasonix/blob/27a409937d7431ffb2b5760feeef46ccf35eecab/docs/CAPABILITY_DIAGNOSTICS.md"
}
],
"highlights": [
@@ -167,6 +167,23 @@
}
],
"fixed": [
{
"targets": [
"desktop",
"cli"
],
"title": {
"en": "Finish inbox scans before retiring a session runtime",
"zh": "会话运行时退出前完成收件箱扫描"
},
"body": {
"en": "Closing or replacing a session runtime waits for its autonomous inbox scan to finish. Model refresh can still retire its own runtime safely before the next queued request starts.",
"zh": "关闭或替换会话运行时时,会先等待自动收件箱扫描结束。模型刷新仍可在下一条排队请求启动前安全替换当前运行时。"
},
"refs": [
9978
]
},
{
"targets": [
"desktop",