Repository navigation
Release v0.3.7: 死代码误报修复与系统性性能优化
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);测试模块补 importMAX_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