Вихід Brotli 1.2: важливе оновлення для стиснення даних

Вихід Brotli 1.2: важливе оновлення для стиснення даних

Після двох років розробки, Google представила Brotli 1.2, суттєве оновлення для власної бібліотеки стиснення з відкритим кодом. Ця бібліотека використовуються в Linux-системах, веб-серверах та браузерах. Предыдущая версія 1.1 була випущена у серпні 2023 року, тому це оновлення стало давно очікуваним для одного з найефективніших інструментів стиснення в сучасному обчисленні.

Покращення безпеки в Brotli 1.2

У сфері безпеки Python-біндинги реалізували новий метод Decompressor::can_accept_more_data та необов’язковий параметр output_buffer_limit у Decompressor::process. Це допоможе зменшити ризики у ситуаціях, коли ненадійний вхід може призвести до несподівано великого розміру розпакованого виходу.

Покращення продуктивності Brotli 1.2

З точки зору продуктивності, кодувальник та декодувальник тепер є статично ініціалізованими. Це зменшує розмір бінарних файлів і покращує час завантаження. Саме кодування стало швидшим, що робить Brotli ще привабливішим для завдань стиснення веб-ресурсів і системного рівня.

Нові функції в Brotli 1.2

В оновленні також присутні:

  • Новий декодувальник на основі Kotlin для додатків, що працюють на JVM.
  • Командний рядок brcat, що полегшує декодування конкатенованих потоків Brotli.
  • Підтримка CGo для “сирих” словників, що поліпшує інтеграцію з C-додатками.
  • Оновлені модулі збірки Bazel і встановлені сторінки man для покращення підтримки та документації.

Оптимізація та очищення в Brotli 1.2

У процесі оптимізації Brotli 1.2 було видалено застаріле використання finalize() у Java-біндингах. Також виправлено проблему з довжиною кодування в Java-компресорі. Система збірки була вдосконалена завдяки зв’язкам pkg-config та сучасним Python-розширенням, які підтримують багатофазну ініціалізацію модуля.

Для отримання докладнішої інформації, подивіться журнал змін.