10 сентября 2025 года состоялся релиз утилиты curl 8.16. Код проекта написан на языке C опубликован на GitHub под открытой лицензией curl (вариант лицензии MIT). Выпуск curl 8.0 состоялся в марте 2024 года.
Утилита curl предлагает возможность гибкого формирования сетевого запроса с заданием параметров cookie, user_agent, referer и любых других заголовков для HTTP/HTTPS. Помимо HTTPS, HTTP/1.x, HTTP/2.0 и HTTP/3 она поддерживает отправку запросов с использованием SMTP, IMAP, POP3, SSH, Telnet, FTP, SFTP, SMB, LDAP, RTSP, RTMP и других сетевых протоколов. Одновременно развивается библиотека libcurl, которая предоставляет API для задействования всех функций curl в программах на языках Си, Perl, PHP и Python.
В августе 2024 года автор curl Даниэль Стенберг объявил, что в открытый проект curl официально вошли наработки и разработчики wcurl вдобавок к trurl. Проект wcurl — это простая оболочка вокруг curl для лёгкой загрузки файлов без необходимости запоминать какие‑либо параметры.
Статистика этого релиза и всего проекта в рамках процесса разработки утилиты:
270-й релиз;
17 изменений;
56 дней разработки (всего: 10 036);
260 багов исправлено (всего: 12 538);
453 коммита (всего: 36 025);
2 новых функций public libcurl (всего: 98);
0 новых опций curl_easy_setopt() (всего: 308);
2 новых опции curl command line (всего: 272);
76 контрибуторов, 39 новых (всего: 3 499);
32 автора, 17 новых (всего: 1 410);
2 исправления безопасности (всего: 169).
Основные изменения и дополнения в curl 8.16:
исправлена ошибка CVE-2025-9086 в обработчике пути cookie, которая могла привести к сбою в работе curl и перезаписать безопасный cookie небезопасным с тем же именем, если бы все планеты случайно выстроились в правильном порядке;
исправлена ошибка CVE-2025-10148 в реализации WebSocket, из‑за которой curl неправильно обновляла маску фрейма для каждого нового исходящего фрейма;
в консольную утилиту добавлена поддержка опции ‑follow;
в консольную утилиту добавлена поддержка опции ‑out‑null;
в консольную утилиту добавлена поддержка опции ‑parallel‑max‑host для ограничения количества одновременных подключений на каждый хост;
в опциях ‑retry‑delay и ‑retry‑max‑time теперь можно задавать десятичные доли секунды;
в консольную утилиту добавлена поддержка опций вида ‑longopt=value;
опция ‑w (‑write‑out) теперь поддерживает формат%time{};
libcurl теперь кеширует неудавшиеся разрешения имён;
улучшена поддержка RFC Happy Eyeballs;
минимальная требуемая версия mbedtls повышена до 3.2.0;
в libcurl добавлена функция curl_multi_get_offt(…);
минимальная версия TLS по умолчанию повышена до 1.2;
удалена поддержка msh3;
добавлена поддержка CURLOPT_READFUNCTION для WebSocket.
Источник: habr.com