Skip to content

Release v0.3.7: 死代码误报修复与系统性性能优化

Choose a tag to compare

@github-actions github-actions released this 20 Jul 15:41
· 182 commits to main since this release

v0.3.7 重点消除死代码分析误报,并完成一轮系统性性能优化(C1–C9、T182–T206)。实际变更提交 29 个(已排除 merge、版本号 bump 与 CI/release 自动化提交;compare 共 30 commits)。注意:v0.3.6 的 Release 发布时间晚于 v0.3.7,但其 tag 指向的提交位于 v0.3.5 与 v0.3.7 之间,故本范围涵盖 v0.3.6 补丁内容与本版本自身的构建修复。

新增

  • 死代码分析:B7 识别 pub use 再导出(89b097e6ce)。
  • LSP:C9 新增 references 方法,带 5 分钟 LRU 缓存,适配 RustAnalyzer / Pyright / Clangd(08f2dc1bc7)。
  • 索引:T206 以 BLAKE3 取代 SHA-256,哈希速度提升 5–10 倍(43c94e7d6d)。

修复

  • 死代码误报:Phase B 在 CalNexus 上消除 100% 误报(05d7d4a54d);T182 消除宏合成入口点导致的误报(27142ac2f6)。
  • 确定性与正确性:B12 消除 HashMap 迭代导致的索引非确定性(69ead3f651);daemon C6 修正 EMA 输入方向(高频延长、低频收缩窗口)(cd1fc381fa);index T206 规范化 rootPath 修复失效检测(2aaf18be64);测试模块补 import MAX_SUBGRAPH_NODES(aba8e6764f)。
  • 构建:链接 libgcc 解决 mold 下 __cpu_model 链接失败(5de82fcb4a)。
  • 代码质量:清理 8 个既有 clippy 警告(T200,97ba1f75ee);LSP doctest 导入路径改用公共再导出(ce939ec277)。

变更

  • 分析:批量预取消除 N+1 查询并做 DRY 重构(ee398a6e71)。
  • trace:bfs 与 call_graph 共享 path_set,消除重复扩展(83e91820cb)。
  • community:C3 Louvain 算法升级为 Leiden(005375195e)。
  • query:C4 BM25 升级为 BM25F,支持字段加权评分(f3a5ba27c8)。
  • resolve:C8 为 ScopeChain 增加 HashMap 索引,实现 O(1) 查找(9a7e67f80f)。
  • index:C5 以 FastCDC 内容定义分块取代整文件处理(3683bc0546)。
  • daemon / parse:C6 基于事件间隔 EMA 的自适应防抖窗口(1c003fe677);C1 在 daemon 中启用 tree-sitter 增量解析(08db9ed68e);T206 提取 TreeCache 并限制增量解析大小(c1128e5c22)。
  • LSP:T206 为 references_cache 增加 by_uri 反向索引(8bddab2287)。
  • 结构:dead_code.rs 拆分为 mod.rs + tests.rs(6e78e9248a)。
  • 依赖:升级 lsp-server / rmcp / uuid / signal-hook 并迁移到 lsp-server 0.10 API(5636373bf7);移除 rmcp/clap 直接依赖,改用 sdforge 再导出(266acd1b21)。

维护

  • CI:cargo-audit hook 在网络失败时回退到本地 advisory-db(35b02314a8)。
  • 测试:daemon_hot_update 集成测试用轮询替代 sleep(2186e579df)。
  • 文档:T190–T194 同步 README 与 specmark 规格(05a36587f4);BatchPrefetch 往返数值补充 doc 注释(eb74731a1e)。

Full Changelog: v0.3.5...v0.3.7