curl 創始人及核心維護者 Daniel Stenberg 發佈了關於 curl 項目的 2025 年總結。
翻譯如下:
讓我們回顧一下,記住這一年都帶來了些什麼。
提交(commits)
今年 curl 的提交次數超過 3,400 次,比此前任何單一年份都多出 40%。
在 2025 年的某個時間點之後,項目中所有其他作者累計為 curl 倉庫添加的代碼行數已經超過了我個人的貢獻。這意味着,在 curl 倉庫歷史上新增的所有代碼行中,我所貢獻的比例已經低於一半。
今年我們合併的提交來自 150 多位貢獻者,其中將近 100 人是首次貢獻。共有 13 位作者在一年內提交了 10 次或以上。
Viktor Szakats 在 2025 年幾乎每個月都是提交次數最多的作者。
Stefan Eissing 目前是 29% 產品源代碼行的最近一次提交者,而我所佔的比例是 36%。
目前仍然有約 598 位作者的代碼貢獻“保留”在產品代碼中,這一數字相比去年年底的 635 人有所下降。
測試(tests)
與去年 12 月相比,今年年底我們新增了 232 個測試用例,總數達到 2,179 個。歷史上第一次,平均每千行產品源代碼對應的測試用例數量超過了 12 個。
(當然,用測試用例數量來衡量並不嚴謹,因為單個測試可能規模、複雜度差異很大,但這是我們目前唯一可統計的指標。)
發佈(releases)
今年共發佈了 8 個版本,屬於比較正常的節奏:
-
8.12.0
-
8.12.1
-
8.13.0
-
8.14.0
-
8.14.1
-
8.15.0
-
8.16.0
-
8.17.0
在重大功能或架構變革方面,今年並沒有發生革命性的變化。
我們大幅降低了源代碼複雜度,停止使用了一些經常導致錯誤或混亂的函數,提升了性能,同時減少了內存分配次數。
我們還新增了對 DNS 記錄 HTTPS-RR 的實驗性支持。
在年底,修復漏洞的頻率創下新高,僅 curl 8.17.0 一個版本就包含了將近 450 個漏洞修復。
今年我們開始引入“候選發佈版”(Release Candidate)。在每次正式發佈前,都會上傳一系列候選版本,供社區測試接近最終形態的版本。這有助於在正式發佈前發現並修復迴歸問題,而不是在發佈之後再處理。
命令行選項
截至年底,curl 的命令行選項數量比去年多了 6 個,總數達到 273 個:
-
8.17.0:
-knownhosts -
8.16.0:
-out-null
-parallel-max-host
-follow -
8.14.0:
-sigalgs -
8.13.0:
-upload-flags -
8.12.0:
-ssl-sessions
man 手冊頁
curl 的 man 手冊繼續增長,相比去年增加了 500 多行,總行數達到 7,090 行。按“每個命令行選項對應的手冊行數”來算,這一指標從 24.7 提升到了 26。
代碼行數
這一年 libcurl 僅增加了約 100 行代碼,而命令行工具部分增加了 1,150 行。
目前 libcurl 的代碼量略高於 149,000 行,命令行工具約為 25,800 行。
大多數提交都用於改進現有產品,而不是擴展功能,這一點在下面的“移除支持”部分也有所體現。
QUIC
今年 OpenSSL 終於引入併發布了可供 QUIC 協議棧使用的官方 API,從 3.5 版本開始支持。
基於這一變化,curl 中的 OpenSSL QUIC 協議棧已被標記為棄用,並計劃在明年年初移除。
同時,由於我們在 2025 年移除了 msh3 支持,預計到 2026 年,curl 只會保留兩個 QUIC / HTTP/3 後端實現。
安全(Security)
今年,針對 curl 的“AI 生成垃圾安全報告”數量大幅激增,給 curl 安全團隊帶來了額外負擔,也使我們頻繁出現在媒體報道中。
即便是不明顯依賴 AI 的安全報告,其質量也顯著下降,同時數量大幅增加,進一步加重了整體維護壓力。
2025 年我們共發佈了 9 個 curl 相關 CVE,嚴重程度均為低或中等。
AI 改進
新一代 AI 驅動的高質量代碼分析工具開始向我們提交缺陷報告,主要來自 ZeroPath 和 Aisle Research。基於這些報告,我們已經修復了數百個漏洞,而且這一過程仍在持續。
這還不包括我們常規運行的代碼分析工具所發現的問題,這些問題同樣都會被修復。
Web 流量
到 2025 年年底,curl.se 每月傳輸的數據量達到 79 TB,相比去年同期的 58 TB 增長了 36%。
由於缺乏日誌和詳細分析,我們無法完全確認這些流量的具體來源,但可以確定,真正用於下載 curl 的流量只佔極小一部分,其中相當多並非人類行為驅動。
GitHub 活動
curl 的 GitHub 倉庫平均每個月都會收到 200 多個拉取請求。
在秋季的某個短暫時刻,未關閉的 issue 數量一度降為零。
目前我們擁有 220 多個獨立的 CI 任務,在年底每天累計消耗超過 25 個 CPU 日,用於驗證持續進行的代碼變更。
儀表盤(Dashboard)
curl 儀表盤規模顯著擴大。雖然我移除了一些已不再準確的圖表,但總體數量仍從 2024 年 12 月的 82 張增長到 2025 年 12 月的 92 張插圖,總計 259 個獨立圖表,增長約 25%。
移除的支持(Dropped support)
今年我們移除了一些老舊或遺留組件,以減少負擔、聚焦重點,並確保 curl 的整體安全性:
-
Visual Studio 2005 及更早版本支持(8.13.0 移除)
-
Secure Transport(8.15.0 移除)
-
BearSSL(8.15.0 移除)
-
msh3(8.16.0 移除)
-
winbuild 構建系統(8.17.0 移除)
詳情查看原文:https://daniel.haxx.se/blog/2025/12/23/a-curl-2025-review/