В конце октября 2025 года вышла версия открытого проекта Brotli 1.2 от команды Google. Это универсальный алгоритм сжатия без потерь. Предыдущий стабильный релиз решения состоялся в августе 2023 года. Исходный код проекта написан на TypeScript и C и опубликован на GitHub под лицензией MIT.
Brotli сжимает данные с помощью комбинации современного варианта алгоритма LZ77, кодирования Хаффмана и моделирования контекста второго порядка, с коэффициентом сжатия, сопоставимым с лучшими из доступных в настоящее время универсальных методов сжатия. По скорости решение схоже с deflate, но обеспечивает более плотное сжатие. Спецификация формата Brotli определена в RFC 7932. Также в рамках проекта предоставляются биндинги для C#, Go, Java, JavaScript и Python.
Основные изменения и дополнения в Brotli 1.2:
в кодер и декодер добавлена статическая инициализация для уменьшения размера двоичного файла;
увеличена скорость кодирования;
в кодере и декодере статические таблицы используют «малую» модель, что позволяет использовать двоичные файлы размером более 2 ГБ;
в консольном псевдониме brcat разрешено декодирование сцепленных потоков brotli;
cgo: поддержка «сырых» словарей;
cgo: линковка через pkg‑config;
Java: декодер на Kotlin;
Java: удалена finalize() для нативных сущностей;
Java: исправлена передача неправильной длины в нативный кодер при сжатии;
Python: добавлен метод Decompressor::can_accept_more_data и опциональный аргумент output_buffer_limit Decompressor::process, что позволяет смягчить последствия неожиданно большого вывода;
Python: разрешено ограничение вывода декодера;
Python: разрешена многоэтапная инициализация модулей;
улучшена инсталляция страниц man;
различные улучшения для системы сборки Bazel.
Источник: habr.com
 
					