Repository navigation
v2.0.7
AetherRoute 2.0.7
基于本机连续 8.5 小时(30 秒/次,共 1,020 个采样点)的全量运行时遥测监控分析,修复主进程 CGFontCache 滚动数字字形缓存内存泄漏、Fake-IP 二级历史反向映射丢失与 HTTP/MMTLS Host 自愈、Tunnel 启动阶段 CoreFoundation 备份排除通知风暴,以及窗口启动阶段 AppKit 布局重入告警。适用于 macOS 15 及以上、Apple Silicon。
更新
- 主进程
CGFontCache内存泄漏治理(P1):AetherNumericValueModifier由.contentTransition(.numericText)改为.contentTransition(.identity),消除连接数徽章、节点延迟与 DNS 统计在动态刷新时向CGFontCache持续累积可变字体CGFont实例导致的174 MB -> 378 MB锯齿形内存上涨;同时在AETHERROUTE_UI_REVIEW_LIVE=1压测夹具中注入每秒动态跳动的连接数,补齐门禁覆盖。 - Fake-IP 二级反向映射保持与 HTTP/MMTLS Host 自愈(P2):当域名已存在较新主正向 Fake-IP 时,
FakeDns::restore_if_unmapped与EncryptedFileStore仍允许恢复并持久化旧 Fake-IP 的二级反向映射且不覆盖主正向映射;Dispatcher新增sniff_client_hello_or_http_host,在 443 与 80 端口同时支持从 TLS ClientHello SNI 与 HTTP/MMTLSHost:请求头恢复域名并自愈未映射 Fake-IP。 - Tunnel 启动通知风暴与运行时文件覆写优化(P2):跳过临时
.staging目录的 Time Machine 备份排除属性设置,正式目录设置前先通过getxattr检查com_apple_backup_excludeItem短路,并在writeProtected中对内容未变的运行时文件保持原 inode,消除启动瞬间182.8 notifications/sec的通知风暴。 - 窗口启动 AppKit 布局递归消除(P2):
WindowChromeView通过scheduleApplyWindowChrome()合并并推迟窗口与工具栏样式更新至下一主线程 RunLoop 周期,避免在NSWindow.layoutIfNeeded()期间同步修改触发_NSDetectedLayoutRecursion。 - Core 与 App 实时物理内存遥测:新增
ProcessMemoryFootprint(MachTASK_VM_INFOphys_footprint)与TrafficHistory双轨内存采样,在菜单栏弹窗、概览页和连接页状态栏实时展示内核与宿主应用的物理内存占用及曲线。
验证
- 测试先行(TDD):新增 3 项 Rust 核心测试、1 项
RoutingResourceStoreTests测试及 3 项静态与观测范围门禁,均在旧代码上复现失败并在新代码上通过。 - 本机
test_fast_lane.sh(15 步)与完整scripts/test.sh(820 项单元与桥接测试 + 全部脚本门禁)零警告通过。 - 默认与 Chrome 指纹 12 协议互通门禁各 68 项矩阵用例通过、34 次预期证书拒绝;9 个真实站点(含 Google/YouTube ALPS 与 Cloudflare ECH)及 Mac mini 43 节点 Mihomo 实网对照全部通过(
both_ok=43)。 - Mac mini 真机两档各 300 秒 UI 性能与内存预算门禁(含动态跳动连接数)通过:
showcase切页 p95/max152.2 / 199.2 ms、内存中位数/峰值68 / 81 MB、后半程增长-0 MB;large切页 p95/max148.4 / 207.5 ms、内存中位数/峰值67 / 83 MB、后半程增长+2 MB。 - 正式包完成 Developer ID 签名、Apple 公证、装订和 Sparkle 更新签名验证。
完整验收与边界说明。