Skip to content

v1.0.32

Choose a tag to compare

@bcblr1993 bcblr1993 released this 28 Sep 12:18
· 262 commits to main since this release

v1.0.32 发布说明

2026-09-28,完成长连接空闲复用优化(Keep-Alive 60s 断开根因修复)、Tracked Stream 释放竞态修复、TUN 模式热重载 Fake-IP 缓存继承修复、Root 权限网络扩展诊断日志级别透传、数据面 30 秒采样遥测、Tart 虚拟机 macos27 6 维矩阵验收与空闲复用门禁、物理真机全矩阵回归验证:

核心优化与演进落地:

  1. 长连接空闲复用机制重构(Core/Engine Dispatcher):

    • TUN 与本地 HTTP/SOCKS 流量此前沿用上游 Relay 策略,导致静默 60 秒后连接被单方面断开;对于使用连接池的客户端(如 Claude Desktop / Claude Code),复用已关闭连接会触发 ECONNRESET 异常;
    • 调整本地客户端入站保持策略,与透明代理对齐,由底层 TCP Keep-Alive 栈负责死亡对端回收,保持客户端空闲池可用性。
  2. Tracked Stream 关闭竞态 Panic 消除(Core/Engine Tracked Stream):

    • 修复在连接管理器已关闭连接后,被追踪的流仍继续轮询已完成关闭通知的问题,彻底消除连接析构竞争异常。
  3. TUN 热重载 Fake-IP 缓存保护(Core/Engine Configuration Reload):

    • 修复在 TUN 模式下动态重载配置或自定义分流规则时,重载快照未正确传递 Fake-IP 缓存密钥导致键长检查失败、连接假死的问题;重载快照现完全继承启动快照密钥。
  4. 网络扩展诊断日志级别透传(Network Extensions Launch Snapshot):

    • 由于两个 Network System Extensions 均以 root 权限运行,无法读取用户 App Group 容器内的级别文件;主程序现通过启动快照(Launch Snapshot)显式传递诊断级别。
  5. 数据面低侵入遥测采样(Packet Tunnel Data-Plane Telemetry):

    • 在标准诊断级别下,Packet Tunnel 扩展每 30 秒记录一行运行时数据面指标(连接数、流量统计、TCP 连接错误、Fake-IP 映射/反查失败计数、网络重置数、内存开销及句柄占用);在 Verbose 级别下附带当前活动连接与代理链细节。
  6. 长连接空闲复用验收门禁落地(scripts/test_idle_keepalive_reuse.sh):

    • 新增专用门禁脚本,针对真实 TLS 连接在静默 50 秒后再次发送请求,断言连接正常复用(避免被中间 Relay 截断);已纳入虚拟机矩阵与物理机测试标准。
  7. 版本号推进与项目规范对齐(project.yml、CHANGELOG.md):

    • 版本号推进至 MARKETING_VERSION: "1.0.32", CURRENT_PROJECT_VERSION: "2026092801"。

监控与环境自动化验证结论:

  1. 本地回归测试套件 100% 通过:

    • scripts/test_network_switch_gate.py: 3/3 passed (OK)
    • Tests/EngineReconnect/run.sh: PASSED
    • Tests/RuntimeEnvironment/run.sh: PASSED
    • ./scripts/test.sh: PASSED (所有单元测试、跨协议用例、内存与句柄测试全部通过)
  2. Tart 虚拟机矩阵验收(macos27):

    • 6 维网络矩阵(TUN / 透明代理 × Rule / Global / Direct)验收 100% 通过(6 passed, 0 failed);
    • 包含 TUN 与透明代理空闲 Keep-Alive 复用门禁验证;
    • 测试完成后虚拟机内的候选包、临时目录及相关日志已按 SOP 彻底清理。
  3. 物理真实设备实机 6 维网络矩阵验收(Apple Silicon Mac mini chenxu@100.64.0.3):

    • 运行 test_remote_arm64.sh fast,全量测试套件通过;
    • 在物理真机上执行 test_idle_keepalive_reuse.sh(50 秒空闲复用),输出 both requests answered after 50s idle,exit code 0 通过。
  4. 核心静态库与协议矩阵验证:

    • scripts/verify_protocol_matrix.sh 与 scripts/verify_licenses.sh source 验证通过;
    • Normal Variant 核心静态库校验哈希与 Config/ProtocolCoreEvidence.json 完全吻合。

正式发布规范执行核验:

  1. 采用标准生产核心(Normal Core Variant),完全剥离 QA 自动化测试标记;
  2. 主程序(com.aetherroute.desktop)及网络扩展(com.aetherroute.desktop.tunnel、com.aetherroute.desktop.transparent-proxy)均采用 Developer ID 签名与 Hardened Runtime;
  3. 提交 Apple Notarization 官方公证并完成双重票据装订(Stapled App + Stapled DMG);
  4. Sparkle 自动更新清单采用官方专用 Ed25519 密钥签名并经反向验签断言通过;
  5. 磁盘镜像挂载检验通过,确认无任何测试说明文件,卷标为 AetherRoute 1.0.32。