v2.1.21
变更说明
本版本修复大规模或长时间扫描过程中结果持续驻留内存的问题,并补充扫描器的资源保护与请求边界,提升连续扫描的稳定性。
- GitHub、GitLab、Postman、Sourcegraph 改为按页/按事件处理并及时落库,避免一次性保留完整结果集
- 限制 GitHub 扫描日志中的仓库摘要和 Postman 去重集合,防止日志或去重状态无限增长
- 为 GitLab、DNS 查询增加请求超时边界
- 移除固定的 provider 30 分钟 watchdog,保留心跳并允许慢任务正常完成
- scanner 容器默认增加
GOMEMLIMIT、CPU、内存和进程数限制,并在异常退出后自动重启 - 增加对应的单元测试和 Docker 部署说明
- 无 SQL 文件或数据库结构变更,已有部署无需执行数据库升级语句
关联 PR:#344
What's Changed
This release improves scanner stability during large or long-running scans by bounding retained memory and adding request/resource guardrails.
- Stream GitHub, GitLab, Postman, and Sourcegraph results and persist them incrementally instead of retaining complete result sets
- Bound GitHub repository summaries and Postman deduplication state
- Add request timeouts for GitLab and DNS lookups
- Remove the fixed 30-minute provider watchdog while keeping scan heartbeats, allowing slow providers to finish normally
- Add scanner container memory, CPU, process, and Go runtime limits, with automatic restart on abnormal exit
- Add unit coverage and Docker deployment guidance
- No SQL files or database schema changes are included; existing deployments require no database migration
Related PR: #344
完整变更 / Full Changelog: v2.1.20...v2.1.21