Релиз открытой библиотеки и консольной утилиты jq 1.8.0, предназначенных для обработки данных в формате JSON
Состоялся релиз открытой библиотеки и консольной утилиты jq 1.8.0, предназначенных для обработки данных в формате JSON с использованием встроенного сверхвысокоуровневого функционального языка программирования. Исходный код проекта написан на языке C и опубликован на GitHub под лицензией MIT. Предыдущая стабильная версия решения вышла в декабре 2023 года.
Для регулярных выражений в проекте опционально может использоваться библиотека Oniguruma. С 24 апреля 2025 года объявлено о прекращении работы над проектом и переводе в архив репозитория на GitHub библиотеки регулярных выражений Oniguruma.
Начиная с этого выпуска утилиты jq, шаблон нумерации версий изменён на X.Y.Z.
Основные изменения и дополнения в jq 1.8.0:
Исправления ошибок безопасности:
CVE-2024-23337: исправлено целочисленное переполнение в функциях jvp_array_write и jvp_object_rehash. Теперь максимальный размер массивов и объектов установлен в 536870912 (2^29) элементов;
CVE-2024-53427: исправлен парсинг значений вида NaNчисло, например NaN1, NaN10 и т. п. Другие расширения JSON (подобные NaN, Infinity) остаются поддерживаемыми;
CVE-2025-48060: исправлено переполнение буфера в функции jv_string_vfmt;
исправлено использование неинициализированного значения в функции check_literal;
исправлено падение в функциях strftime и strflocaltime;
исправлено необработанное целочисленное переполнение в функции @base64d.
Изменения в консольной утилите:
исправлено поведение ключа --indent 0, ранее неявно включавшего режим --compact-output;
улучшены сообщения об ошибках парсинга;
улучшена обработка длинных значений переменной среды JQ_COLORS, таких как truecolor;
исправлено поведение --slurp --stream, когда входные данные не содержат завершающего символа новой строки;
исправлена обработка
Читать на habr.com