Skip to content

v3.3.1

Choose a tag to compare

@larsonzh larsonzh released this 25 Aug 02:16
· 50 commits to master since this release

whois v3.3.1

本次版本在 v3.3.0 之上完成条件输出观测与批量统计增强、fold 性能优化及发布工具首批收口,继续保持 BusyBox 管道输出契约稳定。
This release builds on v3.3.0 with conditional-output observability and batch statistics, a fold performance optimization, and first-slice release-tooling closure, while keeping the BusyBox-friendly output contract stable.

中文概要:

  • 条件输出与观测增强:新增 --no-body(仅抑制正文)、--print-meta(逐查询 k=v 元信息)、--print-chain(有序逻辑 hop)与 --pick(标题字段精确抽取);处理顺序冻结 title → grep → pick → fold/body,观测顺序 pick → chain → meta,输出契约与退出码不变。
  • 批量统计 --stats:批量模式 stdout 尾部固定 18 字段汇总,覆盖 total/success/error、lookup/rejected/internal 错误分类、固定 RIR 桶与精确 nearest-rank p50/p95;仅批量可用,1,000,000 项上限,超限/失败/SIGINT 不输出部分汇总。
  • fold 性能与正确性:append_token_with_format 由逐字节 workbuf reserve 改为逐 token 严格上界预留,reserve 从 1,417,000/1,420,000 降至 26,000/29,000,stress median 提升 3.9%~55.1%;同时修复 workbuf 扩容后读取旧 token 指针的 fold-unique heap-use-after-free。
  • 发布工具首批收口:一键发布顺序冻结为 build/verify → statics 同步与提交 → tag → release;目标 tag 缺失时通过进程环境强制远程构建版本,GitHub/Gitee token 不再拼入或回显命令文本,dry-run smoke 断言发布顺序、强制版本、token 内联风险与九架构加校验集合。
  • 质量工程:WP-02 离线 46 场景三架构(win64、linux x86_64、linux aarch64 QEMU)冻结 stdout SHA 基准;WP-01 injection-view-fallback standalone selftest 反向断言修复(生产查询逻辑与输出契约不变)。
  • 验证(2026-08-24,WP 阶段):三架构 46/46 冻结矩阵、ASan/UBSan stress、最终 Strict lto-auto 九架构零编译/LTO 告警、Golden、IANA/ARIN/AFRINIC 三起点 referral、Linux/QEMU/win32/win64 smoke 18/3/3 与三目录 9/9 SHA 全通过(out/artifacts/20260824-205103,311s);3.3.1 正式发布候选验证与 tag 指向演练随 WP-01 one-click 预发布窗口完成。

English summary:

  • Conditional-output and observability enhancements: adds --no-body (body suppression only), --print-meta (per-query k=v metadata), --print-chain (ordered logical hops), and --pick (exact header-field extraction); the processing order is frozen as title → grep → pick → fold/body, observations are ordered pick → chain → meta, and the output contract and exit codes stay unchanged.
  • Batch statistics --stats: a fixed 18-field stdout summary after all batch records covering total/success/error, lookup/rejected/internal error classes, fixed RIR buckets, and exact nearest-rank p50/p95; batch-only, capped at 1,000,000 inputs, with no partial summary on overflow, failure, or SIGINT.
  • Fold performance and correctness: append_token_with_format now reserves workbuf capacity once per token using a strict upper bound instead of per output byte, cutting reserves from 1,417,000/1,420,000 to 26,000/29,000 with stress medians improving 3.9%–55.1%; it also fixes a fold-unique heap-use-after-free caused by stale token pointers after workbuf growth.
  • Release-tooling closure, first slice: one-click release is frozen as build/verify → statics sync/commit → tag → release; an absent target tag forces the remote build version through the process environment, GitHub/Gitee tokens are no longer embedded in or echoed from the command text, and the dry-run smoke asserts ordering, forced version, inline-token risk, and the nine-architecture-plus-checksum asset set.
  • Quality engineering: WP-02 adds a 46-case three-architecture (win64, linux x86_64, linux aarch64 QEMU) frozen-stdout-SHA baseline; WP-01 fixes the injection-view-fallback standalone selftest assertion without changing production query logic or the output contract.
  • Verification (2026-08-24, WP phase): the 46/46 frozen matrices on three architectures, ASan/UBSan stress, the final Strict lto-auto nine-architecture builds with zero compile/LTO diagnostics, Golden, IANA/ARIN/AFRINIC referral starts, Linux/QEMU/win32/win64 smoke at 18/3/3, and 9/9 SHA-256 across three directories all pass (out/artifacts/20260824-205103, 311s); the formal 3.3.1 release-candidate verification and tag-pointing rehearsal will complete in the WP-01 one-click prerelease window.

下载 / Downloads