让我们回顾一下,看看今年都发生了哪些事情。
提交
今年我们在 curl 中提交了超过 3400 次代码,比以往任何一年都增加了 40%!
自 2025 年某个时候起,项目中所有其他作者向 curl 代码库添加的代码行总数都超过了我。这意味着,在 curl 代码库所有已添加的代码行中,我添加的行数还不到一半。
一年内,我们合并了超过 150 位用户的提交。其中近百位是首次提交。有 13 位用户提交了十次或更多次的提交。
2025 年,Viktor Szakats 在几乎所有月份的提交次数都位居榜首。
Stefan Eissing 已经完成了 29% 的产品源代码行的最新提交,而我的份额为 36%。
约有 598 位作者的贡献仍然“保留”在产品代码中。这一数字低于去年年底的 635 位。
测试
与去年 12 月相比,今年年底我们增加了 232 个测试用例(现在共有 2179 个独立的测试用例),并且有史以来第一次,我们每千行产品源代码的测试用例超过了 12 个。
(当然,统计测试用例数量相当没意义也很奇怪,因为单个测试用例可能很小也可能很大,很简单也可能很复杂等等,但这是我们目前唯一能统计的数量。)
发布
我们全年发行了八张专辑,这个数量相当平均:
- 8.12.0
- 8.12.1
- 8.13.0
- 8.14.0
- 8.14.1
- 8.15.0
- 8.16.0
- 8.17.0
今年在重大功能或变化方面并没有发生什么重大变革。
我们大幅降低了源代码的复杂度。我们停用了一些我们认为经常导致错误或混淆的函数。我们提高了性能。我们减少了内存分配的数量。
我们添加了对HTTPS-RR (DNS 记录)的实验性支持。
在年底,curl 8.17.0 版本发布了近 450 个错误修复程序,错误修复频率创下新纪录。
今年我们开始发布候选版本。每次正式发布前,我们都会上传一系列候选版本,以便大家能够帮助我们测试接近最终版本的功能。这有助于我们在最终发布前发现并修复回归问题,而不是在发布后立即修复。
命令行选项
今年年底,curl 命令行选项比去年除夕夜增加了 6 个;现在总共有 273 个。
| 8.17.0 | –已知主机 |
| 8.16.0 | –out-null –parallel-max-host -跟随 |
| 8.14.0 | –信号 |
| 8.13.0 | –上传标志 |
| 8.12.0 | –ssl-sessions |
手册页
curl 手册页持续增长;与去年以来,现在增加了 500 多行(7090 行),这意味着即使按命令行选项计算手册页行数,也从 24.7 增加到 26。
代码行数
libcurl 一年内仅增加了 100 行代码,而命令行工具却增加了 1150 行新代码。
libcurl 库现在已有超过 149,000 行代码。命令行工具则有 25,800 行代码。
大部分提交显然都用于改进产品,而不是扩展产品。另请参阅下文“已停止支持”部分。
QUIC
今年,OpenSSL 终于推出并发布了一个 API,允许 QUIC 协议栈使用原生 OpenSSL,从 3.5 版本开始。
因此,curl 已将 OpenSSL QUIC 堆栈的使用标记为已弃用,并计划于明年初移除。
由于我们在 2025 年也移除了 msh3 支持,我们预计到 2026 年 curl 将只支持 QUIC 和 HTTP/3 两种后端。
安全
今年,关于 curl 的AI 安全漏洞报告数量激增,curl 安全团队因此承受了巨大的额外压力。也正因如此,我们今年多次被媒体报道。
那些并非明显由人工智能生成的报告,其质量也显著下降,而报告总数却大幅增加,这无疑加重了我们的工作负担。
我们在 2025 年发布了9 个 curl CVE ,所有严重程度均为低或中等。
人工智能改进
一批新型的、由人工智能驱动的高质量代码分析器,主要是 ZeroPath 和 Aisle Research,开始向我们提交大量包含潜在缺陷的错误报告。到目前为止,我们已经根据这些报告修复了数百个错误。
除了我们常规运行的代码分析器之外,我们还会对代码进行额外的分析,当然,我们也会修复这些分析器报告的缺陷。
网络流量
预计到 2025 年底,curl.se 每月数据传输量将达到 79 TB,比去年同期的 58 TB 增长 36%。
我们没有日志或分析数据,所以无法确定这些流量的具体来源,但我们知道其中只有极小一部分是真正的 curl 下载。显然,这其中很大一部分流量并非人为驱动。
GitHub 活动
curl 的 GitHub 代码库中每月都会收到超过 200 个 pull request。
秋季期间,我们曾短暂地实现了零未解决问题。
我们有超过 220 个独立的 CI 作业,到年底时,每天要花费超过 25 个 CPU 天来验证我们正在进行的更改。
仪表板
curl 控制面板扩展了很多。我删除了一些不再准确的图表,但总体变化仍然是,图表数量从 2024 年 12 月的 82 个增加到 2025 年 12 月的 92 个独立图表。现在共有 259 个独立图表(+25)。
停止支持
今年我们从项目中移除了旧的/遗留的东西,目的是消除落后因素,专注于重要的事情,并确保 curl 的所有功能都是安全的。
- 支持 Visual Studio 2005 及更早版本(已在 8.13.0 版本中移除)
- 安全传输(已在 8.15.0 版本中移除)
- BearSSL(已在 8.15.0 版本中移除)
- msh3(已在 8.16.0 版本中移除)
- winbuild 构建系统(已在 8.17.0 版本中移除)
奖项
从这个角度来看,那一年也是疯狂的一年,我荣幸地获得了以下荣誉:
今年我还退出了微软MVP计划,我于2024年10月被该计划录取。
会议/演讲
我参加了这八场会议,并在五个国家发表了演讲。我的演讲内容总是与 Curl 技术相关。
- FOSDEM
- 福斯北
- 蜷缩
- 开放基础设施论坛
- 编程的乐趣
- FrOSCon
- 欧洲开源峰会
- 欧洲BSD大会
播客
我今年参与了这些播客节目的录制,内容都与 Curl 相关。
- 安全周刊
- 开源安全
- 第二天 DevOps
- Netstack.FM
- 软件工程广播
- OsProgrammadores
原文: https://daniel.haxx.se/blog/2025/12/23/a-curl-2025-review/